Arduino IDEでRaspberry Pi Pico W のBluetoothが動いています。
また,Pico WではRGB LEDパネルのドット絵を動かしているので,BluetoothでスマホからLEDパネルにメッセージを送って表示してみました。
使った機材は
・Androidの"Serial Bluetooth Terminal"
・Raspberry Pi Pico W
・32x32RGBLEDパネル(HUB75規格)
です。
今までの画面の下半分ぐらいの位置に受信したメッセージを表示しています。
![](https://stat.ameba.jp/user_images/20240426/19/pta55/e3/46/j/o0900120015430798322.jpg?caw=800)
送信するスマホ画面です。
テキストを入力して右矢印を押すとデータが送信されます。
![](https://stat.ameba.jp/user_images/20240426/19/pta55/1e/5b/j/o1200098315430798325.jpg?caw=800)
受信したデータは左にスクロールしながら表示しています。
![](https://stat.ameba.jp/user_images/20240426/19/pta55/b7/07/j/o1200052615430798330.jpg?caw=800)
![](https://stat.ameba.jp/user_images/20240426/19/pta55/fb/71/j/o1200051815430798327.jpg?caw=800)
Serial Bluetooth TerminalにはM1-M6などのファンクションキー?があります。
よく使うコマンドや画面の切り替え指定の送信などに使うと便利そうです(^^)。
![](https://stat.ameba.jp/user_images/20240426/19/pta55/34/3e/j/o1400128015430798324.jpg?caw=800)
Pico WのプログラムでBluetoothでの受信に関係した部分です。
ごちゃごちゃしていますが(^^;;;,SerialBTを使って,データの受信の有無と読み取りを行なっています。
以上のように,LEDパネルでの表示がまだまだすっきりしていませんが(^^;;;;;,,Bluetoothでのメッセージの送受信はシンプルにできました。
ただ,プログラムを修正してダウンロードする際にエラーがよく出るようになり,BOOTボタンのお世話になりました。
また,プログラムの書き込みごとにBluetoothのペアリングが切れるので手間がかかります。
まずは有線のUARTで動くプログラムにしておき,動作確認後にSerial からSerialBTに置き換えると楽だと思いました(^^)。
それにしても,「SerialBT」系は分かりやすくて良いですね。画面切り替えなどは簡単にできますので,使いでがありますね。
また,Pico WではRGB LEDパネルのドット絵を動かしているので,BluetoothでスマホからLEDパネルにメッセージを送って表示してみました。
使った機材は
・Androidの"Serial Bluetooth Terminal"
・Raspberry Pi Pico W
・32x32RGBLEDパネル(HUB75規格)
です。
今までの画面の下半分ぐらいの位置に受信したメッセージを表示しています。
![](https://stat.ameba.jp/user_images/20240426/19/pta55/e3/46/j/o0900120015430798322.jpg?caw=800)
送信するスマホ画面です。
テキストを入力して右矢印を押すとデータが送信されます。
![](https://stat.ameba.jp/user_images/20240426/19/pta55/1e/5b/j/o1200098315430798325.jpg?caw=800)
受信したデータは左にスクロールしながら表示しています。
![](https://stat.ameba.jp/user_images/20240426/19/pta55/b7/07/j/o1200052615430798330.jpg?caw=800)
![](https://stat.ameba.jp/user_images/20240426/19/pta55/fb/71/j/o1200051815430798327.jpg?caw=800)
Serial Bluetooth TerminalにはM1-M6などのファンクションキー?があります。
よく使うコマンドや画面の切り替え指定の送信などに使うと便利そうです(^^)。
![](https://stat.ameba.jp/user_images/20240426/19/pta55/34/3e/j/o1400128015430798324.jpg?caw=800)
Pico WのプログラムでBluetoothでの受信に関係した部分です。
ごちゃごちゃしていますが(^^;;;,SerialBTを使って,データの受信の有無と読み取りを行なっています。
// Call draw string
// draw_String(byte drwn,String str,int x,int y,byte fr,byte fg,byte fb,byte br,byte bg,byte bb)
String str;
if (SerialBT.available() > 0 ){
str=SerialBT.readString(); // get data
while (SerialBT.available() == 0 ){
for(int i=0; i < str.length()+1; i++){ // scroll
int sy=20;
int sx=(4-i)*8;
draw_String(0,str,sx,sy,255,255,255,0,0,128);
delay(500);
//partset_drBoard(drwn, sx, sy, ex, ey, r, g, b)
partset_drBoard(0, 0, 20, 31, 27, 0, 0, 0);
show_drBoard(0); // clear string area
}
}
}
以上のように,LEDパネルでの表示がまだまだすっきりしていませんが(^^;;;;;,,Bluetoothでのメッセージの送受信はシンプルにできました。
ただ,プログラムを修正してダウンロードする際にエラーがよく出るようになり,BOOTボタンのお世話になりました。
また,プログラムの書き込みごとにBluetoothのペアリングが切れるので手間がかかります。
まずは有線のUARTで動くプログラムにしておき,動作確認後にSerial からSerialBTに置き換えると楽だと思いました(^^)。
それにしても,「SerialBT」系は分かりやすくて良いですね。画面切り替えなどは簡単にできますので,使いでがありますね。