Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
Tento blog ukáže, ako vytvoriť domáci automatizačný systém, ktorý začne vydávať poplach vždy, keď teplota dosiahne viac ako naprogramovanú prahovú hodnotu. Keď teplota dosiahne viac ako prahovú hodnotu, bude naďalej zobrazovať aktuálnu teplotu miestnosti na LCD displeji a potrebné opatrenia (napr. Znížiť teplotu). V tomto návode používam teplotný snímač AD22100, ktorý vyrábajú spoločnosti Analog Devices a AG-1005G Buzzer. AD22100 je snímač výstupnej teploty napätia so stabilizáciou signálu
Krok 1: Diely
Tieto diely potrebujete so sebou skôr, ako začnete pracovať s týmto nezničiteľným
1. Doska Arduino UNO
2. LCD displej (16x2)
3. Bzučiak - 2 kolíky (AC -1005G)
4. Snímač teploty - 3 kolíky (AD22100)
Krok 2: Spojenie rôznych častí s Arduino UNO
Pripojenie LCD k doske Arduino UNO
Kolík LCD RS RS (kolík 4) s kolíkom 7 dosky Arduino
Kolík umožňujúci LCD (pin 6) s pinom 8 dosky Arduino
Kolík LCD D4 (pin 11) s kolíkom 9 dosky Arduino
Kolík LCD D5 (kolík 12) s kolíkom 10 na doske Arduino
Kolík LCD D6 (kolík 13) s kolíkom 11 na doske Arduino
Kolík LCD D7 (pin 14) s pinom 12 dosky Arduino
Pridajte 10 KΩ hrniec k +5v (hrniec 1) a GND (hrot 3), Pripojte stredný hrniec hrnca (kolík hrnce 2) k kolíku LCD V0 (kolík 3).
Pin VDD LCD (pin 2) a pin A LCD (pin 15) s +5v na doske Arduino.
Pin PIN VSS (pin 1) a LCD K pin (pin 16) s GND na doske Arduino.
Pripojenie teplotného senzora AD22100 k doske Arduino UNO
Pin 1 (V +) AD22100 by mal byť pripojený k +5 v na doske Arduino.
Pin 2 (Vo) AD22100 by mal byť pripojený k pinu A1 na doske Arduino.
Pin 3 (GND) AD22100 by mal byť pripojený k GND na doske Arduino
Bzučiak (AC-1005G) Pripojenie k doske Arduino UNO
Pin 6 PWM výstup dosky Arduino by mal byť pripojený k +ve vstupu bzučiaka.
GND dosky Arduino by malo byť spojené s -ve vstupom bzučiaka
Krok 3: Kódy Arduino
Skompilovajte ho a nahrajte na Arduino Board a sledujte ukážku systému Home Automation System
// Program sa začína tu
int val;
int tempPin = A1;
int bzučiak = 6;
#include LiquidCrystal lcd (7, 8, 9, 10, 11, 12);
neplatné nastavenie () {
// sem vložte svoj inštalačný kód, aby sa spustil raz:
lcd.begin (16, 2);
lcd.clear ();
Serial.begin (9600);
pinMode (bzučiak, VÝSTUP);
}
void loop () {// sem vložte svoj hlavný kód, aby sa spúšťal opakovane:
val = analogRead (tempPin); // AD22100 je pripojený na Pin A1
/*
*Pri 25 ° C hodnota val predstavuje 900, čo znamená
* 900 zodpovedá 1,9375 v
* Funkcia prenosu je (V +/5) * (1,375 + 22,5 mv/degC * 25 ° C), * Prečítajte si technický list AD22100
*/
float cel = (((((1,9375/900) * val) - 1,375) /22,5) * 1000;
float farh = (cel*9)/5 + 32;
Serial.print (val);
Serial.println ();
Serial.print („TEPLOTA =“);
Serial.print (cel); Serial.print („*C“);
Serial.println ();
ak (cel> 26) {
tón (bzučiak, 1000);
lcd.clear ();
lcd.print („Teplota nad prahovou hodnotou“);
lcd.setCursor (0, 1);
lcd.print („Znížiť teplotu“);
}
inak
{noTone (bzučiak);
lcd.clear ();
lcd.print („Teplota pod kontrolou“);
lcd.setCursor (0, 1);
lcd.print („Teplota =“);
lcd.print (cel);
lcd.print („degC“);
}
oneskorenie (500);
}
// Program sa končí tu
Krok 4: Porozumenie programu podrobne
Pokúsim sa vysvetliť niekoľko častí kódu.
Funkcie súvisiace s príkazom If/else
Ak je teplota väčšia ako prahová hodnota, posielam signál do bzučiaka, aby zaznel alarm a na LCD displeji sa zníži teplota pomocou nižšie uvedenej časti kódu.
ak (cel> 26)
{tón (bzučiak, 1000);
lcd.clear ();
lcd.print („Teplota nad prahovou hodnotou“);
lcd.setCursor (0, 1);
lcd.print („Znížiť teplotu“);
}
Ak nie, potom odoslanie aktuálnej hodnoty teploty na LCD a zobrazenie tejto teploty je pod kontrolou.
inak
{noTone (bzučiak);
lcd.clear ();
lcd.print („Teplota pod kontrolou“);
lcd.setCursor (0, 1);
lcd.print („Teplota =“);
lcd.print (cel);
lcd.print („degC“);
}
Funkcie súvisiace s bzučiakom
tón (bzučiak, 1000) - táto funkcia vyšle signál 1 khz na kolík s názvom bzučiak, ktorý je definovaný ako kolík 6 a magnetický bzučiak je pripojený na kolíku 6. žiadny tón (bzučiak) - zastaví odosielanie signálu 1 khz. Zvonenie sa preto zastaví
Funkcie súvisiace s teplotným senzorom
Konverzia analógovej hodnoty čítania teplôt na hodnotu ° C sa vykonáva pomocou prenosovej funkcie, ktorú je možné nájsť v technickom liste AD22100, ako je uvedené nižšie.
Vout = (V +/5 V) × (1,375 V + 22,5 mV/° C × TA) a rovnaká hodnota je vytlačená na LCD displeji.
Krok 5: Ukážka inštrukcií
Akonáhle je program zostavený a nahraný na dosku Arduino UNO
skúsme zvýšiť teplotu snímanú teplotným senzorom AD22100 a užívať si systém domácej automatizácie.
Aby som zvýšil teplotu senzora, dotýkam sa ho spájkovačkou dostupnou v Laboratóriu.
Môžete sa pozrieť na demo tu..
Ukážka systému automatizácie domácnosti