陳所林
(南京市玄武中等專業(yè)學(xué)校,江蘇南京,210042)
Otto 開源機(jī)器人寓教寓樂,其結(jié)合3D 打印技術(shù)與信息技術(shù),成為不少中小學(xué)及辦學(xué)培訓(xùn)機(jī)構(gòu)信息課的制作內(nèi)容。這些作品均以娛樂、近距離控制為主、物聯(lián)網(wǎng)控制較少。21 世紀(jì)的今天,隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,互聯(lián)網(wǎng)改變了人們的生活,物聯(lián)設(shè)備無處不在,能否借助互聯(lián)網(wǎng)制作一款既可以娛樂又具有實(shí)用功能的物聯(lián)機(jī)器人呢?我的想法是讓它具有一鍵配網(wǎng)、結(jié)合網(wǎng)絡(luò)實(shí)現(xiàn)手機(jī)端遠(yuǎn)程控制;機(jī)器人面部Oled 屏顯示日期、時(shí)間、本地溫、濕度值、手機(jī)端同步顯示溫、濕度值及實(shí)時(shí)溫、濕度變化曲線、機(jī)器人舞蹈動(dòng)作的控制、兩眼燈光顏色的變換、左、右兩耳燈光通斷及機(jī)器人音樂播放的音量及曲目變換[1]。
作品實(shí)現(xiàn)軟件上我采用了易學(xué)易用的Mixly、Blynk 及Ottoblockly 軟件,手機(jī)端采用Blynk APP 設(shè)置實(shí)現(xiàn)對(duì)機(jī)器人的功能控制,硬件主控我采用了Arduino Nano 實(shí)現(xiàn)機(jī)器人的動(dòng)作控制,網(wǎng)控采用Esp8266 NodeMcu V3 12E,外殼采用Otto 開源機(jī)器人帶四肢版3D 打印件,下面詳細(xì)講解我的制作過程與大家一同分享、交流。

表1 元器件清單
許多人沒3D 打印機(jī)也不會(huì)建模,但網(wǎng)上帶四肢版Otto機(jī)器人外殼出售有許多且便宜,買來的外殼只要稍做處理,讓相應(yīng)空間容下所需元件即可。如身體部分外殼需要做如下處理(見圖1):打磨掉1 處的加強(qiáng)筋,能夠放入DHT11溫濕度傳感器,用1 毫米鉆頭鉆幾個(gè)小孔便于傳感器采集溫濕度信息。2 處打磨掉加強(qiáng)筋要求容下小型繼電器,3 處是我居中采用圓規(guī)根據(jù)喇叭的大小先畫出直徑為30 毫米的圓,然后用直徑為1 毫米小鉆頭開出分布均勻的小孔,便于機(jī)器人音樂聲音的傳出。4 處居中開出一個(gè)27mm×20mm長方形的孔,能夠容下0.96 寸OLED 屏。

圖1 打印機(jī)外殼
機(jī)器人眼部采用超生波傳感器改制,將其R 頭與T 頭拆開并將2 片1 位圓形WS2812 5050 RGB模塊粘貼于內(nèi)部基板并將其按級(jí)聯(lián)要求將其中一個(gè)燈片的DI 接另一燈片的DO 從DI 引出信號(hào)端S,共G、共V 焊接好重新裝入外殼并引出S、G、V三根引線,如圖2 所示。

圖2 機(jī)器人眼部構(gòu)件
OttO 機(jī)器人的組裝方法可參考網(wǎng)上Otto 機(jī)器人的組裝方法,是開源的也很多很詳細(xì),大家可參照說明及組裝圖安裝即可,這里不再贅述(新增電子元件的連接方法物聯(lián)網(wǎng)機(jī)器人電路連接圖)。
各電子元器件連接如圖3 所示 。

圖3 物聯(lián)網(wǎng)機(jī)器人電路連接圖
該程序結(jié)合Ottoblockly 軟件編寫實(shí)現(xiàn),主要來實(shí)現(xiàn)機(jī)器人的舞蹈動(dòng)作(每位讀者對(duì)舞蹈動(dòng)作的要求不一編程時(shí)可自行拖動(dòng)于任務(wù)區(qū))由Nano 8 腳電位實(shí)現(xiàn)控制是否執(zhí)行[2],如圖4 所示。

圖4 機(jī)器人舞蹈程序
網(wǎng)絡(luò)控制程序由Mixly 軟件編寫實(shí)現(xiàn),程序內(nèi)服務(wù)器地址連接于blynk.mixly.org 該服務(wù)器免費(fèi)接入,響應(yīng)速度較快。鑒于文章幅面所限程序部分只摘錄部分程序顯示,讀者如需詳細(xì)程序請(qǐng)下載刊發(fā)資料。部分截圖如圖5 所示。

