“(RB-13K024A)基于Arduino 電子積木互動套件”的版本間的差異

來自ALSROBOT WiKi
跳轉(zhuǎn)至: 導(dǎo)航、 搜索
?Arduino編譯環(huán)境下載
?產(chǎn)品相關(guān)推薦
 
(未顯示1個用戶的9個中間版本)
第61行: 第61行:
 
下載地址:http://www.arduino.org.cn/software<br/>
 
下載地址:http://www.arduino.org.cn/software<br/>
 
* Ardublock 圖形化編譯軟件
 
* Ardublock 圖形化編譯軟件
?
下載地址:[http://pan.baidu.com/s/1nuhwRd3 點擊下載 Ardublock 編程軟件]<br/>
+
下載地址:[http://www.makerspace.cn/forum.php?mod=viewthread&tid=5557 點擊下載 Ardublock 編程軟件]<br/>
  
?
==第一個Arduino實驗==
+
==Arduino 基本語言==
?
點亮13號引腳的LED燈,持續(xù)一秒,然后滅掉,再持續(xù)一秒,一直循環(huán)。<br\>
+
*[http://gharee.com/wiki/index.php/Arduino%E7%BC%96%E7%A8%8B%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C%EF%BC%88%E5%A4%9A%E9%A1%B5%E9%9D%A2%E7%89%88%EF%BC%89 Arduino 編程參考手冊(多頁面)]
?
在這第一個實驗中,我們假設(shè)讀者使用控制器的型號是Arduino UNO,并獲取了Arduino開發(fā)環(huán)境,而且已經(jīng)安裝了USB驅(qū)動。
+
* [http://gharee.com/wiki/index.php/Arduino%E7%BC%96%E7%A8%8B%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C Arduino 編程參考手冊]
?
===連接Arduino控制板和電腦===
+
 
?
將USB線一端插在Arduino控制板上,一端插在電腦的USB接口上。(獨立工作時Arduino控制板可以選擇從USB供電, 也可以選擇由電源適配器供電)
+
==Arduino 軟件及驅(qū)動安裝==
?
===設(shè)置Arduino開發(fā)環(huán)境語言===
+
* [http://www.makerspace.cn/forum.php?mod=viewthread&tid=5874&extra=page%3D1 Arduino 基礎(chǔ)教程匯總]
?
打開Arduino主程序后,軟件會自動識別系統(tǒng)的語言,然后設(shè)置開發(fā)環(huán)境為系統(tǒng)語言,如果需要設(shè)置為其他語言同樣可以,只要打開:File > Preferences,找到Editor language項,將其設(shè)為需要的語言(例如:簡體中文),然后關(guān)閉Arduino主程序并重新打開,開發(fā)環(huán)境界面就會變成中文。
+
* [http://gharee.com/wiki/index.php/Arduino%E9%A9%B1%E5%8A%A8%E7%9A%84%E5%AE%89%E8%A3%85 Arduino 驅(qū)動安裝]
?
<br>
+
* [http://www.makerspace.cn/forum.php?mod=viewthread&tid=5857&page=1&extra=#pid14280 Ardublock 圖形化編程軟件安裝及介紹]
?
[[image:arduino1231.jpg|thumb|500px|center|]]
+
 
?
<br>
+
==從閃爍的 LED 開始==
?
[[image:arduino1232.jpg|thumb|700px|center|]]
+
* 【功能】
?
<br>
+
LED閃爍程序要實現(xiàn)的功能是LED小燈點亮一秒,再熄滅一秒。這個程序是學(xué)習(xí)Arduino IDE的第一步。千里之行,始于足下,讓我們開始吧!<br/>
?
[[image:arduino1233.jpg|thumb|500px|center|]]
+
* 【硬件】
?
<br>
+
LED是發(fā)光二極管的英文縮寫。它可以發(fā)出不同波長的電磁波,我們的產(chǎn)品發(fā)出的紅色的可見光。<br/>
?
===打開LED blink例程===
+
[[文件:13K024A02.png|500px|有框|居中]]
?
<br>
+
硬件連接還是比較容易的,首先把擴(kuò)展板卡合到主控板的上方,注意此連接方法是唯一的,如果位置卡合錯誤可能會造成主板損壞!<br/>
?
打開軟件選擇文件 - 示例 - 01.Basics - Blink
+
[[文件:13K024A03.png|500px|有框|居中]]
?
<br>
+
要實現(xiàn)LED閃爍的效果,我們只需要LED電子模塊即可,我們看到電子模塊上帶有標(biāo)記D,說明是數(shù)字的(digital)傳感器,因此使用3P線將其連接到擴(kuò)展板。注意通常不使用D0、D1和D13。因為D0和D1在程序上傳時不能被占用,D13內(nèi)置了1KΩ的電阻,默認(rèn)連接了板載的L小燈,常用作測試。本案例中把LED連接到D7。<br/>
?
[[image:arduino1234.jpg|thumb|500px|center|blink]]
+
[[文件:13K024A04.png|500px|有框|居中]]
?
<br>
+
注意3P線的線序要和擴(kuò)展板一一對應(yīng)。為黑色對應(yīng)G(接地,GND),中間的紅色對應(yīng)V(5V電源,可用跳線帽切換為3.3V),黃色對應(yīng)信號線,可能是A或D,主要取決于電子模塊的符號是A還是D。<br/>
?
===設(shè)置板卡型號===
+
* 【軟件】<br/>
?
Arduino包括多種版本的主控器,其中比較常見的是Uno、Leonardo以及Mega系列的控制器。在軟件上點擊工具然后在“板”一項下選擇相應(yīng)的型號,這時你需要根據(jù)自己的主控硬件的固件類型來選擇板卡。(樣例中選用的是以Uno為bootloader的控制器)<br\>
+
打開Arduino IDE,編寫并上傳如下程序:<br/>
?
工具 - - Arduino Uno
+
<pre style='color:blue'>
?
<br>
+
/***********************************************************
?
[[image:arduino1235.jpg|thumb|500px|center|]]
+
奧松機(jī)器人  RobotBase  www.robotbase.cn
?
<br>
+
目    的:  LED閃爍
?
===設(shè)置串口===
+
應(yīng)用硬件:  Carduino UNO R3 控制器
?
工具 > 串口 > xx,這里的xx應(yīng)選擇在你的電腦設(shè)備管理器中看到的一致。
+
應(yīng)用軟件:  Arduino IDE 1.7.8
?
<br>
+
發(fā)布時間:  2016-02-16
?
[[image:arduino1236.jpg|thumb|500px|center|]]
+
創(chuàng) 建 人:  李澤
?
<br>
+
版 本 號: 1.0
?
===下載程序===
+
說    明:  若用于商業(yè)用途,請保留此段文字或注明代碼來源
?
如圖,點擊驗證,程序只進(jìn)行了驗證,而沒有下載到控制器中,下載需要再點擊上傳鍵;若直接點擊上傳鍵,將程序會先進(jìn)行驗證然后直接下載程序到你的Arduino控制板上。
+
          哈爾濱奧松機(jī)器人科技有限股份公司保留所有版權(quán) 
?
<br>
+
***********************************************************/
?
[[image:arduino1237.jpg|thumb|500px|center|]]
+
void setup() {
?
<br>
+
  pinMode(7, OUTPUT);  // 設(shè)置D7為輸出模式,因為LED是輸出裝置
?
===程序效果===
+
}
?
程序運行的效果就是:Adruino Uno板載的13號引腳LED燈在閃爍。
+
 
?
<br>
+
void loop() {
?
==Arduino UNO驅(qū)動安裝==
+
  digitalWrite(7, LOW);  // 設(shè)置D7為低電平,LED熄滅
?
[http://www.alsrobot.com.cn/wiki/index.php?title=Arduino%E9%A9%B1%E5%8A%A8%E7%9A%84%E5%AE%89%E8%A3%85 Arduino UNO驅(qū)動安裝方法]<br/>
+
  delay(1000);  // 延時等待1000毫秒,即1秒鐘
 +
  digitalWrite(7, HIGH);  // 設(shè)置D7為高電平,點亮LED
 +
  delay(1000);
 +
}
 +
</pre>
 +
* 【ArduBlock】<br/>
 +
如果不想敲入復(fù)雜的代碼,你還可以選擇相對比較簡單的ArduBlock進(jìn)行編程。安裝和打開方法參考之前的軟件介紹。<br/>
 +
[[文件:13K024A05.png|500px|有框|居中]]
  
 
==精選例程==
 
==精選例程==
 
===火焰報警器===
 
===火焰報警器===
?
====所需硬件====
+
* 【功能】
?
* [http://gharee.com/goods-546.html Carduino UNO 控制器] * 1個
+
顧名思義,本電子裝置使用火焰?zhèn)鞲衅鳈z測是否存在火源,當(dāng)發(fā)現(xiàn)火焰后發(fā)出警報。你還可以結(jié)合氣體傳感器,甚至在掌握了更多編程方法后,實現(xiàn)發(fā)送微信消息這樣的功能。為了簡單,這里我們使用蜂鳴器發(fā)出警報。為了得知閾值(也就是出發(fā)警報的臨界值),你應(yīng)當(dāng)先用串口輸出有無火焰的數(shù)值,然后給出一個合理的數(shù)值。
?
* [http://gharee.com/goods-147.html V5.0傳感器擴(kuò)展板] * 1個
+
* 【硬件】
?
* [http://www.alsrobot.cn/goods-196.html 3P傳感器連接線] * 2條
+
火焰?zhèn)鞲衅鞯膶I(yè)稱呼應(yīng)為光電二極管。光電二極管利用雜質(zhì)半導(dǎo)體的性質(zhì)制成PN節(jié),從而對特定波長的電磁波敏感。光電二極管工作在反向電壓下,在正向電壓下也能導(dǎo)電,但是效果非常差。
?
* [http://www.alsrobot.cn/goods-169.html 蜂鳴器模塊] * 1個
+
[[文件:13K024A06.png|500px|有框|居中]]
?
* [http://gharee.com/goods-60.html 火焰?zhèn)鞲衅鱙 * 1個
+
我們在“人體紅外報警器”便知道具有溫度的物體可以發(fā)射紅外線?;鹧鏈囟雀?,當(dāng)然也會發(fā)出紅外線,但是和人體發(fā)出紅外線的波長不同?;鹧姘l(fā)出紅外線的波長在大自然中并不常見,但是它依然會受到人體、陽光等因素的影響。該電子積木和紅外熱釋電傳感器類似,我們也可以用紙繞成圈后套在傳感器上以減少干擾。
?
====硬件接線====
+
我們把火焰?zhèn)鞲衅鬟B接到A0,蜂鳴器給到D8。
?
1.將火焰?zhèn)鞲衅鹘拥紺arduino控制器的模擬 A0 接口<br/>
+
[[文件:13K024A07.png|500px|有框|居中]]
?
2.將蜂鳴器模塊接在Carduino控制器的數(shù)字 D7 接口<br/>
+
* 【軟件】
?
====例子程序====
+
打開Arduino IDE,編寫并上傳如下程序:
 
<pre style="color:blue">
 
<pre style="color:blue">
?
int flame=0;//定義火焰接口為模擬0 接口
+
/***********************************************************
?
int Beep=7;//定義蜂鳴器接口為數(shù)字7 接口
+
奧松機(jī)器人  RobotBase  www.robotbase.cn
?
int val=0;//定義數(shù)字變量val
+
目    的:  當(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()
 
void setup()
 
{
 
{
?
pinMode(Beep,OUTPUT);//定義LED 為輸出接口
+
  pinMode(8, OUTPUT); // 蜂鳴器是輸出裝置
?
pinMode(flame,INPUT);//定義蜂鳴器為輸入接口
+
  noTone(8);
?
Serial.begin(9600);//設(shè)定波特率為9600
+
  digitalWrite(8, HIGH); // 關(guān)閉蜂鳴器
 
}
 
}
 +
 
void loop()
 
void loop()
 
{
 
{
?
val=analogRead(flame);//讀取火焰?zhèn)鞲衅鞯哪M值
+
  if(analogRead(A0) > 200) {  // 如果檢測到的火焰值超過了你設(shè)定的閾值
?
Serial.println(val);//輸出模擬值,并將其打印出來
+
    digitalWrite(8, LOW); delay(2000); // 那么就讓蜂鳴器響兩秒
?
if(val>=600)//當(dāng)模擬值大于600 時蜂鳴器鳴響
+
    noTone(8);
?
{
+
    digitalWrite(8, HIGH); // 然后再關(guān)閉蜂鳴器
?
digitalWrite(Beep,LOW);
+
  }
 
}
 
}
?
else
+
</pre>
 +
* 【ArduBlock】
 +
[[文件:13K024A08.png|500px|有框|居中]]
 +
 
 +
===電子溫度計===
 +
* 【功能】
 +
空氣的溫度和濕度是最直觀、最常見的兩個物理量。能夠測量它們的傳感器非常多,我們的電子模塊使用LM35測量空氣溫度、DHT11測量空氣溫濕度。在這個案例中我們制作一個簡單的電子溫度計,串口監(jiān)視器就是我們的電子屏幕,輸出當(dāng)前的溫度和濕度。
 +
* 【硬件】
 +
我們使用LM35測量溫度,使用DHT11測量濕度。兩者的內(nèi)部結(jié)構(gòu)非常復(fù)雜,我們就不做介紹了。
 +
[[文件:13K024A09.png|500px|有框|居中]]
 +
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|500px|有框|居中]]
 +
* 【軟件】
 +
打開Arduino IDE,編寫并上傳如下程序:
 +
<pre style="color:blue">
 +
/***********************************************************
 +
奧松機(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()
 
{
 
{
?
digitalWrite(Beep,HIGH);
+
  Serial.begin(9600);
 
}
 
}
 +
 +
void loop()
 +
{
 +
  Serial.print("Temperature: ");
 +
  Serial.println(analogRead(0)*5.0/1023*100);  // 注意此處的公式和類型轉(zhuǎn)換
 +
  delay(100);
 
}
 
}
 
</pre>
 
</pre>
?
程序效果:當(dāng)火焰?zhèn)鞲衅鬏敵鲋党^限定范圍600的時候,蜂鳴器會報警<br/>
+
* 【ArduBlock】
 +
[[文件:13K024A11.png|500px|有框|居中]]
  
 
==產(chǎn)品相關(guān)推薦==
 
==產(chǎn)品相關(guān)推薦==
第155行: 第206行:
 
===相關(guān)學(xué)習(xí)資料===
 
===相關(guān)學(xué)習(xí)資料===
 
[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互動電子積木教學(xué)課程(第一節(jié))]<br/>
 
[http://v.youku.com/v_show/id_XNDU4MTc3NzM2.html?from=y1.7-2 基于Arduino互動電子積木教學(xué)課程(第一節(jié))]<br/>
 
[http://www.makerspace.cn/portal.php 奧松機(jī)器人技術(shù)論壇]<br/>
 
[http://www.makerspace.cn/portal.php 奧松機(jī)器人技術(shù)論壇]<br/>

2016年4月8日 (五) 11:01的最后版本

13K024A01.png

目錄

產(chǎn)品概述

Arduino Uno是開源的USB接口Simple I/O接口板(包括12個數(shù)字IO,6個PWM輸出,6通道10位ADC)。它使用C/C++語言的IDE集成開發(fā)環(huán)境進(jìn)行編程,讓你快速使用Arduino制作互動作品。本產(chǎn)品使用便于插接的電子積木,使得原型搭建和驗證更加輕松。
基于Arduino互動電子積木套件是哈爾濱奧松機(jī)器人科技有限公司專門為Arduino與單片機(jī)電子制作愛好者精心打造的一款電子學(xué)習(xí)套件,本套件充分考慮到了愛好者初學(xué)電子遇到的困難,從簡到繁,由淺至深,從數(shù)字到模擬傳感器實驗的階梯式學(xué)習(xí)。即使你沒有學(xué)過電子、不懂單片機(jī)也沒有關(guān)系,只要你有足夠創(chuàng)意,肯于動手,相信你很快就能創(chuàng)造出令人驚艷的互動作品。 整套基于Arduino電子積木互動套件無需焊接,只要像玩積木一樣插接就可以完成實驗,避免了初學(xué)者焊接元件浪費原料不環(huán)保的習(xí)慣。傳感器使用放插反接口,大大降低接錯的可能性。 電子積木套件中使用Arduino IDE編程的同時,還會介紹如何使用ArduBlock實現(xiàn)相同的效果。ArduBlock是一款圖形化編程工具,因此不需要代碼也能實現(xiàn)某些功能。還包括了Processing、Arduino IDE、Fritzing、串口調(diào)試助手等常用軟件。使愛好者完全無后顧之憂,輕松學(xué)習(xí)并啟發(fā)創(chuàng)新思維,領(lǐng)悟開源創(chuàng)意文化,這款套件是帶你進(jìn)入互動新媒體領(lǐng)域和電子世界的必備之選。

主控器技術(shù)參數(shù)

  1. 微處理器:ATmega328P-PU
  2. 尺寸:75×55×15mm
  3. 工作電壓:5V
  4. 輸入電壓:接上USB 時無須外部供電或外部7V~12V DC輸入
  5. 輸出電壓:5V DC輸出或3.3V DC輸出
  6. 時鐘頻率:16 MHz
  7. 輸入電壓:7-12V(推薦)
  8. 輸入電壓:6-20V(極限)
  9. 支持USB供電及接口協(xié)議(不需外接電源)
  10. 支持ISP下載功能
  11. 數(shù)字I/O端口:14個(6個PWM輸出口)
  12. 模擬輸入端口:6個
  13. 直流電流:40mA(I/O端口)
  14. 直流電流:50mA(3.3V端口)
  15. Flash內(nèi)存:32 KB(ATmega328,其中0.5 KB用于引導(dǎo)程序)
  16. SRAM:2 KB(ATmega328)
  17. EEPROM:1 KB(ATmega328)

產(chǎn)品清單

  1. RB-01C076 CarDuino UNO R3 * 1 個
  2. RB-01C015A Arduino XBee Sensor Shield * 1 個
  3. RB-02S032A 按壓式大按鈕模塊 * 1 個
  4. RB-03T004A 紅外發(fā)射模塊 * 1 個
  5. RB-02S005A LED發(fā)光模塊(紅色) * 1 個
  6. RB-02S024A 旋轉(zhuǎn)角度電位計傳感器 * 1 個
  7. RB-02S031A 蜂鳴器發(fā)聲模塊 * 1 個
  8. RB-03T005A 紅外接收模塊 * 1 個
  9. RB-02S023A 光線傳感器模塊 * 1 個
  10. RB-02S025A 大功率繼電器模塊 * 1 個
  11. RB-02S002A Mini紅外尋線傳感器 * 1 個
  12. RB-02S027A 綠色單向傾角傳感器 * 1 個
  13. RB-02S030A 藍(lán)色震動傳感器 * 1 個
  14. RB-02S022A 火焰?zhèn)鞲衅?/a> * 1 個
  15. RB-02S019A LM35線性溫度傳感器 * 1 個
  16. RB-02S014A DHT11溫濕度傳感器 * 1 個
  17. RB-02S009A 電壓檢測傳感器 * 1 個
  18. RB-02S017A 紅外熱釋電傳感器 * 1 個
  19. RB-02S048A 水位傳感器 * 1 個
  20. RB-02S047A 土壤濕度傳感器 * 1 個
  21. RB-02S003A Mini紅外避障傳感器 * 1 個
  22. RB-03T003 超薄紅外遙控器 * 1 個
  23. RB - 12C229 單頭放插反 3P 連接線 * 10 條
  24. RB - 10P017 6 節(jié) 5 號并排電池盒 * 1 個
  25. RB - 10P016 DC2.1 電源接線端子 * 1 個
  26. RB - 06L008 抗干擾 USB 數(shù)據(jù)連接線 * 1 條
  27. RB - 13K031 超大雙層元件盒 * 1 個
  28. RB - 12C199 黑色一字螺絲刀 * 1 個
  29. RB - 07B018 基于 Arduino 互動電子積木資料光盤 * 1 張

編譯環(huán)境下載

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

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

  • Arduino .org 當(dāng)前最新版 IDE:Arduino 1.7.8

下載地址:http://www.arduino.org.cn/software

  • Ardublock 圖形化編譯軟件

下載地址:點擊下載 Ardublock 編程軟件

Arduino 基本語言

Arduino 軟件及驅(qū)動安裝

從閃爍的 LED 開始

  • 【功能】

LED閃爍程序要實現(xiàn)的功能是LED小燈點亮一秒,再熄滅一秒。這個程序是學(xué)習(xí)Arduino IDE的第一步。千里之行,始于足下,讓我們開始吧!

  • 【硬件】

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

13K024A02.png

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

13K024A03.png

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

13K024A04.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)用硬件:  Carduino UNO R3 控制器
應(yīng)用軟件:  Arduino IDE 1.7.8
發(fā)布時間:  2016-02-16
創(chuàng) 建 人:  李澤
版 本 號:  1.0 
說    明:  若用于商業(yè)用途,請保留此段文字或注明代碼來源	
           哈爾濱奧松機(jī)器人科技有限股份公司保留所有版權(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進(jìn)行編程。安裝和打開方法參考之前的軟件介紹。

13K024A05.png

精選例程

火焰報警器

  • 【功能】

顧名思義,本電子裝置使用火焰?zhèn)鞲衅鳈z測是否存在火源,當(dāng)發(fā)現(xiàn)火焰后發(fā)出警報。你還可以結(jié)合氣體傳感器,甚至在掌握了更多編程方法后,實現(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ā)出紅外線的波長不同?;鹧姘l(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ǔ)到實踐

相關(guān)問題解答

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

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

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