夏休みを家で過ごす 趣味の電子工作
お盆が近くなり、休みをオリンピックのテレビ観戦と電子工作で過ごしている。オリンピックは毎日、なにげに見ながら、選手の頑張りに感動している。オリンピックの舞台にたつまで、それは大変な努力があったのだろうと思う。思い通りに結果を残せない人は、悔し思いがあるだろうな。
オリンピックをみながら少しずつ、趣味の電子工作をしている。
した事メモとして、残そうと思います。
温度・湿度を図って、ディスプレイに表示する(Arduino + DH1T11 + LCD1602)
温度・湿度は、Rasberry Pi とPythonで’測定していましたが、LCDディスプレイに、Arduinoを利用してみることにしました。
一番苦労したのは、LCD1602とPCF8574の半田づけ。不器用な上に、老眼で部品が見えない。とほほ。
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
const int PIN_DHT = 8;
DHT dht( PIN_DHT, DHT11 );
LiquidCrystal_I2C lcd(0x27,16,2);
void setup() {
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Hello, world!");
Serial.begin(9600);
Serial.println("DHT11");
dht.begin();
}
void loop() {
delay(3000);
bool isFahrenheit = true;
float percentHumidity = dht.readHumidity();
float temperature = dht.readTemperature();
if (isnan(percentHumidity) || isnan(temperature)) {
Serial.println("ERROR");
return;
}
float heatIndex = dht.computeHeatIndex(
temperature,
percentHumidity,
isFahrenheit);
String s = "Temp: ";
s += String(temperature, 1);
s += "[C] Humidity: ";
s += String(percentHumidity, 1);
s += "[%] HI: ";
s += String(heatIndex, 1);
lcd.init();
lcd.setCursor(0, 0);
lcd.print("Temp :"+String(temperature, 1));
lcd.setCursor(0, 1);
lcd.print("Humidity:"+String(percentHumidity, 1));
Serial.println(s);
取りあえずディスプレに表示ができた。少しずつできることを増やそう
この記事が気に入ったらサポートをしてみませんか?