圖5 ESP8266 控制程序
手機(jī)端下載Blynk APP 在同一項(xiàng)目下分別建立時(shí)間、溫濕度顯示曲線、音樂控制及機(jī)器人眼部燈光控制、左、右側(cè)燈光等功能控制,設(shè)置方法如下:
(1)在項(xiàng)目設(shè)置中添加Real-time clock(實(shí)時(shí)時(shí)鐘)組件,該組件可以為物聯(lián)網(wǎng)開發(fā)板提供當(dāng)前的準(zhǔn)確時(shí)間,添加Realtime clock 組件后將時(shí)區(qū)設(shè)置為(GMT+08:00)Asia/Shanghai。
(2)添加SuperChart (超級(jí)圖表)實(shí)現(xiàn)手機(jī)端溫、濕度變化的曲線顯示圖。內(nèi)部添加兩條數(shù)據(jù)源分別為“溫度變化”、“濕度變化”將溫度變化的數(shù)據(jù)的輸入管腳設(shè)置為V0,濕度變化的數(shù)據(jù)的輸入管腳設(shè)置為V1,當(dāng)周邊的溫度或濕度有所變化時(shí),手機(jī)APP 端顯示的溫度和濕度曲線就會(huì)發(fā)生變化并且可以看到溫濕度變化的歷史數(shù)據(jù)。
(3)添加Labeled Value Settings(標(biāo)簽值設(shè)置)組件實(shí)現(xiàn)手機(jī)端溫、濕度值的顯示,其中溫度的虛擬管腳設(shè)為V0 單位欄設(shè)為/pin/℃,濕度的虛擬管腳設(shè)為V1 單位設(shè)為/pin%。
(4)添加Music Player (音樂播放)及Step H 或Step V 組件實(shí)現(xiàn)遠(yuǎn)程音樂選曲功能及音量大小控制,其中音樂播放虛擬管腳為V2,音樂播放音量控制虛擬管腳為V3。
(5)添 加ZeRGBa(斑馬取色)組件,先將數(shù)據(jù)模式設(shè)置成Merge(合并)模式,將設(shè)置輸出管腳設(shè)置為虛擬管腳為V6,實(shí)現(xiàn)機(jī)器人眼部RGB 彩燈模塊顯示出不同的顏色控制。
(6)同時(shí)添加3 個(gè)Button Settings(按鈕)組件,實(shí)現(xiàn)左右兩側(cè)燈光的開、關(guān)控制及機(jī)器人舞蹈的控制。左側(cè)燈光的控制腳為gp3、右側(cè)燈光的控制腳為gp16,機(jī)器人舞蹈的控制腳為gp14。
所有功能添加后手機(jī)端形成如圖6 所示的項(xiàng)目控制界面。

圖6 手機(jī)控制
機(jī)器人無論身處何地只要本地具有WiFi,即可實(shí)現(xiàn)一鍵配網(wǎng),利用手機(jī)關(guān)注“安信可科技”微信公眾號(hào)再輸入本地?zé)o線網(wǎng)名及密碼完成網(wǎng)絡(luò)配置,配置完畢即可實(shí)現(xiàn)手機(jī)對(duì)機(jī)器人的聯(lián)網(wǎng)操作控制,結(jié)合Blynk APP的設(shè)置控制方法上還可實(shí)現(xiàn)多部手機(jī)對(duì)同一機(jī)器人的網(wǎng)絡(luò)控制。
本次物聯(lián)網(wǎng)機(jī)器人的制作實(shí)現(xiàn)了聯(lián)網(wǎng)對(duì)機(jī)器人多項(xiàng)功能的控制,每一項(xiàng)功能在機(jī)器人相關(guān)部位的實(shí)現(xiàn)都是我經(jīng)過多次實(shí)驗(yàn)、調(diào)試才形成。經(jīng)過實(shí)踐驗(yàn)證這個(gè)作品是初、高中學(xué)生學(xué)習(xí)物聯(lián)網(wǎng)知識(shí)的一個(gè)很好的綜合實(shí)習(xí)案例,寓教寓樂,同時(shí)它的實(shí)用性也很強(qiáng)讀者只要稍加思考便可將其功能拓展應(yīng)用于生活制作出居家生活控制的物聯(lián)網(wǎng)作品。在此期待讀者的交流與意見。