Help us understand the problem. What is going on with this article?

M5Stack Nodeモジュールの各機能を使う

More than 1 year has passed since last update.

M5Stack に 音声入出力(WM8978)、赤外線リモコン入出力、LED(NeoPixel)、温湿度センサ(DHT12)を一度に追加できる、M5Stack Smart Node の利用メモです。2018年12月現在では1人1個限定販売です。

温湿度センサ (DHT12)

こちらは定番のセンサとなっています。I2C で接続します (アドレス: 0x5c)。公式のサンプルコードがそのまま動作します(Arduino IDE: ファイル > スケッチ例 > M5Stack > Modules > DHT12)。
動作させてみると、おそらく温度が高め、湿度が低めに表示されると思います。これはセンサが本体に内蔵されており、本体の発熱等の影響を受けているものと推測されます。より正確に温湿度を取得したい場合には、LCDオフ、全体をスリープし、必要なときのみ測定を行うといった工夫が必要となります。

LED

裏面に12個の NeoPixel LED (SK6812) が搭載されており、M5Stack Fire と同じく GPIO15 に接続されています。M5Stack Fire は LED が 10個なので、Fire 向けのコードを若干修正すれば動作させることができます。あらかじめ、AdafruitのNeoPixelライブラリを追加しておいてください。なお、LEDにデータを送信する初回時は想定外の色が表示されることがあります。

DvKbZvgV4AIeoNn.jpg

参考

赤外線送受信

赤外線受信モジュールが GPIO35、赤外線送信回路が GPIO12 に接続されています。RMT (Remote Control) module driver が Espressif から提供されていますので #include "driver/rmt.h" で利用できます。

動作確認したところ、電灯やテレビのリモコンなど信号が短いタイプではうまくいくものの、エアコンなど長い信号では RMT RX BUFFER FULL エラーが出てしまいうまく動作しませんでした。なお、メモリが足りなくなるまでバッファを広げてみましたがNGでした。エアコン対応のためには、このドライバーを利用せず、スイッチサイエンスさんの記事などを参考に自前で読み書きしたほうが良いかもしれません。

また、こちらの記事でも指摘されているように、赤外線出力がかなり弱いため、赤外線操作対象の近くに配置する必要があります。

参考

音声録音再生

Node モジュールには、マイクが2個、スピーカーが1個、イヤホンジャックが1個搭載されており、WM8978 という音声入出力用ドライバに接続されています。WM8978 は I2S 経由で音声信号をやり取りし、 I2C で詳細な動作設定(ボリューム、イコライザー、フィルタなど)を行います。これ単体では、MP3 や WAV のビットストリームを直接再生することはできませんが、Espressif Audio Development Framework を介して操作ができそうです(確認中)。

  • サンプルコード (鋭意制作中)

参考

まとめ

M5Stack Node モジュールはうまく使えばスマートスピーカーとしても使用できそうなモジュールとなっています。価格も安い($19) ので、数量制限がなくなったらいろいろなところで使っていきたいですね。

nssol
お堅いと評判のユーザ系SIerです。※各記事の内容は個人の見解であり、所属する組織の公式見解ではありません。
https://www.nssol.nipponsteel.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした