(RB-13K164)基于Intel Edison智能硬件開發(fā)套件

來自ALSROBOT WiKi
2016年5月3日 (二) 10:26Arduino77討論 | 貢獻(xiàn)的版本

跳轉(zhuǎn)至: 導(dǎo)航、 搜索

目錄

產(chǎn)品概述

Intel Edison是一款專門針對小型智能設(shè)備設(shè)計的雙核芯片,采用x86架構(gòu)處理內(nèi)核,支持Linux并能運(yùn)行復(fù)雜的高級應(yīng)用程序,可以通過WiFi和藍(lán)牙對外溝通。Intel Edison不但可以滿足電子愛好者、創(chuàng)客、開發(fā)人員的需求,同時也非常適用于學(xué)校的計算機(jī)、嵌入式硬件的教學(xué)工作。同樣的硬件設(shè)備,針對初學(xué)者可以偏重于電子電路、Arduino編程,對于中級用戶可以偏重于Python、網(wǎng)絡(luò)應(yīng)用,而對于高級用戶可以偏重于Linux操作系統(tǒng)。
盡管Intel Edison有著如此強(qiáng)大的功能,但它還是缺少一組傳感器來與你互動,奧松機(jī)器人從其所開發(fā)的上百種傳感器中精挑細(xì)選,為各位玩家收集了一些最實(shí)用也最易用的傳感器。套件中包含XBee Sensor Shield傳感器擴(kuò)展板,擴(kuò)展板不僅附帶Xbee接口、藍(lán)牙、APC220接口、SPI通信接口、外接電源口,而且3Pin的彩色排針保證接線正確,在XBee Sensor Shield傳感器擴(kuò)展板上添加傳感器就如同搭積木一般簡單,套件中的傳感器也都是使用防插反接口,可以盡量幫您避免由于插接錯誤造成的產(chǎn)品損壞,在應(yīng)用手冊中,奧松機(jī)器人為您提供了豐富的內(nèi)容,從Intel Edison初識到上手,分別介紹了Intel Edison的硬件接口、軟件架構(gòu)、如何開始使用你的Intel Edison開發(fā)板;編程語言方面,我們?yōu)槟v解了Arduino編程語言和python編程語言;例程方面,為您提供了12個精選例程,從基礎(chǔ)實(shí)驗(yàn)的數(shù)字傳感器控制、舵機(jī)控制等到互動實(shí)驗(yàn)的火焰報警器、防盜系統(tǒng)、不讓摸的傳感器等,還有擴(kuò)展部分的實(shí)驗(yàn),讓您通過網(wǎng)頁訪問Intel Edison,實(shí)現(xiàn)智能家居的制作。通過這一系列的學(xué)習(xí),您可以掌握Intel Edison的基本應(yīng)用、Arduino編程語言、Python編程語言、智能家居的入門應(yīng)用。您還在等什么?開始用Intel Edison智能硬件開發(fā)套件來實(shí)現(xiàn)您的idea吧!

Intel Edison 硬件參數(shù)

  1. 體積:35.5 * 25 * 3.9 mm
  2. 低功耗:一般情況下電流消耗不超過 200mA,WiFi傳輸數(shù)據(jù)時,尖峰電流可能達(dá)到 600mA
  3. CPU:500MHz雙核,雙線程 32bit Atom處理器,100MHz Quark 處理器
  4. 內(nèi)存:1GB LPDDR3 POP memory
  5. Flash 存儲:4GB
  6. IO:40 個 GPIO
  7. WIFI/藍(lán)牙:Broadcom BCM43340 a/b/g/n + bluetooth4.0
  8. USB:2.0 OTG * 1
  9. 輸入電壓:3.15V - 4.5V
  10. DC 接口輸入電壓: 7V - 15V 直流、內(nèi)正外負(fù)
  11. 時鐘:19.2MHz,32KHz

