主題
使用 法蘭斯老師的上課例子,學習如何使用 Pixel:Bit。
Pixel:Bit 的硬體規格介紹
CIRCUS Pi ,網址:https://www.circuspi.com/
選「教學教具」
選「 Pixel:Bit系列」。
「CIRCUS Pi」網頁往下移,看到「硬體規格」。
Pixel:Bit 正面。
Pixel:Bit 背面。
「CIRCUS Pi」網頁再往下移 看到規格表。
有二種微控制器:
Visual part: ESP32
GPIO part: ATmega328P
ESP32 與 ATmega328P 雙控制器,分工處理影像與 GPIO 控制。
時脈速度:
因為 Pixel:Bit有2種微控制器,根據要處理的對象,要調整以下三個項目:
- BlocklyDuinoF2 的 工作模式。
- Arduino 的開發板 模式。
- UART 切換開關 模式。
影像處理使用的微控制器為 ESP32,模式為 「ESP32 Wrover Module 」。
一般輸入輸出使用的微控制器為ATmega328P,模式為 「Arduino Pro or Pro Mini 」。
USB CP2102 驅動程式下載
https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
選 「DOWNLOADS」。
往下移,按「CP210x Windows Drivers」,下載驅動程式「CP210x_Windows_Drivers.zip」。
解壓縮後,執行「CP210xVCPInstaller_x64.exe」,安裝驅動程式。MbitBot Lite 擴展板
在 iCShop 網站,網址:https://www.icshop.com.tw/
輸入關鍵字「MbitBot Lite 擴展板」,按右邊的放大鏡圖示來尋找。
找到 MbitBot Lite 擴展板,按下去。
看到 商品簡介,專為micro:bit開發的輕量型擴展板。
再往下看到商品規格,可看到線路圖。
接腳的意思,黃色 :信號(S),紅色(VCC),黑色(GND)。
編號 16接 led 燈。
在程式是寫 數位寫入 Pin 10 ,如下:
在Pro Mini 模式編譯上傳(若在 ESP32 模式編譯上傳完是沒有反應), 結果 綠燈亮4次。
Pixel:Bit和MbitBot Lite 擴展板的接法
將 USB線 接到 Pixel:Bit 的USB 接口,因為要把程式上傳到 Pixel:Bit,不要接到MbitBot Lite 擴展板的USB 接口 。
將 MbitBot Lite 擴展板 的電源切換到 5V。
MbitBot Lite 擴展板的「功能切換開關」,1和2 的開關都切換到 ON。
將 Pixel:Bit 插入到 MbitBot Lite的插槽內。
插法如下圖,接腳正確後,壓下去。
選擇正確的COM編號
USB 線另一端接到電腦的USB 埠。
滑鼠移到螢幕 左下方 Windows 視窗圖示,按右鍵,選「裝置管理員」。
下載 BlocklyDuinoF2 和更新檔
如何下載 BlocklyDuinoF2 及其更新檔,請看我的另一篇文章「ESP32 使用 BlocklyDuino-程式設計入門實作」。
ESP32 Wrover Module 的例子-影像上傳LineNotify
執行BlocklyDuinoF2。
COM 選在「裝置管理員」所看到的COM,我是COM5。
工作模式請選 「ESP32 Wrover Module」。
「啟動 Arduino IDE」。
在 Arduino ,「工具/開發板 /ESP32 Arduino/ESP32 Wrover Module」。
BlocklyDuinoF2 和 Arduino 的工作模式,二者要一樣。
工具/Partition Scheme /Huge APP,這樣的設定可容納比較大的程式。
本例要使用影像處理的功能,所以將UART 切換開關 切換到中間的 ESP 位置 。
在 BlocklyDuinoF2,開啟法蘭斯老師「影像上傳LineNotify」此範例。
完整程式
程式說明
貼上 自己申請的 Line Notify Token 。
更改 無線網路名稱和密碼。
修改通訊鮑率為 57600,「解析度」自己選一個,可用 VGA。(太高解析度的圖形,可能無法上傳出去)
修改 表情包代碼和表情包貼圖代碼。
有關 Line Notify Token 和表情包代碼的介紹,請看我的另一篇文章「ESP32 - 使用 BlocklyDuino-溫濕度感測器」。
從 「吉哥積木/開發板/設定」,拿出 「開發板 7697初始化」,將 下拉式選單中的 7697 改成 ESP32。
從 「法蘭斯積木/Server模組/Pixel: Bit 網頁模組」,拿出 「PIXEL:BIT(張流)」。
從 「法蘭斯積木/Line 通知」,拿出 「Line 通知(https) 權杖」。
從 「法蘭斯積木/Server模組/ESP32-CAM 網頁模組」,拿出 「ESP32-CAM截圖上傳Line通知」。
按「下載」鈕,再按下面的「下載」,開始編譯程式,最後出現 Finish,表示成功。
「影像上傳LineNotify」 執行結果
按「PuTTY序列埠監看視窗」,鮑率選「57600」,按「開啟 PUTTY」。
查看 STAIP address 的 IP,我的是 192.168.1.105。
在 Line 看到結果:
使用 Chrome,網址輸入上面看到的 STAIP address 的 IP,可看到即時影像。
Arduino Pro or Pro Mini 的例子-WS2812彩色燈條
有些例子,要改用 「Arduino Pro or Pro Mini 」,如使用 PRO MINI UART UART 傳輸。
「1320-1420 IPS LCD彩色螢幕輸出、PRO MINI UART傳輸」/ 「UART」,「MbitBotLite_WS2812」(彩色燈條)
BlocklyDuinoF2 要選「Arduino Pro or Pro Mini 」:
在 Arduino ,「工具/開發板 /Arduino AVR Boards/ Arduino Pro or Pro Mini 」。
工具/處理器 /ATmega328P(3.3V,8MHz)。根據前面 Pixel:Bit 硬體規格,本例子所使用的微控制器 是ATmega328P,時脈速度是8 MHz,輸入電壓(I/O)3.3V。
如果沒有切換到正確的位置,無法上傳程式到 Pixel:Bit。
完整程式
程式說明
從 「吉哥積木/開發板/設定」,拿出 「開發板 7697初始化」,將 下拉式選單中的 7697 改成 Arduino。
從 「法蘭斯積木/序列埠」,拿出 「序列埠 Serial 通訊鮑率 9600」,此積木有下拉式選單可直接選速率。下面那個「序列埠 Serial 通訊鮑率 9600」積木,要自己輸入速率。
從 「法蘭斯積木/WS2812燈條」,拿出 「WS2812燈條 腳位 燈數」,修改數值。
從 「時間」,拿出 「延遲毫秒 1000」,1000毫秒即為1秒。
從 「迴圈」,拿出 「循環計數 i 從 1到10 間隔數1」,修改數值。
「WS2812彩色燈條」的執行結果
參考資料
法蘭斯老師的github: