在宅介護にも使える! / M5Stackで温湿度計を作る5つの手順

最終更新日

この記事についてM5Stackで温度計湿度計を作る手順をmemo
工夫次第で様々な用途で使うことができますね。

簡易紹介:こうたろう

1986年生まれ
音大卒業後日本、スウェーデン、ドイツにて音楽活動
その後金田式DC録音のスタジオに弟子入り
プログラミング(C)を株式会社ジオセンスのCEO小林一英氏よりを学ぶ
現在はヒーリングサウンド専門のピアニスト、またスタジオでは音響エンジニア、フォトグラファーなどマルチメディアクリエーターとして活動中
当記事ではプログラマー、音響エンジニアとして知識とスキルをシェアしていきます

M5Stackとセンサーを購入

M5Stackは、いろんなモデルがあるかと思いますが、まずはいろいろ遊んでみる人や、筆者のように、水耕栽培のプログラムを書きたい!という人にはこのモデルでOKだと思います。

M5Stack Grayといって、加速度、ジャイロ、磁気を計測可能な9軸センサ、MPU9250を搭載したモデルもあります。

このあたりは開発したい目的に合わせて選んで行けばいいと思います。

筆者の購入したベーシックモデルはこんな感じです。

USBケーブルと、ジャンパワイヤのオスメスがセットになっています。

センサーを購入する

このセンサーの購入が大変でした。

在庫切れが続き、なかなか手に入らず、スイッチサイエンスさんにて、在庫通知の登録をして、待つことニか月、やっと在庫通知がきて購入することができました。

筆者が購入したセンサーは【Si7021搭載 温湿度センサモジュール】というもの。

→スイッチサイエンスさんのページ

2020年2月14日現在、また在庫なしになっていました。

人気だからなのか、どこかのスクールか、業者がまとめ買いしているのか・・・

とにかく在庫通知を登録して待つしかないようです。

センサーと本体を接続する

はんだづけをしなくていいというのもM5Stack最大の魅力の一つです。

このセンサーもM5Stackに付属でついてくる、オスメスのジャンパワイヤだけで接続できます。

M5Stack側にはオスのジャンパワイヤを差し込みます。

ちょっと画像が荒いですが

  • 3V3
  • G
  • 21
  • 22

に差し込みます。

センサー側にはメスのジャンパワイヤを。

  • VIN
  • GND
  • SDA
  • SCL

それぞれ対になっているので、色でしっかり分けて間違えないようにしましょう。

  • 3V3→VIN
  • G→GND
  • 21→SDA
  • 22→SCL

アルディーノをインストール

M5Stackはアルディーノを使うと便利です。

アルディーノをはこちらから無料ダウンロードできます。

→アルディーノをダウンロード

ダウンロードが完了したら、ライブラリーを読み込みましょう。

Arduino IDEの「ツール」→「ライブラリを管理」をクリックして、ライブラリマネージャーを立ち上げます。

ライブラリマネージャーの検索欄に「adafruit si7021」と入力。

「Adafruit Si7021 Library by Adafruit」をインストールしてください。

これで、Si7021のセンサーライブラリの読み込みが完了します。

プログラムを書く

参考コード

#include <M5Stack.h>
#include "Adafruit_Si7021.h"

Adafruit_Si7021 sensor = Adafruit_Si7021();

void setup(){
    M5.begin();

    if(!sensor.begin()){
       Serial.println("Did not find Si7021 sensor!");
       while (true);{
           delay(0);
       }
    }
    
    M5.Lcd.setTextSize(3);
}   
 
void loop(){
  float temp = sensor.readTemperature();
  float humid = sensor.readHumidity();

  M5.Lcd.setCursor(40,80);
  M5.Lcd.print("Kotaro: ");
  M5.Lcd.print(temp, 1);
  M5.Lcd.print("'C");
  M5.Lcd.setCursor(40, 140);
  M5.Lcd.print("Humid: ");
  M5.Lcd.print(humid, 1);
  M5.Lcd.print("%");
  delay(1000);
}  
  

↑↑↑みんなのM5Stack入門(P110)引用

書けたら、Arduino IDEの「スケッチ」→「マイコンボードに書き込む」でM5Stackに書き込んでくれます。

この時に、もしエラーがあれば、書き込む前にArduino IDEが知らせてくれます。

無事に、温度と湿度を計測できたでしょうか?

このコードだと、このような画面になると思います。

音響プログラムの記事

【Pythonサンプルコード】録音後の音声データを文字起こしする方法
SpeechRecognitionライブラリを使用します。これは、Pythonのpipコマンドを使って簡単に行えます。…
“Pythonで学ぶ:ポッドキャストテクニック〜完成動画からMP3音声抽出”
完成動画からMP3の高音質版である320kbpsで抽出するPythonサンプルコードを紹介します。…
エポキシ基盤 vs ベークライト基盤:あなたのプロジェクトに最適な選択は?
エポキシ基盤とベークライト基盤を選択する際には、プロジェクトの要件、特に耐久性、耐熱性、コストの観点から適切な基盤を選ぶことが重要です。…
【フォルマント分析】言語パスバンド分析による語学学習効率化
スペイン語が日本人にとって相性がいい根拠を提示しましょう!…
【エンジニア向け保存版】DSD完全ガイド〜DSDからPCMへの変換サンプルコードまで
録音エンジニアとしては、自然界のロケなどもう2度といけないような場所の音響は是非DSDで残したいですし、一期一会の音楽もDSDで残したいと思うものです。…
Raspberry Piを使ってオーディオレコーダーを自作する方法
保存場所や、WIFIを使った機能の追加など、市販品ではなかなか難しいレコーダーを自作して、現場の業務を安全かつ円滑に進められるように工夫していってください。…
【Python音声からテキスト抽出】英語の字幕を自動生成する方法
日本語字幕はすでに対応可能なソフトやツールがたくさん出ていますので、自動で翻訳して出力するまでをやってみましょう。…
【音声機械学習】音源だけで性別、年齢、感情を識別するアプリの開発ガイド決定版
性別、年齢、感情を識別するアプリを開発する例を用いて機械学習の感覚を掴んでいただこうと思います。…
【Music21保存版】音楽家必須のPythonプログラミング〜楽譜の管理と楽曲分析の最強ツール
music21は、古典音楽から現代音楽に至るまで、幅広い楽曲の分析と探究を可能にします。…