林委鋒
“老師,今天我們要學習什么呢?”“同學們,機器人的外形多種多樣,有的大,有的小,它們各有各的用途。你們看老師手上的這個機器人(如下圖),它有什么特別之處?對了,和以前做的機器人相比,它外形變小了!是不是很可愛?你們喜歡這樣的機器人嗎?那我們就來做一個這種指尖上的機器人吧!”
圖1是這種機器人的結(jié)構(gòu)組成,主要用到的元件和材料有:(1)Arduino Nano控制板,(2)電機驅(qū)動板L9110S,(3)減速電機N20和D輪,(4)6厘米線槽。
Arduino Nano是Arduino系列控制板的微型版本,它沒有電源插座,程序的下載接口是Mini-B型USB接口。Arduino Nano尺寸非常小,而且可以直接插在面包板上使用。
為了縮小機器人的外形,電機不再使用本欄目以前介紹的TT電機,而是改用一種比較小的N20減速電機和配套的D輪。電機驅(qū)動板選用L9110S,其工作電壓為2.5~12V,有兩個通道輸出,每個通道最大工作電流0.8A。其控制端有6個引腳,分為三組:(1)電源供電端VCC、GND,由于電機的工作電流比較大,控制板5V端的輸出電流可能會不夠,可將VCC端接9V電池,獨立供電;(2)電機A控制端引腳1A、1B;(3)電機B控制端引腳2A、2B。當控制端A、B為高、低電平時,控制電機的正、反轉(zhuǎn),當A、B同為低電平或高電平時,電機停止。與L298N不同的是,L9110S沒有單獨的調(diào)速端,所以在實際電路連接中,把控制端分別接到Arduino控制板的PWM引腳(3、5、6、9),把原來的高電平輸出改為PWM輸出,來實現(xiàn)調(diào)速。為了方便各模塊與Arduino Nano控制板的導線連接,將控制板裝在一小面包板上,用9V電池供電。電池通過導線連接到Nano板的VIN和GND端口上,如圖2所示,再從5V和GND端引出5V電源給其他模塊供電。其他引腳的使用分配及導線連接可參看圖1,也可參考本欄目往期的介紹自行設(shè)計。
這種指尖機器人所用的線槽寬度為6cm,長度約15cm。制作中先考慮電機和輪子的安裝位置,確定好后鉆孔、安裝,然后再安裝各個功能模塊,如圖3中的超聲波傳感器(HC-SR04)、尋跡模塊(紅外反射傳感器H6B3)和液晶顯示屏(I2C LCD1602)。也可以根據(jù)自已的興趣,安裝其他模塊。
接下來編寫程序。首先編寫一個測試程序,讓機器人前進、轉(zhuǎn)彎,看機器人是否可以正常工作。然后根據(jù)機器人安裝的功能模塊,編寫一個機器人走黑線程序。走黑線程序是一個重復(fù)循環(huán)的模塊,還可以增加一個避障的功能模塊,如圖4所示,把循環(huán)改為條件循環(huán),增加一個超聲波距離判斷指令,當障礙物的距離小于10cm的時候,機器人停止或拐彎,完成避障的功能。
如果你希望機器人再炫酷一些,那就把“跟老林學做機器人(十)”介紹的藍牙模塊添加上去,再修改程序和手機控制端程序,你就可以用手機來控制它了。