- Arduino &樂高創(chuàng)意機器人制作教程
- 高山
- 2182字
- 2020-11-28 18:18:37
第2課 會發(fā)光的LED燈
LED(LightEmittingDiode)燈又稱發(fā)光二極管,是一種能夠直接將電能轉(zhuǎn)化為可見光的固態(tài)半導體器件,如圖2-1所示。

圖2-1 LED燈
課程目標
· 熟練使用順序結(jié)構(gòu)控制LED燈的亮和滅;
· 理解PWM脈沖寬度調(diào)制技術并控制LED燈的明暗;
· 掌握程序的循環(huán)結(jié)構(gòu)和呼吸燈的程序設計。
任務描述
· 制作臺燈,編寫程序控制臺燈的亮或滅;
· 編寫程序制作呼吸燈。
動手制作
1.使用樂高積木搭建臺燈
使用樂高積木能夠很容易地搭建出臺燈。本課臺燈的結(jié)構(gòu)利用樂高的梁和銷進行搭建,如圖2-2所示。

圖2-2 積木搭建的燈
知識加油站
樂高梁分為直梁和彎梁,如圖2-3和2-4所示。為了搭建方便,也可以使用四邊形梁,如圖2-5所示。我們搭建的機器人主要依靠這幾種梁搭建出不同的機器人結(jié)構(gòu)。

圖2-3 直梁

圖2-4 彎梁

圖2-5 四邊形梁
銷分為黑色銷和灰色銷,如圖2-6所示。黑色銷和灰色銷的區(qū)別在于,黑色銷連接部分更加堅固,灰色銷連接部分比較松動。當需要固定結(jié)構(gòu)的時候,我們利用黑色銷搭建;當需要轉(zhuǎn)動結(jié)構(gòu)的時候(如連桿機構(gòu)),就可以利用灰色銷搭建。

圖2-6 灰色銷和黑色銷
十字軸如圖2-7所示,它可以很方便地連接兩根梁,固定的時候兩端連接軸套。

圖2-7 十字軸
拋磚引玉
使用樂高積木零件進行搭建更加簡單、易學,可以在非常短的時間制作出滿意的作品。使用的梁和銷,相當于工業(yè)產(chǎn)品中的金屬梁和螺絲釘。在熟練使用本套課件制作機器人后,同學們再去嘗試金屬零件的制作就輕而易舉了。
2.主板與I/O擴展板連接
將I/O擴展板插入Arduino主板上方,插針要與主板底座相對應,連接圖如圖2-8所示。

圖2-8 主板與I/O擴展板連接
知識加油站
I/O擴展板
主板可以方便地與I/O擴展板相互連接。擴展板提供14個數(shù)字3P針腳、6個模擬3P針腳;中部可直接插入Xbee封裝的藍牙、WiFi和Xbee通信模塊,并配有普通藍牙模塊、APC和SD卡的擴展接口;擴展板角落接線柱為主控器和擴展板供電,中部接線柱為數(shù)字口上的舵機供電,如圖2-9所示。

圖2-9 FansMakerI/O擴展板
3.LED燈與主板連接
LED燈模塊如圖2-10所示。

圖2-10 LED燈模塊
知識加油站
LED燈的優(yōu)點是體積小、發(fā)熱量少、壽命長、省電、光源色彩豐富、抗沖擊和抗震性能好、不易破損、安全性高。
LED燈有3個引腳,VCC、GND、D分別代表正極、地和數(shù)據(jù)。通過導線與主板的3個引腳對應連接,注意線序不要接錯(顏色要對應),將LED燈連接到主板的數(shù)字4針腳上,如圖2-11所示。

圖2-11 LED燈與擴展板連接
拋磚引玉
導線的顏色與數(shù)字針腳的顏色是對應的,分別是黑色、紅色和藍色,連接時黑色接大地,紅色連接正極,藍色連接數(shù)據(jù),這樣就不會出錯了。注意,一旦連接出現(xiàn)問題,有可能會燒壞設備,如果看到煙霧或聞到燒焦的氣味,要立刻拔掉電源。
4.LED燈與積木連接
通過螺絲和螺母將LED燈與積木進行連接,如圖2-12所示。

圖2-12 LED燈與積木連接
程序設計
本節(jié)課編寫程序控制臺燈的亮或滅。
1.控制LED燈亮或滅
控制數(shù)字針腳4設定值為高,LED燈亮,如圖2-13所示。當設定值為低時,燈滅。這里要注意在燈亮和滅程序之間加入延時,否則,我們的肉眼可能無法看到燈亮。

