網頁

2022年8月26日 星期五

Pixel:Bit 的入門介紹 -學習範例

 主題

使用 法蘭斯老師的上課例子,學習如何使用 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 控制。

時脈速度:
240 MHz (ESP32)
8 MHz (ATmega328P)

輸入電壓:
3.3V (I/O),5V (Micro USB)

「CIRCUS Pi」網頁再往下移 看到線路圖。


(我拿到的擴展板 ,編號 6 對映 D6,不是 D7, 編號8~編號16 對映 D2~D10,上述是在Pro Mini 模式,不是 ESP32 模式)

「CIRCUS Pi」網頁再往下移 看到 Pixel:Bit 相關應用、技術文章。
詳細資料,請參考 「CIRCUS Pi」網頁。

因為 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 視窗圖示,按右鍵,選「裝置管理員」。

按「連接埠(COM和LPT)」檢查連接埠是連到那一個 COM,我的是連到COM5。




下載  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。
本程式的需求,要將UART 切換開關,切換到左邊的 PRO MINI 位置 。

如果沒有切換到正確的位置,無法上傳程式到 Pixel:Bit。

完整程式


程式說明

從 「吉哥積木/開發板/設定」,拿出 「開發板 7697初始化」,將 下拉式選單中的 7697 改成 Arduino。
從 「法蘭斯積木/序列埠」,拿出 「序列埠 Serial 通訊鮑率 9600」,此積木有下拉式選單可直接選速率。下面那個「序列埠 Serial 通訊鮑率 9600」積木,要自己輸入速率。


從 「法蘭斯積木/WS2812燈條」,拿出 「WS2812燈條 腳位 燈數」,修改數值。
從 「時間」,拿出 「延遲毫秒 1000」,1000毫秒即為1秒。

從 「迴圈」,拿出 「循環計數 i 從 1到10 間隔數1」,修改數值。

「WS2812彩色燈條」的執行結果




參考資料
法蘭斯老師的github: