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アプリケーションを実現する上で最適です.以下に主な利点を挙げます.

  1. WiFi/Bluetooth対応
    スマートフォンやクラウド・サービスと容易に接続可能
  2. 豊富なライブラリ
    プログラミングの際に必要な機能がほぼ網羅されており,迅速な開発が可能
  3. 拡張性
    センサやディスプレイなどの周辺機器との接続が容易

WiFi接続を利用したIoTアプリケーション

ESP32を搭載したM5Stack Core2は,WiFiやBluetoothを利用してインターネットに接続できます.これにより,IoTデバイスとして次のような応用が可能になります.

  1. インターネット・ラジオ
    ボタン操作でラジオ局を選択し,WiFi経由で音声データをストリーミング再生します
  2. NTP時計
    NTP(Network Time Protocol)を使用して正確な時刻を取得し,LCDに表示します

タッチパネル操作の基本機能

M5Stack Core2のボタンは,従来の機械式スイッチではなく,タッチパネルの指定エリアを使用しています.このタッチパネルを使うことで,柔軟な操作が可能です.次のような機能が用意されています.

  1. ボタンの状態更新:`M5.update()`
  2. 押下状態の取得:`M5.BtnA.isPressed()`,`M5.BtnB.isPressed()`,`M5.BtnC.isPressed()`
  3. 長押しや押下時間の取得:`M5.BtnA.pressedFor(ms)`

これらの関数を活用することで,M5Stack Core2を利用したアプリケーション開発が簡単になります.たとえば,ボタンの押下に応じて画面の色を変えるプログラムを作成すれば,直感的なユーザインターフェースを構築できます.また,振動モータや音声フィードバックを加えることで,使い勝手を向上させることも可能です.〈著:ZEPマガジン〉

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

著者紹介

  • 1977年~2008年 NECで中大型コンピュータの装置開発
  • 2009年 NECラーニングで組み込み研修講師
  • 就労移行支援ベルーフで職業訓練(IT)講師,現在に至る

著書

  1. [VOD/KIT]STM32マイコン&Wi-Fiモジュールで学ぶ C/C++プログラミング入門,CQ出版社.
  2. [VOD/KIT]Python×実習キット×スマホでできる!ESP32マイコン活用術,CQ出版社.
  3. [VOD/KIT]M5Stack Core2付き!ESP32で学ぶPython&Arduinoプログラミング入門,CQ出版社.
  4. ARM32ビット・マイコン電子工作キット ブレッドボードで気軽に始めよう,CQ出版社.
  5. 連載,子供向け1500円パソコン IchigoJam誕生,トランジスタ技術, CQ出版社.

参考文献

  1. [VOD/Pi KIT]ラズベリー・パイで学ぶLinux&Pythonプログラミング超入門,ZEPエンジニアリング株式会社.
  2. [VOD/KIT]実習キットでできる!ラズパイPicoでマイコン入門,ZEPエンジニアリング株式会社.
  3. [VOD/KIT]実習キットでできる!ラズパイPico×Wi-FiモジュールでIoT超入門,ZEPエンジニアリング株式会社.
  4. [VOD/KIT]一緒に動かそう!Lチカから始めるFPGA開発【基礎編】,ZEPエンジニアリング株式会社.
  5. [VOD/KIT]M5Stackで一緒に作ろう!IoTセンシング・エッジ×クラウド連携システム開発[改訂版],ZEPエンジニアリング株式会社.
  6. ラズベリー・パイ Picoマイコン入門 C言語開発環境の構築 ,ZEPエンジニアリング株式会社.