圖2-13 LED燈亮
制作SOS信號燈時,SOS信號燈亮的時間是三長兩短,如圖2-14所示的程序是一長一短,試編寫三長兩短的程序。

圖2-14 LED燈亮
2.控制LED燈亮、較亮、暗和滅
LED燈有亮和滅,如果需要稍亮一些或稍暗一些,是否可以用程序進行控制呢?答案是肯定的,我們需要使用PWM脈沖寬度調(diào)制技術,Arduino主板的PWM端口分別是3、5、6、9、10、11。注意,應該將LED連接到具有PWM功能的接口上,這里將它連接到數(shù)字接口3上。
知識加油站
PWM脈沖寬度調(diào)制
數(shù)字信號只有高(5V)、低(0V)兩種電壓信號。如果要使燈變暗,可以通過串聯(lián)電阻實現(xiàn),但是程序中如果要實現(xiàn)頻繁地變換燈的不同亮度,用電阻的方法就不現(xiàn)實了,我們需要使用PWM技術。
PWM使用占空比控制方波,從而輸出不同的電壓。占空比就是高電平保持的時間與該PWM的時鐘周期的時間之比,占空比越大,電壓越高,燈就越亮。如圖2-15所示。

圖2-15 PWM方波
PWM使用數(shù)字手段控制模擬的輸出,例如00000000表示0V,11111111表示5V, 10101010表示2.5V。這樣,利用PWM技術就可以將數(shù)字針腳的設備當成模擬口使用了,例如燈的明暗、電機的轉(zhuǎn)速都是依靠PWM脈沖寬度調(diào)制技術實現(xiàn)的。
程序如圖2-16所示,由于使用PWM技術,在程序設計中應使用“設定模擬針腳值”模塊。

圖2-16 設定模擬針腳值
拋磚引玉
Arduino主板上數(shù)字接口前有“~”標記的是支持PWM技術的接口,在傳感器擴展板和電機擴展板上面有“*”標記的是支持PWM技術的接口,可以通過這個方法查找支持PWM技術的數(shù)字接口。
3.呼吸燈的程序設計
LED燈可以像人的呼吸一樣緩慢地變暗和變亮,呼吸燈的程序設計需要使用“當循環(huán)”語句。在“當循環(huán)”語句中,程序會被循環(huán)執(zhí)行。程序如圖2-17所示。

圖2-17 呼吸燈
知識加油站
當循環(huán)
當test條件成立時,執(zhí)行commands命令語句并循環(huán);當條件不成立時退出循環(huán),如圖2-18所示。像這種可以循環(huán)執(zhí)行的語句結(jié)構(gòu)叫做循環(huán)結(jié)構(gòu)。

圖2-18 當循環(huán)
變量
變量是用來儲存數(shù)值或字符的,它可以進行數(shù)學運算。舉個例子,變量就像水杯一樣,數(shù)值或字符會像水一樣存放在水杯中,變量內(nèi)容在第6課會重點講解。
變量可以重復儲存數(shù)值,新存儲的數(shù)值會覆蓋掉前面存儲的數(shù)值。如圖2-19所示,led變量加1后,將結(jié)果再賦值給led變量。

圖2-19 設置變量led加1
?完成效果
臺燈的完成效果如圖2-20所示,你也可以加上按鈕,這樣就可以制作一個腳踏燈了。

圖2-20 制作的臺燈

圖2-20(續(xù))
?我問你答
你對PWM技術是如何理解的?
________________________________________________________________________
知識拓展
PWM技術對直流電機的控制
利用PWM技術可以控制燈光的明暗,它還可以控制直流電機的轉(zhuǎn)速。設置模擬針腳值0~255(0是停止,255是最大值)。可以通過PWM控制電機的轉(zhuǎn)速。

- 大數(shù)據(jù)專業(yè)英語
- 物聯(lián)網(wǎng)與云計算
- 流處理器研究與設計
- 西門子S7-200 SMART PLC實例指導學與用
- DevOps:Continuous Delivery,Integration,and Deployment with DevOps
- Ceph:Designing and Implementing Scalable Storage Systems
- Moodle Course Design Best Practices
- Implementing Splunk 7(Third Edition)
- 我也能做CTO之程序員職業(yè)規(guī)劃
- Mastering ServiceNow Scripting
- 網(wǎng)站入侵與腳本攻防修煉
- Excel 2007常見技法與行業(yè)應用實例精講
- 基于企業(yè)網(wǎng)站的顧客感知服務質(zhì)量評價理論模型與實證研究
- WOW!Photoshop CS6完全自學寶典
- 工業(yè)機器人集成應用