« Arduinoで作ろう(22) 磁気センサと電磁石を使って空中浮遊 (1) | トップページ | Arduinoで作ろう(24) 赤外線リモコンの信号解読 »

2019年8月20日 (火)

Arduinoで作ろう(23) 複合気象センサ BME280で気温・湿度・気圧を測定

Bme280

 秋月電子で買った 複合気象センサ AE-BME280を使って,気温・湿度・気圧を測ってみました。

Aebme280

 AE-BME280はI2CでArduinoと通信するのですが,このセンサは3.3Vで動作します。でも,ArduinoのSDAとSCLは5Vの電圧でデータをやり取りするので,レベルコンバータを使ってI2Cの電圧を変換してやる必要があります。

 ネット上の情報を探ると,定格内ぎりぎりの電圧でArduinoと直接接続できそうなんだけど,ここは安全策を採ってaitendoのレベルコンバータLVCNV-I2Cを使うことにしました。LCDもaitendoのコレを使ってます。

BME280のライブリはココでダウンロードできます↓
https://github.com/sparkfun/SparkFun_BME280_Arduino_Library

スケッチはコレ→ 20190819bme280.ino

/*
 * 温度・湿度・気圧センサ
 * 秋月AE-BME280 I2C接続
 * aitendo I2Cレベルコンバータ LVCNV-I2C
 */

#include <Wire.h>
#include "SparkFunBME280.h"
#include <ST7032.h>
BME280 sensor;
ST7032 lcd;

void setup() {
  lcd.begin(16, 2);
  lcd.setContrast(30);
  Wire.begin();
  sensor.beginI2C();
}

void loop() {
  lcd.setCursor(0, 0);
  lcd.print(sensor.readTempC(), 1);lcd.write(0b11011111);lcd.print("C , ");
  lcd.print(sensor.readFloatHumidity(), 1);lcd.print("%");
  lcd.setCursor(0, 1);
  lcd.print(sensor.readFloatPressure() / 100.0, 1);lcd.print("hPa");
  delay(3000);
}

| |

« Arduinoで作ろう(22) 磁気センサと電磁石を使って空中浮遊 (1) | トップページ | Arduinoで作ろう(24) 赤外線リモコンの信号解読 »

Arduino」カテゴリの記事

aitendo」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« Arduinoで作ろう(22) 磁気センサと電磁石を使って空中浮遊 (1) | トップページ | Arduinoで作ろう(24) 赤外線リモコンの信号解読 »