產(chǎn)品清單

  1. RB-01C015A Arduino XBee Sensor Shield * 1 個
  2. RB-02S005A LED發(fā)光模塊(紅色) * 1 個
  3. RB-02S032A 按壓式大按鈕模塊 * 1 個
  4. RB-02S031A 蜂鳴器發(fā)聲模塊 * 1 個
  5. RB-02S024A 旋轉(zhuǎn)角度電位計傳感器 * 1 個
  6. RB-02S084A 模擬聲音傳感器 * 1 個
  7. RB-02S025A 大功率繼電器模塊 * 1 個
  8. RB-02S019A LM35線性溫度傳感器 * 1 個
  9. RB-02S022A 火焰?zhèn)鞲衅?/a> * 1 個
  10. RB-02S081A 觸摸傳感器 * 1 個
  11. RB-02S047A 土壤濕度傳感器 * 1 個
  12. RB-02S091 高精度光線傳感器 * 1 個
  13. RB-02S017A 紅外熱釋電傳感器 * 1 個
  14. RB-02S087 振動馬達(dá)模塊 * 1 個
  15. RB-04M042 RB - 15PG 舵機(jī) * 1 個
  16. RB - 06L040 Micro USB 數(shù)據(jù)線 * 2 個
  17. RB - 10P032 12 V 1A適配器
  18. RB - 09M247 Intel Edison開發(fā)板雙色亞克力外殼
  19. RB - 12C229 單頭放插反 3P 連接線 * 10 條
  20. RB - 13K031 超大雙層元件盒 * 1 個

使用軟件下載

  • Arduino .cc 當(dāng)前最新版 IDE:Arduino 1.6.8

下載地址: http://www.arduino.cc/en/Main/Software

  • Putty 遠(yuǎn)程登錄軟件

下載地址: http://www.putty.ws/

  • FTP工具——FileZilla Client

下載地址: https://filezilla-project.org/

  • 文本編譯工具——notepad++

驅(qū)動下載安裝

下載地址: https://notepad-plus-plus.org/download/v6.8.6.html
進(jìn)入官網(wǎng),點(diǎn)擊如下所示位置,可以進(jìn)入Intel Edison使用的所有文件下載界面,注意根據(jù)您電腦的系統(tǒng)選擇相應(yīng)的版本進(jìn)行下載。

13K16402.png

Arduino 基本語言

從眨眼的LED開始

  • 【功能】

程序要實(shí)現(xiàn)的功能是外接的LED小燈點(diǎn)以一定的頻率閃爍。這個程序是學(xué)習(xí)Arduino IDE的第一步。千里之行,始于足下,讓我們開始吧!

  • 【硬件】

LED是發(fā)光二極管的英文縮寫。它可以發(fā)出不同波長的電磁波,我們的產(chǎn)品發(fā)出的紅色的可見光。

13K024A02.png

硬件連接還是比較容易的,首先把擴(kuò)展板卡合到主控板的上方,注意此連接方法是唯一的,如果位置卡合錯誤可能會造成主板損壞!

13K16403.png

要實(shí)現(xiàn)LED閃爍的效果,我們只需要LED電子模塊即可,我們看到電子模塊上帶有標(biāo)記D,說明是數(shù)字的(digital)傳感器,因此使用3P線將其連接到擴(kuò)展板。注意通常不使用D0、D1和D13。因?yàn)镈0和D1在程序上傳時不能被占用,D13內(nèi)置了1KΩ的電阻,默認(rèn)連接了板載的L小燈,常用作測試。本案例中把LED連接到D7。

13K16404.png

注意3P線的線序要和擴(kuò)展板一一對應(yīng)。為黑色對應(yīng)G(接地,GND),中間的紅色對應(yīng)V(5V電源,可用跳線帽切換為3.3V),黃色對應(yīng)信號線,可能是A或D,主要取決于電子模塊的符號是A還是D。

  • 【軟件】

打開Arduino IDE,編寫并上傳如下程序:

