V tomto projektu si uděláme arduino teploměr s LCD displejem a LED diodami.
Budeme potřebovat: Arduino MEGA 2560 REV 3, LCD shield, led diody, rezistory, kabely, teploměr a vlhkoměr AM2320
Sketch:
#include "Adafruit_Sensor.h"
#include "Adafruit_AM2320.h"
#include <LiquidCrystal.h>
Adafruit_AM2320 sensor = Adafruit_AM2320();
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
void setup() {
Serial.begin(9600);
pinMode(50, OUTPUT);
pinMode(48, OUTPUT);
pinMode(46, OUTPUT);
sensor.begin();
lcd.begin(16, 2);
Serial.println("Program spuštěn.");
}
void loop() {
float tempC = sensor.readTemperature();
float humidity = sensor.readHumidity();
Serial.print("Teplota:");
Serial.println(tempC);
Serial.print("Vlhkost:");
Serial.println(humidity);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Teplota: ");
lcd.print(tempC);
lcd.print(" C");
lcd.setCursor(0, 1);
lcd.print("Vlhkost: ");
lcd.print(humidity);
lcd.print(" %");
if (tempC > 25) {
digitalWrite(50, HIGH);
Serial.println("Přehřátí, pin spuštěn.");
} else {
digitalWrite(50, LOW);
}
if (tempC < 25) {
digitalWrite(48, HIGH);
Serial.println("Vše je v pořádku.");
} else {
digitalWrite(48, LOW);
}
if (isnan(tempC) || isnan(humidity)) {
digitalWrite(46, HIGH);
Serial.println("Někde nastal problém.");
} else {
digitalWrite(46, LOW);
}
delay(2000);
}
Zapojení:
Zapojte teploměr a ledky podle obrázků a nahrajte do arduina kód. Funguje to tak že pokud je teplota pod 25° tak svítí modrá ledka a pokud je teplota nad 25° tak svítí ledka červená. Žlutá ledka se rozsvítí pouze v moment kdy se něco děje a teploměr neměří a vyhazuje error. Na displeji jde vidět aktuální teplota a vlhkost.
Autor: Mr. Capy
Kontakt: https://t.me/Legend_of_Pr0xyArmy