Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Tento blog předvede, jak vytvořit systém domácí automatizace, který začne vydávat poplach, kdykoli teplota dosáhne více, než je naprogramovaná prahová hodnota. Pokud teplota dosáhne více než prahové hodnoty, bude na LCD displeji stále zobrazovat aktuální teplotu místnosti a potřebnou akci (například: Snížit teplotu). V tomto tutoriálu používám teplotní senzor AD22100, který vyrábí Analog Devices a AG-1005G Buzzer. AD22100 je snímač výstupní teploty napětí se stabilizací signálu
Krok 1: Díly
Než začnete s touto nezničitelnou fungovat, potřebujete tyto díly s sebou
1. Deska Arduino UNO
2. LCD displej (16x2)
3. Bzučák - 2 piny (AC -1005G)
4. Teplotní senzor - 3 piny (AD22100)
Krok 2: Spojení různých částí s Arduino UNO
Připojení LCD s deskou Arduino UNO
LCD RS Pin (Pin 4) s Pin 7 desky Arduino
Pin PIN pro aktivaci LCD (Pin 6) s Pin 8 desky Arduino
LCD D4 Pin (Pin 11) s Pin 9 desky Arduino
LCD D5 Pin (Pin 12) s Pin 10 desky Arduino
Kolík LCD D6 (kolík 13) s kolíkem 11 desky Arduino
Kolík LCD D7 (kolík 14) s kolíkem 12 desky Arduino
Přidejte 10 KΩ pot na +5v (Pot Pin 1) a GND (Pot Pin 3), Připojte prostřední kolík hrnce (kolík hrnce 2) ke kolíku LCD V0 (kolík 3).
Pin LCD VDD (pin 2) a LCD A pin (pin 15) s +5v na desce Arduino.
Pin LCD VSS (pin 1) a LCD K pin (pin 16) s GND na desce Arduino.
Připojení teplotního senzoru AD22100 k desce Arduino UNO
Pin 1 (V +) AD22100 by měl být připojen k +5 v na desce Arduino.
Pin 2 (Vo) AD22100 by měl být připojen ke kolíku A1 na desce Arduino.
Pin 3 (GND) AD22100 by měl být připojen k GND na desce Arduino
Připojení bzučáku (AC-1005G) s deskou Arduino UNO
Pin 6 PWM výstup desky Arduino by měl být připojen k +ve vstupu bzučáku.
GND desky Arduino by mělo být spojeno s -ve vstupem bzučáku
Krok 3: Kódy Arduino
Zkompilovejte to a nahrajte na desku Arduino a sledujte ukázku systému Home Automation System
// Program začíná zde
int val;
int tempPin = A1;
int bzučák = 6;
#include LiquidCrystal lcd (7, 8, 9, 10, 11, 12);
neplatné nastavení () {
// sem vložte instalační kód, aby se spustil jednou:
lcd.begin (16, 2);
lcd.clear ();
Serial.begin (9600);
pinMode (bzučák, VÝSTUP);
}
void loop () {// sem vložte svůj hlavní kód, aby se spustil opakovaně:
val = analogRead (tempPin); // AD22100 je připojen na Pin A1
/*
*Pro 25C, val přijde jako 900, což znamená
* 900 odpovídá 1,9375 v
* Funkce přenosu je (V +/5) * (1,375 + 22,5 mv/degC * 25 ° C), * Přečtěte si katalogový 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 („TEMPRATURE =“);
Serial.print (cel); Serial.print („*C“);
Serial.println ();
if (cel> 26) {
tón (bzučák, 1000);
lcd.clear ();
lcd.print („Teplota nad prahovou hodnotou“);
lcd.setCursor (0, 1);
lcd.print („Snížit teplotu“);
}
jiný
{noTone (bzučák);
lcd.clear ();
lcd.print („Teplota pod kontrolou“);
lcd.setCursor (0, 1);
lcd.print („Teplota =“);
lcd.print (cel);
lcd.print („degC“);
}
zpoždění (500);
}
// Program končí zde
Krok 4: Porozumění programu podrobně
Pokusím se vysvětlit několik částí kódu.
Funkce související s příkazem If/else
Pokud je teplota vyšší než prahová hodnota, posílám signál do bzučáku, aby zazněl poplach, a zobrazí se na LCD pro snížení teploty pomocí níže uvedené části kódu
pokud (cel> 26)
{tón (bzučák, 1000);
lcd.clear ();
lcd.print („Teplota nad prahovou hodnotou“);
lcd.setCursor (0, 1);
lcd.print („Snížit teplotu“);
}
Pokud tomu tak není, odeslání aktuální hodnoty teploty na LCD a zobrazení této teploty je pod kontrolou.
jiný
{noTone (bzučák);
lcd.clear ();
lcd.print („Teplota pod kontrolou“);
lcd.setCursor (0, 1);
lcd.print („Teplota =“);
lcd.print (cel);
lcd.print („degC“);
}
Funkce související s bzučákem
tón (bzučák, 1000) - tato funkce odešle signál 1 khz na kolík s názvem bzučák, který je definován jako kolík 6 a magnetický bzučák je připojen na kolík 6. žádný tón (bzučák) - zastaví odesílání signálu 1 khz. Zvonění se proto zastaví
Funkce související s teplotním senzorem
Konverze analogové hodnoty čtení teploty na hodnotu deg C se provádí pomocí přenosové funkce, kterou lze zjistit v datovém listu AD22100, jak je uvedeno níže.
Vout = (V +/5 V) × (1,375 V + 22,5 mV/° C × TA) a stejná hodnota je vytištěna na LCD displeji.
Krok 5: Ukázka instruktáží
Jakmile je program zkompilován a nahrán na desku Arduino UNO
zkusme zvýšit teplotu snímanou teplotním čidlem AD22100 a užít si systém domácí automatizace.
Pro zvýšení teploty senzoru se ho dotýkám páječkou dostupnou v Lab.
Zde se můžete podívat na demo..
Ukázka systému domácí automatizace