/***********************************************************
哈爾濱奧松機(jī)器人科技股份有限公司  RobotBase  www.robotbase.cn
目    的:  LED閃爍	
應(yīng)用硬件:  Intel Edison控制器
應(yīng)用軟件:  Arduino IDE 1.6.8
發(fā)布時間:  2016-03-23
創(chuàng) 建 人:  Neil
版 本 號:  1.0 
說    明:  若用于商業(yè)用途,請保留此段文字或注明代碼來源	
           哈爾濱奧松機(jī)器人科技有限股份公司保留所有版權(quán)   
***********************************************************/
void setup() {
  pinMode(5, OUTPUT);  // 設(shè)置D5為輸出模式,因?yàn)長ED是輸出裝置
}
void loop() {
  digitalWrite(5, LOW);  // 設(shè)置D5為低電平,LED熄滅
  delay(1000);  // 延時等待1000毫秒,即1秒鐘
  digitalWrite(5, HIGH);  // 設(shè)置D5為高電平,點(diǎn)亮LED
  delay(1000);
}
  • Python 程序

打開文本編譯工具——notepad++,編輯下列程序

'''
哈爾濱奧松機(jī)器人科技股份有限公司  RobotBase  www.robotbase.cn
目    的:  LED閃爍	
應(yīng)用硬件:  Intel Edison控制器
應(yīng)用軟件:  Python 2.7.3
發(fā)布時間:  2016-03-23
創(chuàng) 建 人:  Neil
版 本 號:  1.0 
說    明:  若用于商業(yè)用途,請保留此段文字或注明代碼來源	
           哈爾濱奧松機(jī)器人科技有限股份公司保留所有版權(quán)   
'''
import mraa     # 聲明使用的庫文件
import time     
LED_GPIO = 5  #定義LED連接引腳                  
blinkLed = mraa.Gpio(LED_GPIO)  #設(shè)置LED引腳名稱
blinkLed.dir(mraa.DIR_OUT)  #設(shè)置引腳模式為輸出
ledState = False #設(shè)置變量初始值
blinkLed.write(0) #設(shè)置LED初始狀態(tài)
# 循環(huán)執(zhí)行下面的語句
while True:
    if ledState == False:
        blinkLed.write(1)
        ledState = True        
    else:
        blinkLed.write(0)
        ledState = False
    print "LED is on? \nAns: %s" %(ledState) # 打印LED狀態(tài)
    time.sleep(1) #延時1s

精選例程

火焰報警器

  • 【功能】

顧名思義,本電子裝置使用火焰?zhèn)鞲衅鳈z測是否存在火源,當(dāng)發(fā)現(xiàn)火焰后發(fā)出警報。你還可以結(jié)合氣體傳感器,甚至在掌握了更多編程方法后,實(shí)現(xiàn)發(fā)送微信消息這樣的功能。為了簡單,這里我們使用蜂鳴器發(fā)出警報。為了得知閾值(也就是出發(fā)警報的臨界值),你應(yīng)當(dāng)先用串口輸出有無火焰的數(shù)值,然后給出一個合理的數(shù)值。

  • 【硬件】

火焰?zhèn)鞲衅鞯膶I(yè)稱呼應(yīng)為光電二極管。光電二極管利用雜質(zhì)半導(dǎo)體的性質(zhì)制成PN節(jié),從而對特定波長的電磁波敏感。光電二極管工作在反向電壓下,在正向電壓下也能導(dǎo)電,但是效果非常差。

13K024A06.png

我們在“人體紅外報警器”便知道具有溫度的物體可以發(fā)射紅外線?;鹧鏈囟雀?,當(dāng)然也會發(fā)出紅外線,但是和人體發(fā)出紅外線的波長不同。火焰發(fā)出紅外線的波長在大自然中并不常見,但是它依然會受到人體、陽光等因素的影響。該電子積木和紅外熱釋電傳感器類似,我們也可以用紙繞成圈后套在傳感器上以減少干擾。 我們把火焰?zhèn)鞲衅鬟B接到A0,蜂鳴器給到D8。

13K024A07.png
  • 【軟件】

打開Arduino IDE,編寫并上傳如下程序:

