Systém pro výstrahu
Je to systém, který umožňuje sledovat teplotu a vlhkost ve vašem bytě. Jeho nastavení je hodně snadné.
Tento projekt umožňuje měřit teplotu pomocí senzoru DS18B20, zobrazit ji na I2C LCD displeji, a ovládat relé podle teplotních limitů. Relé bude aktivní, když je teplota mezi 0 a 22 stupni Celsia. Projekt může sloužit k ovládání topení, ventilace nebo jiného zařízení podle okolní teploty.
Aby kód fungoval, bude potřebovat následující knihovny:
Následující kód načítá teplotu, zobrazuje ji na displeji a podle nastaveného limitu ovládá relé. Relé se zapne, když je teplota mezi 0 a 22 °C, a vypne, pokud přesáhne 22 °C
#include <Wire.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2); // Nastavení LCD displeje (0x27 je běžná adresa)
#define ONE_WIRE_BUS 2 // Datový pin DS18B20
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
#define RELAY_PIN 8 // Pin pro relé modul
#define TEMPERATURE_MIN 0.0 // Dolní limit pro aktivaci relé
#define TEMPERATURE_MAX 22.0 // Horní limit pro aktivaci relé
unsigned long previousMillis = 0;
const long interval = 1000; // Interval aktualizace (1 sekunda)
void setup() {
Serial.begin(9600);
lcd.init();
lcd.backlight();
sensors.begin();
pinMode(RELAY_PIN, OUTPUT); // Nastavení pinu relé jako výstup
digitalWrite(RELAY_PIN, LOW); // Relé vypnuto při spuštění
}
void loop() {
unsigned long currentMillis = millis();
// Aktualizace každou sekundu
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis;
// Načtení teploty ze senzoru
sensors.requestTemperatures();
float temperatureC = sensors.getTempCByIndex(0);
if (temperatureC != DEVICE_DISCONNECTED_C) {
// Zobrazení teploty na displeji
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Teplota:");
lcd.setCursor(0, 1);
lcd.print(temperatureC);
lcd.print(" C");
Serial.print("Teplota: ");
Serial.print(temperatureC);
Serial.println(" C");
// Ovládání relé podle teplotního rozsahu
if (temperatureC >= TEMPERATURE_MIN & temperatureC <= TEMPERATURE_MAX) {
digitalWrite(RELAY_PIN, HIGH); // Zapne relé
lcd.setCursor(10, 1);
lcd.print("Zap.");
} else {
digitalWrite(RELAY_PIN, LOW); // Vypne relé
lcd.setCursor(10, 1);
lcd.print("Vyp.");
}
} else {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Senzor odpojen!");
Serial.println("Chyba: Senzor DS18B20 není připojen.");
}
}
}
Projekt lze použít k automatickému řízení teploty například v malých sklenících, teráriích nebo akváriích. Senzor DS18B20 poskytuje stabilní měření teploty a LCD displej umožňuje přehledně zobrazit aktuální stav. Relé modul může spínat ventilátor nebo topné těleso a udržovat teplotu v daném rozsahu.
Je to systém, který umožňuje sledovat teplotu a vlhkost ve vašem bytě. Jeho nastavení je hodně snadné.
Cílem tohoto Arduino projektu je testování a kalibrace obousměrného regulátoru otáček (ESC) pomocí PWM signálu. Program simuluje sekvenci pohybů: dopředu, neutrální pozici a reverzní chod, což umožňuje ověřit správnou funkci ESC včetně přepínání směru otáčení motoru.