自由に工作中

マイコンについて学習しています

M5StickCを使用してみた話

発売されたのが何年か前なので、今更ですが初めて「M5stickC」を使ってみました。

本体カラーのオレンジ色が万人受けする感じで良いです。

 

スマート農業的なものにも興味があり、

とりあえず、家にあったBMP180と土壌湿度センサーを付けてみました。

 

機能

 ・温度測定

 ・気圧測定

 ・土壌湿度測定

 

f:id:goma483549:20211002132322j:plain

 

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による加速度、角速度センサー内蔵

 ・赤外線トランスミッター内蔵

 ・WiFiBluetooth機能内蔵

 ・ホールセンサ内蔵

など、最初からセンサー機能がついているので

イデア次第でいろいろ作れそうな気がしますね。

 

少しづつ試してみたいと思います。