見出し画像

夏休みを家で過ごす 趣味の電子工作

お盆が近くなり、休みをオリンピックのテレビ観戦と電子工作で過ごしている。オリンピックは毎日、なにげに見ながら、選手の頑張りに感動している。オリンピックの舞台にたつまで、それは大変な努力があったのだろうと思う。思い通りに結果を残せない人は、悔し思いがあるだろうな。
 オリンピックをみながら少しずつ、趣味の電子工作をしている。
した事メモとして、残そうと思います。

温度・湿度を図って、ディスプレイに表示する(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);

画像1

取りあえずディスプレに表示ができた。少しずつできることを増やそう








この記事が気に入ったらサポートをしてみませんか?