M5StackをArduinoのように使う(光センサー)
IoTとして使用されるケースが多いためか、ド基本が書かれているところが意外とないのでまとめ代わりに。
M5StackをArduino+LCD代わりにして、光センサの値をM5Stackの画面に表示します。
M5Stackはすでに使えるようになっているものとします。
この後、ソニーのMESHをつなげるので、動作チェック代わりにやってみました。
結果はこんな感じ(容量が大きくてGIFがアップロードできなかったので、静止画で)。
写真は手持ちがなくて10kオームの抵抗を使ったせいで、値が1kオームのときとは異なってますが、お気になさらず。
■準備(Arduinoと同じ)
・1kオームの抵抗
・光センサ
・M5Stack
・ワイヤー
これを下記のように接続します。
図と抵抗の値が違っていますが、抵抗の色は無視してください。1kオームを使用します。
■コード
下記のようなコードを書いてアップロードします。
#include <M5Stack.h> #define LDR_pin 36 // センサーをGPIO36につなぐ int val=0; void setup(){ M5.begin(); Serial.begin(9600); pinMode(LDR_pin, INPUT); } void loop() { // 画面クリア M5.Lcd.clear(); M5.Lcd.setCursor(0, 0); val = analogRead(LDR_pin); sdata = val/4; //値が大きすぎる場合は0-255になるよう、「/4」の「4」の値を変更する Serial.println(sdata); // センサーを読み、シリアルに出力 M5.Lcd.setTextColor(WHITE); M5.Lcd.setTextSize(5); M5.Lcd.print(sdata); delay(500); M5.update(); }