PicoのLEDを制御!初めてのスマホI/Oアプリの制作


Scratch風スマホ・アプリ開発ツールMIT App Inventor入門

PicoのLEDを制御するスマホI/Oアプリの概要

本例題では,ラズベリー・パイPicoとWi-Fi接続を行い,スマホ上でLEDをリモート制御するアプリをMIT App Inventorで作成します.LED制御の基本動作を理解することで,マイコンとのデータ通信やリアルタイム操作の基礎を学びます.

アプリの主な課題は次のとおりです.

  1. ボタンのON/OFFでLEDをリモート制御する
  2. 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マガジン〉

動画を見る,または記事を読む

参考文献

  1. [VOD/KIT]STM32マイコン&Wi-Fiモジュールで学ぶ C/C++プログラミング入門,ZEPエンジニアリング株式会社.
  2. [VOD/KIT]M5Stack Core2付き!ESP32で学ぶPython&Arduinoプログラミング入門,ZEPエンジニアリング株式会社.
  3. [VOD/KIT]STM32マイコン&Wi-Fiモジュールで学ぶ C/C++プログラミング入門,ZEPエンジニアリング株式会社.
  4. [VOD/KIT]M5Stackで一緒に作ろう!IoTセンシング・エッジ×クラウド連携システム開発[改訂版],ZEPエンジニアリング株式会社.
  5. [VOD/KIT]実習キットでできる!ラズパイPicoでマイコン入門,ZEPエンジニアリング株式会社.
  6. [VOD/KIT]LabVIEW×Arduino!初めてのパソコン計測&制御【改訂版】,ZEPエンジニアリング株式会社.