Ovládání serva pomocí joystick modulu
Cílem tohoto projektu je se naučit jak ovládat servo pomocí joystick modulu a Arduina v našem případě pomocí Arduina Una R3.
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.
Cílem tohoto projektu je se naučit jak ovládat servo pomocí joystick modulu a Arduina v našem případě pomocí Arduina Una R3.
Cílem projektu bylo vytvořit inteligentní systém, který detekuje otevřené a zavřené dveře na základě senzoru detekce překážek a umožňuje manuální ovládání pomocí tlačítek. Tento systém je navržen tak, aby zlepšil bezpečnost a kontrolu přístupu do prostorů, kde se pohybuje VZV, aby byl řidič VZV informován zvukovou signalizací o přítomnosti osoby v konkrétním sektoru.