M5Stack IoT電子工作 Pythonプログラミング入門
タッチパネル操作ボタン編
IoT電子工作 初めの一歩
図1 M5Stack Core2は,Wi-Fi/Bluetooth通信,タッチパネルLCD,スピーカ,マイクなどを搭載するIoT開発用のマイコン・キット.ライブラリを利用したPythonプログラミングで,MP3プレーヤ,NTP時計,天気予報アプリ,インターネット・ラジオなどを自作できる
.画像クリックで動画を見る.または記事を読む.[提供・著]白阪 一郎
詳細:[VOD/KIT] M5Stack Core2付き!ESP32で学ぶPython&Arduinoプログラミング入門 |
M5Stack Core2の魅力
M5Stack Core2は,ESP32を基盤とする多機能なマイコン・キットであり,LCDディスプレイやタッチパネル,スピーカ,マイクなどを内蔵しています.このマイコンは,WiFiやBluetoothを備え,Python(Micropython,UIFlow)やArduino(C/C++)といった開発環境でプログラミングが可能です.ESP32モジュールは非常に安価で,IoTアプリケーションの開発を容易にするため,電子工作初心者から上級者まで広く愛用されています.
ESP32の特徴
ESP32は,無線LANチップと32ビット・マイコンを統合したSoC(System on a Chip)です.この高機能かつ低価格なデバイスは,IoTアプリケーションを実現する上で最適です.以下に主な利点を挙げます.
- WiFi/Bluetooth対応
スマートフォンやクラウド・サービスと容易に接続可能 - 豊富なライブラリ
プログラミングの際に必要な機能がほぼ網羅されており,迅速な開発が可能 - 拡張性
センサやディスプレイなどの周辺機器との接続が容易
WiFi接続を利用したIoTアプリケーション
ESP32を搭載したM5Stack Core2は,WiFiやBluetoothを利用してインターネットに接続できます.これにより,IoTデバイスとして次のような応用が可能になります.
- インターネット・ラジオ
ボタン操作でラジオ局を選択し,WiFi経由で音声データをストリーミング再生します - NTP時計
NTP(Network Time Protocol)を使用して正確な時刻を取得し,LCDに表示します
タッチパネル操作の基本機能
M5Stack Core2のボタンは,従来の機械式スイッチではなく,タッチパネルの指定エリアを使用しています.このタッチパネルを使うことで,柔軟な操作が可能です.次のような機能が用意されています.
- ボタンの状態更新:`M5.update()`
- 押下状態の取得:`M5.BtnA.isPressed()`,`M5.BtnB.isPressed()`,`M5.BtnC.isPressed()`
- 長押しや押下時間の取得:`M5.BtnA.pressedFor(ms)`
これらの関数を活用することで,M5Stack Core2を利用したアプリケーション開発が簡単になります.たとえば,ボタンの押下に応じて画面の色を変えるプログラムを作成すれば,直感的なユーザインターフェースを構築できます.また,振動モータや音声フィードバックを加えることで,使い勝手を向上させることも可能です.〈著:ZEPマガジン〉
著者紹介
- 1977年~2008年 NECで中大型コンピュータの装置開発
- 2009年 NECラーニングで組み込み研修講師
- 就労移行支援ベルーフで職業訓練(IT)講師,現在に至る
著書
- [VOD/KIT]STM32マイコン&Wi-Fiモジュールで学ぶ C/C++プログラミング入門,CQ出版社.
- [VOD/KIT]Python×実習キット×スマホでできる!ESP32マイコン活用術,CQ出版社.
- [VOD/KIT]M5Stack Core2付き!ESP32で学ぶPython&Arduinoプログラミング入門,CQ出版社.
- ARM32ビット・マイコン電子工作キット ブレッドボードで気軽に始めよう,CQ出版社.
- 連載,子供向け1500円パソコン IchigoJam誕生,トランジスタ技術, CQ出版社.
参考文献
- [VOD/Pi KIT]ラズベリー・パイで学ぶLinux&Pythonプログラミング超入門,ZEPエンジニアリング株式会社.
- [VOD/KIT]実習キットでできる!ラズパイPicoでマイコン入門,ZEPエンジニアリング株式会社.
- [VOD/KIT]実習キットでできる!ラズパイPico×Wi-FiモジュールでIoT超入門,ZEPエンジニアリング株式会社.
- [VOD/KIT]一緒に動かそう!Lチカから始めるFPGA開発【基礎編】,ZEPエンジニアリング株式会社.
- [VOD/KIT]M5Stackで一緒に作ろう!IoTセンシング・エッジ×クラウド連携システム開発[改訂版],ZEPエンジニアリング株式会社.
- ラズベリー・パイ Picoマイコン入門 C言語開発環境の構築 ,ZEPエンジニアリング株式会社.