/***********************************************************
奧松機(jī)器人  RobotBase  www.robotbase.cn
目    的:  當(dāng)發(fā)現(xiàn)火焰時報警
應(yīng)用硬件:  Carduino UNO R3 控制器
應(yīng)用軟件:  Arduino IDE 1.7.8
發(fā)布時間:  2016-02-17
創(chuàng) 建 人:  李澤
版 本 號:  1.0 
說    明:  若用于商業(yè)用途,請保留此段文字或注明代碼來源	
           哈爾濱奧松機(jī)器人科技有限股份公司保留所有版權(quán)   
***********************************************************/
void setup()
{
  pinMode(8, OUTPUT);  // 蜂鳴器是輸出裝置
  noTone(8);
  digitalWrite(8, HIGH);  // 關(guān)閉蜂鳴器
}

void loop()
{
  if(analogRead(A0) > 200) {  // 如果檢測到的火焰值超過了你設(shè)定的閾值
    digitalWrite(8, LOW); delay(2000);  // 那么就讓蜂鳴器響兩秒
    noTone(8);
    digitalWrite(8, HIGH);  // 然后再關(guān)閉蜂鳴器
  }
}
  • 【ArduBlock】
13K024A08.png

電子溫度計

  • 【功能】

空氣的溫度和濕度是最直觀、最常見的兩個物理量。能夠測量它們的傳感器非常多,我們的電子模塊使用LM35測量空氣溫度、DHT11測量空氣溫濕度。在這個案例中我們制作一個簡單的電子溫度計,串口監(jiān)視器就是我們的電子屏幕,輸出當(dāng)前的溫度和濕度。

  • 【硬件】

我們使用LM35測量溫度,使用DHT11測量濕度。兩者的內(nèi)部結(jié)構(gòu)非常復(fù)雜,我們就不做介紹了。

13K024A09.png

LM35標(biāo)記為A,所以直接接到模擬口并使用analogRead讀取數(shù)值。LM35規(guī)定溫度每升高1℃,電壓增加10mV。而ADC的精度決定其檢測范圍是0到1023,對應(yīng)的就是0V到5V,那么假設(shè)當(dāng)前檢測的數(shù)值是n,那么當(dāng)前溫度=5×n÷1023×100。注意ADC最大量程5V可以通過AREF引腳修改。 至于DHT11,我們僅在ArduBlock程序中進(jìn)行演示。如果要在代碼中使用,建議下載DHT11相關(guān)的庫函數(shù),然后根據(jù)庫文件的要求進(jìn)行使用即可。 我們連接LM35電子積木到A0,DHT11到D8。

13K024A10.png
  • 【軟件】

打開Arduino IDE,編寫并上傳如下程序:

/***********************************************************
奧松機(jī)器人  RobotBase  www.robotbase.cn
目    的:  通過串口輸出空氣溫度值
應(yīng)用硬件:  Carduino UNO R3 控制器
應(yīng)用軟件:  Arduino IDE 1.7.8
發(fā)布時間:  2016-02-17
創(chuàng) 建 人:  李澤
版 本 號:  1.0 
說    明:  若用于商業(yè)用途,請保留此段文字或注明代碼來源	
           哈爾濱奧松機(jī)器人科技有限股份公司保留所有版權(quán)   
***********************************************************/
void setup()
{
  Serial.begin(9600);
}

void loop()
{
  Serial.print("Temperature: ");
  Serial.println(analogRead(0)*5.0/1023*100);  // 注意此處的公式和類型轉(zhuǎn)換
  delay(100);
}
  • 【ArduBlock】
13K024A11.png

產(chǎn)品相關(guān)推薦

Erweima.png

產(chǎn)品購買地址

基于Arduino互動電子積木套件

周邊產(chǎn)品推薦

動手玩兒轉(zhuǎn)Arduino書籍
Arduino從基礎(chǔ)到實(shí)踐

相關(guān)問題解答

Arduino 驅(qū)動安裝失???最全的解決辦法
如何利用Xbee模塊實(shí)現(xiàn)兩個Arduino UNO控制器的通信

相關(guān)學(xué)習(xí)資料

愛上Arduino與愛上Processing的互動視頻教程
Arduino 教程匯總
基于Arduino互動電子積木教學(xué)課程(第一節(jié))
奧松機(jī)器人技術(shù)論壇