今天我們用mPython與掌控板來做個更有趣的實驗。這個實驗讓大家更好地了解掌控板的兩個強大功能:通信功能以及3D方向感知功能。
當(dāng)掌控板在手中上下左右傾斜時,掌控板芯片是能測量出來的,用這個功能我們可以把掌控板做成指南針、水平儀。以后我們學(xué)習(xí)組裝掌控板小汽車時,也需要用到這個功能讓它能夠自動跟隨既定軌跡行駛。
現(xiàn)在我們用掌控板的方向功能來實現(xiàn)用體感控制發(fā)送信號,另一塊掌控板收到信號時控制顯示圖片。當(dāng)掌控板A前后左右傾斜時,發(fā)出前后左右的無線信號。另一塊掌控板B收到相應(yīng)信號會出現(xiàn)四個不同方位的箭頭標(biāo)志,當(dāng)掌控板A處于水平靜止的狀態(tài)則B顯示禁止標(biāo)志,如果掌控板A被搖晃則B出現(xiàn)一個問號的標(biāo)志。
掌控板有無線廣播功能,它使用2.4GHz的無線射頻通訊,共13個頻道。可實現(xiàn)一定區(qū)域內(nèi)的簡易組網(wǎng)通訊。在相同通道下,成員可接收廣播消息,就類似對講機一樣。我們可以用兩塊掌控板進(jìn)行相互間的收發(fā)消息。
1. 對發(fā)送端掌控板A編程,設(shè)定無線廣播頻道為14(如圖1)。
2. 當(dāng)掌控板向前傾斜時,無線廣播發(fā)送本機A的方向信號“forward”,并在本機A上顯示相應(yīng)提示圖標(biāo)。注意為了正確顯示圖像,需要OLED顯示清空;在坐標(biāo)上顯示內(nèi)置圖像;OLED顯示生效三個積木依次組合(如圖2)。
3. 其他方向的情況在“如果”后添加“否則如果”判斷,以同樣的形式添加。內(nèi)置圖像種類不少,不過多數(shù)是英文需要在Information目錄下仔細(xì)找一下方向圖標(biāo)。搖晃和靜止的效果也是同樣設(shè)置(如圖3)。
1. 與A板設(shè)置相同頻道。
2. 設(shè)置一個變量“send”,用于儲存廣播接收到的信號。
3. 根據(jù)不同的信號設(shè)置B板收到信號后顯示的文本或圖片(如圖4)。
總結(jié),今天第一次用mPython編寫結(jié)合通信功能的實驗,難度并不大,主要目標(biāo)是熟悉軟件和兩塊掌控板的通信。顯示效果:
https://pan.baidu.com/s/1AoWxsbk
b22eP5STc91SYRg
提取碼:p30l