PicoのLEDを制御!初めてのスマホI/Oアプリの制作
Scratch風スマホ・アプリ開発ツールMIT App Inventor入門
PicoのLEDを制御するスマホI/Oアプリの概要
![]() |
---|
図1 ラズベリー・パイPicoとWi-Fi接続を行い,スマホ上でLEDをリモート制御するアプリをMIT App Inventorで作ってみた.画像クリックで動画を見る.または記事を読む.詳細は[VOD/Full KIT/data]WebブラウザでI/O!スマホで計測制御デバイス開発~Pico W×MIT App Inventor2でネットワーク温湿度計をドラッグ&ドロップ制作~ |
本例題では,ラズベリー・パイPicoとWi-Fi接続を行い,スマホ上でLEDをリモート制御するアプリをMIT App Inventorで作成します.LED制御の基本動作を理解することで,マイコンとのデータ通信やリアルタイム操作の基礎を学びます.
アプリの主な課題は次のとおりです.
- ボタンのON/OFFでLEDをリモート制御する
- LEDの状態に応じてボタンの色を変更する
プロジェクト作成と画面設計
MIT App Inventorを開き,「Create Apps!」から新規プロジェクト「LED_Control」を作成します.画面設計ではタブレット・サイズを選択し,水平方向と垂直方向をセンタに設定します.表題ラベルを追加し,背景色をグリーン,フォント・サイズを30に設定,横幅を塗りつぶしペアレントにして,テキストを「LEDの制御」とします.
Wi-Fi接続操作部は水平配置でセンタに整列し,IPアドレス入力用テキスト・ボックスと接続ボタンを配置します.接続ボタンの背景色はオレンジ,フォント・サイズは30に設定します.制御ボタンは赤,緑,青のON/OFFを用意し,スペース用ラベルで横幅調整を行います.
ブロック・プログラミングとLED制御
画面右上の「ブロック」をクリックすると,画面で追加したコンポーネントが表示されます.変数としてURLとDataを初期値ブランクで定義します.接続ボタンが押された際には,IP欄の文字列をURLとして接続を実行し,赤LEDのオン制御を送信して折り返しを受信します.POSTコマンドのボディ部で/gpio/1を送信し,受信結果をDebugラベルに表示します.
制御ボタンでは,赤LEDのON/OFFを切り替えるために/gpio/0および/gpio/1,緑LEDは/gpio/2と /gpio/3,青LEDは/gpio/4と /gpio/5のコマンドを送信します.受信テキストはCSV形式で,温度,湿度,赤・緑・青(R,G,B)の順で格納され,LED状態は文字列として処理します.Dataの3番目の値を参照し,対応するボタンの背景色を設定します.
ビルドと実行結果
通常の手順でビルドし,CompanionアプリでQRコードを読み込んでインストールします.IPアドレスを確認し,接続ボタンをクリックすると,マイコン・ボードの赤色LEDが点灯し,タブレット上の赤ONボタンが赤色に変われば正常動作です.各LED制御ボタンをタップすることで,マイコン・ボードのLEDが点灯/消灯し,ボタンの色も変化します.
これにより,スマホ・アプリからPicoのLEDをリアルタイムに制御できる基本的なI/O操作を理解できます.
〈著:ZEPマガジン〉参考文献
- [VOD/KIT]STM32マイコン&Wi-Fiモジュールで学ぶ C/C++プログラミング入門,ZEPエンジニアリング株式会社.
- [VOD/KIT]M5Stack Core2付き!ESP32で学ぶPython&Arduinoプログラミング入門,ZEPエンジニアリング株式会社.
- [VOD/KIT]STM32マイコン&Wi-Fiモジュールで学ぶ C/C++プログラミング入門,ZEPエンジニアリング株式会社.
- [VOD/KIT]M5Stackで一緒に作ろう!IoTセンシング・エッジ×クラウド連携システム開発[改訂版],ZEPエンジニアリング株式会社.
- [VOD/KIT]実習キットでできる!ラズパイPicoでマイコン入門,ZEPエンジニアリング株式会社.
- [VOD/KIT]LabVIEW×Arduino!初めてのパソコン計測&制御【改訂版】,ZEPエンジニアリング株式会社.