“(RB-13K024A)基于Arduino 電子積木互動套件”的版本間的差異
(→?從閃爍的 LED 開始) |
(→?產(chǎn)品相關(guān)推薦) |
||
(未顯示1個用戶的4個中間版本) | |||
第77行: | 第77行: | ||
* 【硬件】 | * 【硬件】 | ||
LED是發(fā)光二極管的英文縮寫。它可以發(fā)出不同波長的電磁波,我們的產(chǎn)品發(fā)出的紅色的可見光。<br/> | LED是發(fā)光二極管的英文縮寫。它可以發(fā)出不同波長的電磁波,我們的產(chǎn)品發(fā)出的紅色的可見光。<br/> | ||
? | [[文件:13K024A02.png|500px|有框| | + | [[文件:13K024A02.png|500px|有框|居中]] |
硬件連接還是比較容易的,首先把擴展板卡合到主控板的上方,注意此連接方法是唯一的,如果位置卡合錯誤可能會造成主板損壞!<br/> | 硬件連接還是比較容易的,首先把擴展板卡合到主控板的上方,注意此連接方法是唯一的,如果位置卡合錯誤可能會造成主板損壞!<br/> | ||
? | [[文件:13K024A03.png|500px|有框| | + | [[文件:13K024A03.png|500px|有框|居中]] |
要實現(xiàn)LED閃爍的效果,我們只需要LED電子模塊即可,我們看到電子模塊上帶有標記D,說明是數(shù)字的(digital)傳感器,因此使用3P線將其連接到擴展板。注意通常不使用D0、D1和D13。因為D0和D1在程序上傳時不能被占用,D13內(nèi)置了1KΩ的電阻,默認連接了板載的L小燈,常用作測試。本案例中把LED連接到D7。<br/> | 要實現(xiàn)LED閃爍的效果,我們只需要LED電子模塊即可,我們看到電子模塊上帶有標記D,說明是數(shù)字的(digital)傳感器,因此使用3P線將其連接到擴展板。注意通常不使用D0、D1和D13。因為D0和D1在程序上傳時不能被占用,D13內(nèi)置了1KΩ的電阻,默認連接了板載的L小燈,常用作測試。本案例中把LED連接到D7。<br/> | ||
? | [[文件:13K024A04.png|500px|有框| | + | [[文件:13K024A04.png|500px|有框|居中]] |
注意3P線的線序要和擴展板一一對應(yīng)。為黑色對應(yīng)G(接地,GND),中間的紅色對應(yīng)V(5V電源,可用跳線帽切換為3.3V),黃色對應(yīng)信號線,可能是A或D,主要取決于電子模塊的符號是A還是D。<br/> | 注意3P線的線序要和擴展板一一對應(yīng)。為黑色對應(yīng)G(接地,GND),中間的紅色對應(yīng)V(5V電源,可用跳線帽切換為3.3V),黃色對應(yīng)信號線,可能是A或D,主要取決于電子模塊的符號是A還是D。<br/> | ||
* 【軟件】<br/> | * 【軟件】<br/> | ||
第110行: | 第110行: | ||
* 【ArduBlock】<br/> | * 【ArduBlock】<br/> | ||
如果不想敲入復(fù)雜的代碼,你還可以選擇相對比較簡單的ArduBlock進行編程。安裝和打開方法參考之前的軟件介紹。<br/> | 如果不想敲入復(fù)雜的代碼,你還可以選擇相對比較簡單的ArduBlock進行編程。安裝和打開方法參考之前的軟件介紹。<br/> | ||
? | [[文件:13K024A05.png|500px|有框| | + | [[文件:13K024A05.png|500px|有框|居中]] |
? | + | ||
? | + | ||
? | + | ||
==精選例程== | ==精選例程== | ||
===火焰報警器=== | ===火焰報警器=== | ||
? | + | * 【功能】 | |
? | + | 顧名思義,本電子裝置使用火焰?zhèn)鞲衅鳈z測是否存在火源,當發(fā)現(xiàn)火焰后發(fā)出警報。你還可以結(jié)合氣體傳感器,甚至在掌握了更多編程方法后,實現(xiàn)發(fā)送微信消息這樣的功能。為了簡單,這里我們使用蜂鳴器發(fā)出警報。為了得知閾值(也就是出發(fā)警報的臨界值),你應(yīng)當先用串口輸出有無火焰的數(shù)值,然后給出一個合理的數(shù)值。 | |
? | * | + | * 【硬件】 |
? | + | 火焰?zhèn)鞲衅鞯膶I(yè)稱呼應(yīng)為光電二極管。光電二極管利用雜質(zhì)半導體的性質(zhì)制成PN節(jié),從而對特定波長的電磁波敏感。光電二極管工作在反向電壓下,在正向電壓下也能導電,但是效果非常差。 | |
? | + | [[文件:13K024A06.png|500px|有框|居中]] | |
? | * | + | 我們在“人體紅外報警器”便知道具有溫度的物體可以發(fā)射紅外線。火焰溫度更高,當然也會發(fā)出紅外線,但是和人體發(fā)出紅外線的波長不同?;鹧姘l(fā)出紅外線的波長在大自然中并不常見,但是它依然會受到人體、陽光等因素的影響。該電子積木和紅外熱釋電傳感器類似,我們也可以用紙繞成圈后套在傳感器上以減少干擾。 |
? | + | 我們把火焰?zhèn)鞲衅鬟B接到A0,蜂鳴器給到D8。 | |
? | + | [[文件:13K024A07.png|500px|有框|居中]] | |
? | + | * 【軟件】 | |
? | + | 打開Arduino IDE,編寫并上傳如下程序: | |
<pre style="color:blue"> | <pre style="color:blue"> | ||
? | + | /*********************************************************** | |
? | + | 奧松機器人 RobotBase www.robotbase.cn | |
? | + | 目 的: 當發(fā)現(xiàn)火焰時報警 | |
+ | 應(yīng)用硬件: Carduino UNO R3 控制器 | ||
+ | 應(yīng)用軟件: Arduino IDE 1.7.8 | ||
+ | 發(fā)布時間: 2016-02-17 | ||
+ | 創(chuàng) 建 人: 李澤 | ||
+ | 版 本 號: 1.0 | ||
+ | 說 明: 若用于商業(yè)用途,請保留此段文字或注明代碼來源 | ||
+ | 哈爾濱奧松機器人科技有限股份公司保留所有版權(quán) | ||
+ | ***********************************************************/ | ||
void setup() | void setup() | ||
{ | { | ||
? | pinMode( | + | pinMode(8, OUTPUT); // 蜂鳴器是輸出裝置 |
? | + | noTone(8); | |
? | + | digitalWrite(8, HIGH); // 關(guān)閉蜂鳴器 | |
} | } | ||
+ | |||
void loop() | void loop() | ||
{ | { | ||
? | + | if(analogRead(A0) > 200) { // 如果檢測到的火焰值超過了你設(shè)定的閾值 | |
? | + | digitalWrite(8, LOW); delay(2000); // 那么就讓蜂鳴器響兩秒 | |
? | + | noTone(8); | |
? | + | digitalWrite(8, HIGH); // 然后再關(guān)閉蜂鳴器 | |
? | digitalWrite( | + | } |
} | } | ||
? | + | </pre> | |
+ | * 【ArduBlock】 | ||
+ | [[文件:13K024A08.png|500px|有框|居中]] | ||
+ | |||
+ | ===電子溫度計=== | ||
+ | * 【功能】 | ||
+ | 空氣的溫度和濕度是最直觀、最常見的兩個物理量。能夠測量它們的傳感器非常多,我們的電子模塊使用LM35測量空氣溫度、DHT11測量空氣溫濕度。在這個案例中我們制作一個簡單的電子溫度計,串口監(jiān)視器就是我們的電子屏幕,輸出當前的溫度和濕度。 | ||
+ | * 【硬件】 | ||
+ | 我們使用LM35測量溫度,使用DHT11測量濕度。兩者的內(nèi)部結(jié)構(gòu)非常復(fù)雜,我們就不做介紹了。 | ||
+ | [[文件:13K024A09.png|500px|有框|居中]] | ||
+ | LM35標記為A,所以直接接到模擬口并使用analogRead讀取數(shù)值。LM35規(guī)定溫度每升高1℃,電壓增加10mV。而ADC的精度決定其檢測范圍是0到1023,對應(yīng)的就是0V到5V,那么假設(shè)當前檢測的數(shù)值是n,那么當前溫度=5×n÷1023×100。注意ADC最大量程5V可以通過AREF引腳修改。 | ||
+ | 至于DHT11,我們僅在ArduBlock程序中進行演示。如果要在代碼中使用,建議下載DHT11相關(guān)的庫函數(shù),然后根據(jù)庫文件的要求進行使用即可。 | ||
+ | 我們連接LM35電子積木到A0,DHT11到D8。 | ||
+ | [[文件:13K024A10.png|500px|有框|居中]] | ||
+ | * 【軟件】 | ||
+ | 打開Arduino IDE,編寫并上傳如下程序: | ||
+ | <pre style="color:blue"> | ||
+ | /*********************************************************** | ||
+ | 奧松機器人 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è)用途,請保留此段文字或注明代碼來源 | ||
+ | 哈爾濱奧松機器人科技有限股份公司保留所有版權(quán) | ||
+ | ***********************************************************/ | ||
+ | void setup() | ||
{ | { | ||
? | + | Serial.begin(9600); | |
} | } | ||
+ | |||
+ | void loop() | ||
+ | { | ||
+ | Serial.print("Temperature: "); | ||
+ | Serial.println(analogRead(0)*5.0/1023*100); // 注意此處的公式和類型轉(zhuǎn)換 | ||
+ | delay(100); | ||
} | } | ||
</pre> | </pre> | ||
? | + | * 【ArduBlock】 | |
+ | [[文件:13K024A11.png|500px|有框|居中]] | ||
==產(chǎn)品相關(guān)推薦== | ==產(chǎn)品相關(guān)推薦== | ||
第165行: | 第206行: | ||
===相關(guān)學習資料=== | ===相關(guān)學習資料=== | ||
[http://v.youku.com/v_show/id_XNDkyNTIyNjEy.html?from=y1.7-2 愛上Arduino與愛上Processing的互動視頻教程]<br/> | [http://v.youku.com/v_show/id_XNDkyNTIyNjEy.html?from=y1.7-2 愛上Arduino與愛上Processing的互動視頻教程]<br/> | ||
+ | [http://www.makerspace.cn/forum.php?mod=viewthread&tid=5874&extra=page%3D1 Arduino 教程匯總]<br/> | ||
[http://v.youku.com/v_show/id_XNDU4MTc3NzM2.html?from=y1.7-2 基于Arduino互動電子積木教學課程(第一節(jié))]<br/> | [http://v.youku.com/v_show/id_XNDU4MTc3NzM2.html?from=y1.7-2 基于Arduino互動電子積木教學課程(第一節(jié))]<br/> | ||
[http://www.makerspace.cn/portal.php 奧松機器人技術(shù)論壇]<br/> | [http://www.makerspace.cn/portal.php 奧松機器人技術(shù)論壇]<br/> |
2016年4月8日 (五) 11:01的最后版本
目錄 |
產(chǎn)品概述
Arduino Uno是開源的USB接口Simple I/O接口板(包括12個數(shù)字IO,6個PWM輸出,6通道10位ADC)。它使用C/C++語言的IDE集成開發(fā)環(huán)境進行編程,讓你快速使用Arduino制作互動作品。本產(chǎn)品使用便于插接的電子積木,使得原型搭建和驗證更加輕松。
基于Arduino互動電子積木套件是哈爾濱奧松機器人科技有限公司專門為Arduino與單片機電子制作愛好者精心打造的一款電子學習套件,本套件充分考慮到了愛好者初學電子遇到的困難,從簡到繁,由淺至深,從數(shù)字到模擬傳感器實驗的階梯式學習。即使你沒有學過電子、不懂單片機也沒有關(guān)系,只要你有足夠創(chuàng)意,肯于動手,相信你很快就能創(chuàng)造出令人驚艷的互動作品。 整套基于Arduino電子積木互動套件無需焊接,只要像玩積木一樣插接就可以完成實驗,避免了初學者焊接元件浪費原料不環(huán)保的習慣。傳感器使用放插反接口,大大降低接錯的可能性。 電子積木套件中使用Arduino IDE編程的同時,還會介紹如何使用ArduBlock實現(xiàn)相同的效果。ArduBlock是一款圖形化編程工具,因此不需要代碼也能實現(xiàn)某些功能。還包括了Processing、Arduino IDE、Fritzing、串口調(diào)試助手等常用軟件。使愛好者完全無后顧之憂,輕松學習并啟發(fā)創(chuàng)新思維,領(lǐng)悟開源創(chuàng)意文化,這款套件是帶你進入互動新媒體領(lǐng)域和電子世界的必備之選。
主控器技術(shù)參數(shù)
- 微處理器:ATmega328P-PU
- 尺寸:75×55×15mm
- 工作電壓:5V
- 輸入電壓:接上USB 時無須外部供電或外部7V~12V DC輸入
- 輸出電壓:5V DC輸出或3.3V DC輸出
- 時鐘頻率:16 MHz
- 輸入電壓:7-12V(推薦)
- 輸入電壓:6-20V(極限)
- 支持USB供電及接口協(xié)議(不需外接電源)
- 支持ISP下載功能
- 數(shù)字I/O端口:14個(6個PWM輸出口)
- 模擬輸入端口:6個
- 直流電流:40mA(I/O端口)
- 直流電流:50mA(3.3V端口)
- Flash內(nèi)存:32 KB(ATmega328,其中0.5 KB用于引導程序)
- SRAM:2 KB(ATmega328)
- EEPROM:1 KB(ATmega328)
產(chǎn)品清單
- RB-01C076 CarDuino UNO R3 * 1 個
- RB-01C015A Arduino XBee Sensor Shield * 1 個
- RB-02S032A 按壓式大按鈕模塊 * 1 個
- RB-03T004A 紅外發(fā)射模塊 * 1 個
- RB-02S005A LED發(fā)光模塊(紅色) * 1 個
- RB-02S024A 旋轉(zhuǎn)角度電位計傳感器 * 1 個
- RB-02S031A 蜂鳴器發(fā)聲模塊 * 1 個
- RB-03T005A 紅外接收模塊 * 1 個
- RB-02S023A 光線傳感器模塊 * 1 個
- RB-02S025A 大功率繼電器模塊 * 1 個
- RB-02S002A Mini紅外尋線傳感器 * 1 個
- RB-02S027A 綠色單向傾角傳感器 * 1 個
- RB-02S030A 藍色震動傳感器 * 1 個
- RB-02S022A 火焰?zhèn)鞲衅?/a> * 1 個
- RB-02S019A LM35線性溫度傳感器 * 1 個
- RB-02S014A DHT11溫濕度傳感器 * 1 個
- RB-02S009A 電壓檢測傳感器 * 1 個
- RB-02S017A 紅外熱釋電傳感器 * 1 個
- RB-02S048A 水位傳感器 * 1 個
- RB-02S047A 土壤濕度傳感器 * 1 個
- RB-02S003A Mini紅外避障傳感器 * 1 個
- RB-03T003 超薄紅外遙控器 * 1 個
- RB - 12C229 單頭放插反 3P 連接線 * 10 條
- RB - 10P017 6 節(jié) 5 號并排電池盒 * 1 個
- RB - 10P016 DC2.1 電源接線端子 * 1 個
- RB - 06L008 抗干擾 USB 數(shù)據(jù)連接線 * 1 條
- RB - 13K031 超大雙層元件盒 * 1 個
- RB - 12C199 黑色一字螺絲刀 * 1 個
- RB - 07B018 基于 Arduino 互動電子積木資料光盤 * 1 張
編譯環(huán)境下載
- Arduino .cc 當前最新版 IDE:Arduino 1.6.8
下載地址: http://www.arduino.cc/en/Main/Software
- Arduino .org 當前最新版 IDE:Arduino 1.7.8
下載地址:http://www.arduino.org.cn/software
- Ardublock 圖形化編譯軟件
下載地址:點擊下載 Ardublock 編程軟件
Arduino 基本語言
Arduino 軟件及驅(qū)動安裝
從閃爍的 LED 開始
- 【功能】
LED閃爍程序要實現(xiàn)的功能是LED小燈點亮一秒,再熄滅一秒。這個程序是學習Arduino IDE的第一步。千里之行,始于足下,讓我們開始吧!
- 【硬件】
LED是發(fā)光二極管的英文縮寫。它可以發(fā)出不同波長的電磁波,我們的產(chǎn)品發(fā)出的紅色的可見光。
硬件連接還是比較容易的,首先把擴展板卡合到主控板的上方,注意此連接方法是唯一的,如果位置卡合錯誤可能會造成主板損壞!
要實現(xiàn)LED閃爍的效果,我們只需要LED電子模塊即可,我們看到電子模塊上帶有標記D,說明是數(shù)字的(digital)傳感器,因此使用3P線將其連接到擴展板。注意通常不使用D0、D1和D13。因為D0和D1在程序上傳時不能被占用,D13內(nèi)置了1KΩ的電阻,默認連接了板載的L小燈,常用作測試。本案例中把LED連接到D7。
注意3P線的線序要和擴展板一一對應(yīng)。為黑色對應(yīng)G(接地,GND),中間的紅色對應(yīng)V(5V電源,可用跳線帽切換為3.3V),黃色對應(yīng)信號線,可能是A或D,主要取決于電子模塊的符號是A還是D。
- 【軟件】
打開Arduino IDE,編寫并上傳如下程序:
/*********************************************************** 奧松機器人 RobotBase www.robotbase.cn 目 的: LED閃爍 應(yīng)用硬件: Carduino UNO R3 控制器 應(yīng)用軟件: Arduino IDE 1.7.8 發(fā)布時間: 2016-02-16 創(chuàng) 建 人: 李澤 版 本 號: 1.0 說 明: 若用于商業(yè)用途,請保留此段文字或注明代碼來源 哈爾濱奧松機器人科技有限股份公司保留所有版權(quán) ***********************************************************/ void setup() { pinMode(7, OUTPUT); // 設(shè)置D7為輸出模式,因為LED是輸出裝置 } void loop() { digitalWrite(7, LOW); // 設(shè)置D7為低電平,LED熄滅 delay(1000); // 延時等待1000毫秒,即1秒鐘 digitalWrite(7, HIGH); // 設(shè)置D7為高電平,點亮LED delay(1000); }
- 【ArduBlock】
如果不想敲入復(fù)雜的代碼,你還可以選擇相對比較簡單的ArduBlock進行編程。安裝和打開方法參考之前的軟件介紹。
精選例程
火焰報警器
- 【功能】
顧名思義,本電子裝置使用火焰?zhèn)鞲衅鳈z測是否存在火源,當發(fā)現(xiàn)火焰后發(fā)出警報。你還可以結(jié)合氣體傳感器,甚至在掌握了更多編程方法后,實現(xiàn)發(fā)送微信消息這樣的功能。為了簡單,這里我們使用蜂鳴器發(fā)出警報。為了得知閾值(也就是出發(fā)警報的臨界值),你應(yīng)當先用串口輸出有無火焰的數(shù)值,然后給出一個合理的數(shù)值。
- 【硬件】
火焰?zhèn)鞲衅鞯膶I(yè)稱呼應(yīng)為光電二極管。光電二極管利用雜質(zhì)半導體的性質(zhì)制成PN節(jié),從而對特定波長的電磁波敏感。光電二極管工作在反向電壓下,在正向電壓下也能導電,但是效果非常差。
我們在“人體紅外報警器”便知道具有溫度的物體可以發(fā)射紅外線?;鹧鏈囟雀撸斎灰矔l(fā)出紅外線,但是和人體發(fā)出紅外線的波長不同?;鹧姘l(fā)出紅外線的波長在大自然中并不常見,但是它依然會受到人體、陽光等因素的影響。該電子積木和紅外熱釋電傳感器類似,我們也可以用紙繞成圈后套在傳感器上以減少干擾。 我們把火焰?zhèn)鞲衅鬟B接到A0,蜂鳴器給到D8。
- 【軟件】
打開Arduino IDE,編寫并上傳如下程序:
/*********************************************************** 奧松機器人 RobotBase www.robotbase.cn 目 的: 當發(fā)現(xiàn)火焰時報警 應(yīng)用硬件: Carduino UNO R3 控制器 應(yīng)用軟件: Arduino IDE 1.7.8 發(fā)布時間: 2016-02-17 創(chuàng) 建 人: 李澤 版 本 號: 1.0 說 明: 若用于商業(yè)用途,請保留此段文字或注明代碼來源 哈爾濱奧松機器人科技有限股份公司保留所有版權(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】
電子溫度計
- 【功能】
空氣的溫度和濕度是最直觀、最常見的兩個物理量。能夠測量它們的傳感器非常多,我們的電子模塊使用LM35測量空氣溫度、DHT11測量空氣溫濕度。在這個案例中我們制作一個簡單的電子溫度計,串口監(jiān)視器就是我們的電子屏幕,輸出當前的溫度和濕度。
- 【硬件】
我們使用LM35測量溫度,使用DHT11測量濕度。兩者的內(nèi)部結(jié)構(gòu)非常復(fù)雜,我們就不做介紹了。
LM35標記為A,所以直接接到模擬口并使用analogRead讀取數(shù)值。LM35規(guī)定溫度每升高1℃,電壓增加10mV。而ADC的精度決定其檢測范圍是0到1023,對應(yīng)的就是0V到5V,那么假設(shè)當前檢測的數(shù)值是n,那么當前溫度=5×n÷1023×100。注意ADC最大量程5V可以通過AREF引腳修改。 至于DHT11,我們僅在ArduBlock程序中進行演示。如果要在代碼中使用,建議下載DHT11相關(guān)的庫函數(shù),然后根據(jù)庫文件的要求進行使用即可。 我們連接LM35電子積木到A0,DHT11到D8。
- 【軟件】
打開Arduino IDE,編寫并上傳如下程序:
/*********************************************************** 奧松機器人 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è)用途,請保留此段文字或注明代碼來源 哈爾濱奧松機器人科技有限股份公司保留所有版權(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】
產(chǎn)品相關(guān)推薦
產(chǎn)品購買地址
周邊產(chǎn)品推薦
動手玩兒轉(zhuǎn)Arduino書籍
Arduino從基礎(chǔ)到實踐
相關(guān)問題解答
Arduino 驅(qū)動安裝失???最全的解決辦法
如何利用Xbee模塊實現(xiàn)兩個Arduino UNO控制器的通信
相關(guān)學習資料
愛上Arduino與愛上Processing的互動視頻教程
Arduino 教程匯總
基于Arduino互動電子積木教學課程(第一節(jié))
奧松機器人技術(shù)論壇