Cuprins:

Home Automation: Sună o alarmă și afișează pe ecranul LCD când temperatura depășește valoarea pragului: 5 pași
Home Automation: Sună o alarmă și afișează pe ecranul LCD când temperatura depășește valoarea pragului: 5 pași

Video: Home Automation: Sună o alarmă și afișează pe ecranul LCD când temperatura depășește valoarea pragului: 5 pași

Video: Home Automation: Sună o alarmă și afișează pe ecranul LCD când temperatura depășește valoarea pragului: 5 pași
Video: Testing MQ-6 gas/alcohol sensor 2024, Iulie
Anonim
Home Automation: Sună o alarmă și afișează pe ecranul LCD când temperatura depășește valoarea pragului
Home Automation: Sună o alarmă și afișează pe ecranul LCD când temperatura depășește valoarea pragului

Acest blog vă va arăta cum să creați un sistem de automatizare la domiciliu care va începe să sune o alarmă ori de câte ori temperatura depășește valoarea pragului programat. Se va afișa în continuare temperatura curentă a camerei pe ecranul LCD și acțiunea necesară (de exemplu: Scăderea temperaturii) atunci când temperatura depășește valoarea pragului. În acest tutorial, folosesc senzorul de temperatură AD22100, care este fabricat de Analog Devices și AG-1005G Buzzer. AD22100 este un senzor de temperatură de ieșire de tensiune cu condiționare a semnalului

Pasul 1: Piese

Aveți nevoie de aceste piese cu voi înainte de a începe acest lucru indestructibil

1. Consiliul UN Arduino

2. Afișaj LCD (16x2)

3. Buzzer - 2 pini (AC-1005G)

4. Senzor de temperatură - 3 pini (AD22100)

Pasul 2: Conectarea diferitelor părți cu Arduino UNO

Conexiune LCD cu placa Arduino UNO

Pin LCD RS (pinul 4) cu pinul 7 al plăcii Arduino

Pin activare LCD (Pin 6) cu Pin 8 de pe placa Arduino

Pin LCD D4 (Pin 11) cu Pin 9 de pe placa Arduino

Pin LCD D5 (Pin 12) cu Pin 10 al plăcii Arduino

Pin LCD D6 (Pin 13) cu Pin 11 al plăcii Arduino

Pin LCD D7 (Pin 14) cu Pin 12 de pe placa Arduino

Adăugați un Pot de 10 KΩ la + 5v (Pot Pin 1) și GND (Pot Pin 3), Conectați pinul central al potului (pinul 2) la pinul LCD V0 (pinul 3).

Pin VDD LCD (Pin 2) și Pin LCD A (Pin 15) cu + 5v pe placa Arduino.

Pin LCD VSS (Pin 1) și Pin LCD K (Pin 16) cu GND pe placa Arduino.

Conexiune senzor de temperatură AD22100 cu placa Arduino UNO

Pinul 1 (V +) al AD22100 ar trebui să fie conectat la +5 v pe placa Arduino.

Pinul 2 (Vo) al AD22100 ar trebui să fie conectat la pinul A1 de pe placa Arduino.

Pinul 3 (GND) al AD22100 ar trebui să fie conectat la GND pe placa Arduino

Buzzer (AC-1005G) Conexiune cu placa Arduino UNO

Ieșirea Pin 6 PWM a plăcii Arduino ar trebui să fie conectată la + ve intrarea Buzzer.

GND al plăcii Arduino ar trebui să fie conectat cu intrarea -ve a buzzerului

Pasul 3: Coduri Arduino

Compilați-l și încărcați-l pe placa Arduino și observați demo-ul sistemului de automatizare la domiciliu

// Programul începe aici

int val;

int tempPin = A1;

int buzzer = 6;

#include LiquidCrystal lcd (7, 8, 9, 10, 11, 12);

configurare nulă () {

// puneți codul de configurare aici, pentru a rula o dată:

lcd.inceput (16, 2);

lcd.clear ();

Serial.begin (9600);

pinMode (buzzer, OUTPUT);

}

void loop () {// puneți codul principal aici, pentru a rula în mod repetat:

val = analogRead (tempPin); // AD22100 este conectat la pinul A1

/*

* Pentru 25C, val vine ca 900, ceea ce înseamnă

* 900 corespunde cu 1,9375 v

* Funcția de transfer este (V + / 5) * (1,375 + 22,5 mv / degC * 25 degC), * Citiți foaia de date a 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 („TEMPRATURA =“);

Serial.print (cel); Serial.print („* C”);

Serial.println ();

if (cel> 26) {

ton (buzzer, 1000);

lcd.clear ();

lcd.print („Temp peste prag”);

lcd.setCursor (0, 1);

lcd.print („Scăderea temperaturii”);

}

altceva

{noTone (buzzer);

lcd.clear ();

lcd.print („Temp sub control”);

lcd.setCursor (0, 1);

lcd.print („Temp =“);

lcd.print (cel);

lcd.print („degC”);

}

întârziere (500);

}

// Programul se încheie aici

Pasul 4: Înțelegerea programului în detaliu

Voi încerca să explic câteva secțiuni din cod.

Funcții legate de declarația If / else

Dacă temperatura este mai mare decât valoarea pragului, trimit un semnal către buzzer pentru a suna o alarmă și se afișează pe LCD pentru a reduce temperatura cu secțiunea de mai jos a codului

dacă (cel> 26)

{ton (buzzer, 1000);

lcd.clear ();

lcd.print („Temp peste prag”);

lcd.setCursor (0, 1);

lcd.print („Scăderea temperaturii”);

}

În caz contrar, trimiterea valorii actuale a temperaturii pe ecranul LCD și afișarea acelei temperaturi sunt în control.

altceva

{noTone (buzzer);

lcd.clear ();

lcd.print („Temp sub control”);

lcd.setCursor (0, 1);

lcd.print („Temp =“);

lcd.print (cel);

lcd.print („degC”);

}

Funcții legate de Buzzer

ton (buzzer, 1000) - această funcție va trimite un semnal de 1 kHz la pinul numit buzzer, care este definit ca Pin 6, iar buzzerul magnetic este conectat la pinul 6.noTone (buzzer) - va înceta să trimită semnal de 1 kHz. Prin urmare, sunetul se va opri

Funcții legate de senzorul de temperatură

Conversia valorii analogice a citirii temp la valoarea deg C se face folosind o funcție de transfer care poate fi aflată în foaia de date AD22100 așa cum este scris mai jos.

Vout = (V + / 5 V) × (1,375 V + 22,5 mV / ° C × TA) și aceeași valoare este imprimată pe afișajul LCD.

Pasul 5: Demo-ul Instructables

Odată ce programul este compilat și încărcat pe placa Arduino UNO

să încercăm să creștem temperatura detectată de senzorul de temperatură AD22100 și să ne bucurăm de sistemul de automatizare la domiciliu.

Pentru creșterea temperaturii senzorului, îl ating cu un fier de lipit disponibil în Lab.

Puteți arunca o privire la demonstrație aici …

Demo de sistem de automatizare la domiciliu

Recomandat: