本書使用全球經驗豐富的Arduino與樂高結合進行機器人制作,使學生能夠巧妙地搭建機器人的機械結構; 運用ArduBlock圖形化語言進行程序編寫,從而提升學生學習程序的興趣; 使用多種傳感器制作不同功能的機器人,在制作過程中讓學生學習機器人制作的相關知識。 本書以授課的形式,通過大量的機器人實例和搭建配圖講解機器人機械結構搭建和程序設計知識。詳細講解齒輪、連桿等機器人基本機械結構的原理和應用,并且鼓勵學生想象、思考,從而建構自己的機器人。 本書主要講解Arduino的使用方法,包括一些電子電路知識、傳感器的原理和知識,讓學生在制作機器人的同時,理解和掌握更多的科學知識和原理。 本書適用于有一定樂高積木搭建基礎的機器人初學者和開源硬件Arduino的創意機器人開發人員,既可以作為機器人初學者的學習用書,也可以作為中小學教師校本機器人課程的參考教材。
1. Arduino是一款國際流行的開源硬件,本書創造性地將Arduino與樂高積木的結合在一起,學生通過制作機器人既可以學習機械結構和程序設計的知識,又可以學習電子電路的知識和多種傳感器的使用方法和科學原理。2. 本書是以授課的方式,通過大量的機器人實例制作和搭建圖片讓學生去學習機器人知識,適用于中小學教師將它作為校本課程的教材進行課堂教學,同樣,本書也適用于初學者學習Arduino的使用方法和智能機器人的制作。3. 機器人的學習應該是可持續的,如何讓學生能夠從樂高式積木式的學習過渡到工業機器人的制作或者是創新作品的研發,終培養出創新型的人才,這是我們教育者需要思考的問題,學生對于機器人的學習應該是系統的,可持續的。因此,本課程將樂高積木與的創客工具Arduino相結合,讓學生利用Arduino繼續深入學習機器人的知識,從而能夠獨立開發和制作屬于自己的機器人作品。
高山 北京市第二中學 信息技術高級教師 北京市東城區信息技術學科帶頭人北京市科技創新大賽十佳科技教師北京市青少年機器人競賽十佳教練員 2014年獲全國信息技術品質課展評一等獎2015年獲第三屆全國機器人教學展評課一等獎 2014年高山老師出版的《樂高EV3機器人初級教程》受到廣大讀者的喜歡,銷量進入京東前500。
目錄
第1課神奇的Arduino
第2課會發光的LED燈
第3課高爾夫球手
第4課探照燈
第5課捕鼠器
第6課智能溫控風扇
第7課膽小的蜘蛛
第8課智能拐杖
第9課智能竹節蟲
第10課避障機器人
第11課循線小車
第12課相撲機器人
第13課會走路的機器人
第14課太空運輸機器人
第15課紅外遙控機器人
附錄A[我問你答]參考答案
附錄B搭建參考
表B1會發光的LED燈搭建步驟
表B2高爾夫球手搭建步驟
表B3捕鼠器搭建步驟
表B4智能溫控風扇搭建步驟
表B5膽小的蜘蛛搭建步驟
表B6智能拐杖搭建步驟
表B7智能竹節蟲搭建步驟
表B8紅外遙控機器人搭建步驟
表B9機器人套裝組件清單
第3課高爾夫球手高爾夫球作為一項高雅紳士的運動(如圖31所示),得到了很多人的喜愛。隨著科技的發展,試想如果有一個高爾夫機器人陪你打高爾夫球,豈不是一件很有意思的事情!
圖31打高爾夫球
課程目標
了解直流電機的工作原理;
理解分支結構程序的編程方法;
掌握按鈕的使用方法。任務描述
制作一個智能高爾夫機器人,它可以揮桿并擊球,你可以通過一個按鈕控制機器人的揮桿。
動手制作]1. 高爾夫球手手臂制作手臂的制作直接利用直流電機連接十字軸,再連接球桿,球桿的搭建如圖32所示。
圖32機械手臂
知識點加油站
FansMaker使用的電機是直流電機,直流電機是指能將直流電能轉換成機械能,使電機軸可以進行旋轉的電機。如圖33所示,FansMaker電機使用12V直流減速電機,轉速為200r/min。
圖33直流減速電機
2. 電機的安裝(1) 安裝電機與電機底架為了更好地將電機與積木零件安裝到一起,先將電機與電機底架進行安裝,如圖34和圖35所示。用兩個長螺絲釘將電機和電機底架連接起來。
圖34電機底架
圖35電機與底架安裝
拋磚引玉
這里注意不要拆掉電機上已有的兩個螺絲,這樣做可能會損壞電機的減速系統。電機上有兩個預留的螺絲口,我們拿兩個新的螺絲固定上即可。電機是通過程序設計實現轉動的,不要用手直接轉動電機,這樣做有可能會損壞電機。
(2) 安裝電機軸連接器電機的D型輸出軸與軸連接器進行安裝,安裝方法是將軸連接器小孔一端連接電機輸出軸并用螺絲固定,如圖36和37所示。
圖36軸連接器和螺絲
圖37電機輸出軸的連接
(3) 連接電機與球桿將軸連接器大孔一端連接樂高十字軸并用螺絲固定,如圖38所示。如果你覺得金屬螺絲會損壞樂高十字軸,也可以使用頂絲或者尼龍螺絲釘代替,如圖39所示。
圖38手臂與軸連接器連接
圖39尼龍螺絲連接
(4) 將手臂連接到高爾夫球機器人的軀干部分用兩根長螺絲將電機與軀干部分進行連接,將螺母擰緊使電機固定在高爾夫機器人身體上,如圖310所示。
圖310手臂與軸連接器連接
3. 安裝電機驅動板
知識點加油站
電機驅動板
FansMaker電機驅動板采用大功率電機專用驅動芯片L298P,可直接驅動直流電機,電機驅動板可以同時控制2個電機M1和M2。如圖311所示。
圖311電機驅動板
1) 電機與電機驅動板的連接利用鱷魚線將電機與電機驅動板相連,一端的金屬線絲連接電機驅動板,另一端的鱷魚夾夾在電機上,如圖312所示。
圖312鱷魚線與電機驅動板連接
拋磚引玉
圖313電機驅動板連接
電機驅動板與電機的連接線除了鱷魚線外,還可以使用飛機頭測試線或直接將線焊接到電機上。測試使用電機時,可以使用鱷魚線或飛機頭測試線,如果長時間使用電機不必進行拆卸,可以直接將電線焊接到電機上進行使用,如圖313所示。電機驅動板上M1和M2兩個電機口如何壓緊電線絲呢?這里注意逆時針方向是松,順時針方向是緊。先松開螺絲,放入電線絲,擰緊螺絲就可以了。
2) 電機驅動板與Arduino的連接將電機驅動板直接插到Arduino主控板上,如圖314所示。
圖314電機驅動板的連接
拋磚引玉
從圖314中發現在主控板下面有一個金屬板,這是主控板的固定架,利用固定架就可以將主控板固定在樂高積木上面,固定支架使用銅柱與主控板連接。一般情況下,使用2~3個銅柱就可以了。
4. 電池的安裝
圖315鋰電池
Arduino通過USB下載線連接計算機,USB輸入電壓是5V,電機輸出口的電壓在3V左右(由于Arduino主控板的電路設計原因),如果要直接驅動12V的直流減速電機,你會看到電機的速度非常的慢,不能達到完成任務的要求。因此,我們可以加入外接電源保障控制電路的供電和直流減速電機的正常工作。我們選用7.4V鋰電池進行供電,它在充滿電的情況下電壓是8V左右,如圖315所示。
拋磚引玉
鋰電池有兩個連接端口,公頭端口插到電機驅動板上,母頭端口是充電端口,當鋰電池使用一段時間后要進行充電,充電后再使用。為了使用安全,應選擇帶電路保護的鋰電池,不要將這兩個頭連接到一起,防止電池被損壞。
程序設計]1. 控制電機轉動,揮動球桿
知識點加油站
控制電機的接口是10、11、12、13,控制M1電機的是接口10和12,其中12口控制電機方向,10口控制電機轉速; 控制M2電機的是接口11和13,其中13口控制電機方向,11口控制電機轉速。電機方向用HIGH和LOW控制,電機轉速在0~255范圍內設置,255為較大速度,0為停止。
控制電機M1揮桿1s,然后收桿,程序如圖316所示。
圖316控制電機揮桿程序
拋磚引玉
電機轉速的控制較大為255,如果設置的數值超出255,實際的數值是對256進行取余。例如設定300,那么取余數得到44,你設定的數值實際是44。
2. 安裝按鈕,編寫程序控制電機的轉動上面的程序可以達到揮桿和收桿的效果,但是循環執行,我們無法控制。為了可以人為地控制揮桿,加上按鈕裝置,如圖317所示。
圖317揮桿按鈕
知識點加油站
按鈕
按鈕可以按下和松開,按下時指示燈會亮。我們利用按鈕的按下和松開控制手臂擊打高爾夫球。按鈕也可以看作是傳感器,按下按鈕時,針腳的值返回1,不按按鈕時針腳的返回值為0。
要使用按鈕,我們要先插上傳感器擴展板,如圖318所示。按鈕通過導線連接到數字口3上。
圖318控制電機揮桿程序
加上按鈕后的程序設計如圖319所示。
圖319按鈕控制電機揮桿程序
知識點加油站
圖320條件語句
在程序中需要判斷的時候需要用到條件分支語句,如圖320所示。條件滿足,則執行“執行”后面的語句; 條件不滿足,則執行“否則執行”后面的語句。
拋磚引玉
條件表達式的結果是邏輯值,條件滿足時結果為真,條件不滿足時結果為假。如果條件表達式是個數值,那么是0時是假,非0時是真。由于按鈕的值只有0和1,因此,我們在條件表達式中直接放上讀取3口針腳值就可以了,如圖321所示。
圖321直接讀取3口針腳值
完成效果高爾夫球手完成效果如圖322所示。
圖322制作的高爾夫球手
我問你答1. 如果電機設置模擬端口速度為900,那它實際的速度應該是多少?
2. 編寫程序的3種程序結構是什么?
知識拓展]舵機
舵機是由直流電機、減速齒輪組、傳感器和控制電路組成的一套自動控制系統,如圖323和圖324所示。通過發送信號輸出旋轉角度。舵機與普通直流電機的區別主要在于: 直流電機是圓周轉動提供動力,而舵機只能在一定角度內轉動,普通直流電機無法反饋轉動的角度信息,而舵機則可以。
圖323各種舵機
圖324舵機包含的零件