M5StickCを使用してみた話
発売されたのが何年か前なので、今更ですが初めて「M5stickC」を使ってみました。
本体カラーのオレンジ色が万人受けする感じで良いです。
スマート農業的なものにも興味があり、
とりあえず、家にあったBMP180と土壌湿度センサーを付けてみました。
機能
・温度測定
・気圧測定
・土壌湿度測定
ArduinoIDEでBMP085/BMP180両方に使えるライブラリ「Adafruit_BMP085.h」が
インストール出来るので、
比較的簡単に組むことが出来ました。
M5stickCの33ピンを土壌湿度センサーに使用し、
BMP180のSDAを0ピン、SCLを26ピンに使用しています。
ソース
#include <Adafruit_BMP085.h>
#include <M5StickC.h>
Adafruit_BMP085 bmp;
int AIN = 33;
int VREF = 3.3;
void setup() {
M5.begin();
M5.Axp.ScreenBreath(9);
M5.Lcd.setRotation(3);
M5.Lcd.fillScreen(BLACK);
Wire.begin(0, 26);
pinMode(AIN, ANALOG);
Serial.begin(9600);
if (!bmp.begin()) {
Serial.println("Could not find a valid BMP085 sensor, check wiring!");
while (1) {}
}
}
void loop() {
float temp = bmp.readTemperature();
float press = bmp.readPressure();
float alti = bmp.readAltitude();
float aread = analogRead(AIN);
float areadx = aread/4095*VREF;
M5.Lcd.fillScreen(BLACK);
M5.Lcd.setCursor(0, 0, 2);
M5.Lcd.printf("Temp: %2.2f C\n", temp);
M5.Lcd.setCursor(0, 20, 2);
M5.Lcd.printf("Press: %2.2f hPa\n", press / 100);
M5.Lcd.setCursor(0, 40, 2);
M5.Lcd.printf("Alti: %2.2f m\n", alti );
M5.Lcd.setCursor(0, 60, 2);
M5.Lcd.printf("Soil: %2.2f V\n", areadx);
delay(10000);
}
M5stickCは
・ディスプレイが内蔵
・マイク内蔵
・6軸IMUによる加速度、角速度センサー内蔵
・赤外線トランスミッター内蔵
・ホールセンサ内蔵
など、最初からセンサー機能がついているので
アイデア次第でいろいろ作れそうな気がしますね。
少しづつ試してみたいと思います。