M5StackとScratchで遊ぶたった3つの冴えたやり方
https://scrapbox.io/files/65af97a3f0a1bf0025db1564.svg
発表者:610t
むとうたけし(武藤武士)
53歳
奈良在住
専業主婦
詳しくは、末尾へ
M5Stack
https://gyazo.com/8325422539f9ed1e709fcf12290115cf
画面やボタン、バッテリーや筐体が最初からパッケージ
UnitやHatと呼ばれる拡張機器
ハードウエアの特徴(赤字は今回使ったもの)
CPU:ESP32など
ディスプレイ:320x240TFT(Core,Core2), 80×160TFT(M5StickC), 135x240TFT(C Plus), 5x5フルカラーLED(ATOM Matrix)
バッテリー:150mAh(Core), 390mAh(Core2), 80or95mAh(C), 120mAh(C Plus)
ネットワーク:Wi-Fi(2.4G) + BLE
センサー:加速度センサー、ジャイロ、ボタンスイッチ、温度センサーなど
オーディオ:マイク, スピーカー
その他I/O:Grove A(I2C), B(A/D,GPIO), C(UART), M-BUSなど
付属物:腕時計バンド、LEGOマウント、キーボードなど
腕時計バンド、LEGOマウント、壁掛けマウント付属
https://shop.m5stack.com/cdn/shop/files/4_6b5f172b-6619-4ae2-81d7-6e61b2887afd_1200x1200.webp?v=1703227797
プログラミング環境
Arduino
MicoroPython
https://gyazo.com/f0616bf3f6af57dd1992c7bf510c7bca
あなたはどのScratch?
https://gyazo.com/6bfac9414a50aad4016dd02c42289099
Scratch: ビジュアルプログラミング環境
全ての年齢の子どもたちに!!
低い床: はじめやすく
高い天井: 高度なこともでき
広い壁: いろいろなものを作れる
変態言語
並列実行
イベントベース
オブジェクトベース
スプライト
クローン
シェア/リミックス(フォーク)プラットフォーム
Scratch専用SNS環境
実は、3つのバージョンがある。
table:Scratchのバージョン
ver 実装言語 拡張方法 610t作 online offline 備考
1.4 Smalltalk 遠隔センサー M5Scratch x o Smalltalkを直接使った魔改造も可能
2 Flash(EoL) JavaScript o o Flashが死んで使えない
3 JavaScript(Node.js) 拡張機能 M5bitLess o o
End of Life (現在使えないもの)
Scratch 2: FlashがEoL
Scratch 1.4 on macOS: 32bitアプリなので10.4-10.14のみ対応
Scratch 1.4遠隔センサー
Scratch 1.4:Scratch遠隔センサー
TCP(UDP)/IP (ポート42001)を利用
テキストベースのプロトコル
コマンド
イベントのやり取り
broadcast "メッセージ"
変数のやり取り
sensor-update "変数名" "値" ...
https://gyazo.com/dbe77008ce27cc6616058aed1e1e01be
Scratch側での準備:遠隔センサーを有効にする。
調べる->"スライダセンサーの値"を右クリック->"遠隔センサー接続を有効にする"を選ぶ。
https://gyazo.com/7515f6592eaba8833caf92b6b8ba3cbc
UIFlow x Scratch 1.4
UIFlow: M5Stack用ブロックプログラミング環境
M5Stack -> Scratch (逆は難しい?)
ビジュアルプログラミング、夢のコラボ!!
https://gyazo.com/7f7fd7b9abeaf4b764b368aee2a3d3d1
M5Scratch x Scratch 1.4
https://gyazo.com/40d5e93fe01a61260924513c4085c1b0
M5Scratch:遠隔センサーでM5StackとScratch接続
Wi-Fi接続
M5Stackの以下のような機能が利用可能
加速度センサー
ボタン
キーボード
アナログ入力(可変抵抗など)
画面表示
猫とスタックチャンの画像
r,g,b色指定の円
スタックチャンの顔表示
タッチパネル
https://youtu.be/tUXKSZtTxOE
参考
Scratch3 Microbit More拡張機能
https://gyazo.com/a71c664d6d5a535dd895844981e3f7f1
拡張機能はScratch3で機能を追加するしくみ
M5bitLess x Scratch 3
https://scrapbox.io/files/65af32ab50e24500223b758d.svg
Microbit More拡張機能を使ってM5StackとScratchを接続
M5Stackはmicro:bitの動作をまねる
Bluetooth接続
https://scrapbox.io/files/65af35300a4ad30024cc4738.svg
デモ
https://youtu.be/WgTCeyR_erM
参考
メリットデメリット
UIFlow x Scratch 1.4
メリット
両方ブロックプログラミング
デメリット
Scratch->M5Stack側は無理(?)
M5Scratch x Scratch 1.4
メリット
Scratch 1.4なのでオフラインで利用可能
デメリット
接続情報がハードコード
SSID, WEP key, Scratch host IP
SDでの設定も可能
M5bitLess x Scratch 3
メリット
接続情報はハードコードされていない
Bluetooth接続でOK
デメリット
Microbit Moreを使うためStretch3などが必要
おわりに
M5StackとScratchで遊ぶととっても楽しい!!
時間の都合でデモできなかったものもお見せできますのでお気軽にお声掛けください(_O_)
みなさんも一緒に開発してみませんか?
参考:つくるっち
https://gyazo.com/8d27ec25e8c0b73021d16670238e6f00
Scratch 3.0ベース
膨大な拡張機能
M5Stackを含む様々なマイコンに対応
ファームウエア書き込みもつくるっち上から
Wi-Fi/BLE/USBで接続が可能
カメラなどのデバイスにも対応
発表者:I'm 610t!!
https://gyazo.com/025475c0f22d9a83b95db8f6f92a2e5d
むとうたけし(武藤武士)
専業主夫(53歳)@奈良
所属コミュニティ
アカウント一覧