Innholdsfortegnelse:

Hjemmeautomatisering: Lyd en alarm og display på LCD når temperaturen er over terskelverdien: 5 trinn
Hjemmeautomatisering: Lyd en alarm og display på LCD når temperaturen er over terskelverdien: 5 trinn

Video: Hjemmeautomatisering: Lyd en alarm og display på LCD når temperaturen er over terskelverdien: 5 trinn

Video: Hjemmeautomatisering: Lyd en alarm og display på LCD når temperaturen er over terskelverdien: 5 trinn
Video: FLProg9: RTC-vækkeur | ESP32 NodeMCU | Arduino Visual Embedded Programmering 2024, Juli
Anonim
Hjemmeautomatisering: Lyd en alarm og display på LCD når temperaturen er over terskelverdien
Hjemmeautomatisering: Lyd en alarm og display på LCD når temperaturen er over terskelverdien

Denne bloggen vil demonstrere hvordan du lager et hjemmeautomatiseringssystem som begynner å slå alarm når temperaturen når mer enn den programmerte terskelverdien. Det vil fortsette å vise gjeldende temperatur i rommet på LCD -skjermen og nødvendige handlinger (f.eks. Senke temp) når temperaturen når mer enn terskelverdien. I denne opplæringen bruker jeg AD22100 temp sensor som er produsert av Analog Devices og AG-1005G Buzzer. AD22100 er en spenningsutgangstemperaturføler med signalkondisjonering

Trinn 1: Deler

Du trenger disse delene med deg før du starter denne uforgjengelige jobben

1. Arduino UNO -styre

2. LCD -skjerm (16x2)

3. Summer - 2 pinners (AC -1005G)

4. Temp -sensor - 3 -pinners (AD22100)

Trinn 2: Tilkobling av de forskjellige delene med Arduino UNO

LCD -tilkobling med Arduino UNO -kort

LCD RS Pin (Pin 4) med Pin 7 av Arduino Board

LCD Aktiver Pin (Pin 6) med Pin 8 av Arduino Board

LCD D4 Pin (Pin 11) med Pin 9 av Arduino Board

LCD D5 Pin (Pin 12) med Pin 10 av Arduino Board

LCD D6 Pin (Pin 13) med Pin 11 av Arduino Board

LCD D7 Pin (Pin 14) med Pin 12 av Arduino Board

Legg til en 10 KΩ gryte til +5v (grytepinne 1) og GND (grytepinne 3), Koble den midtre potten (potten 2) til LCD V0 -pinnen (pin 3).

LCD VDD Pin (Pin 2) og LCD A Pin (Pin 15) med +5v på Arduino Board.

LCD VSS Pin (Pin 1) og LCD K Pin (Pin 16) med GND på Arduino Board.

AD22100 Temp Sensor -tilkobling med Arduino UNO Board

Pin 1 (V +) på AD22100 bør kobles til +5 v på Arduino Board.

Pin 2 (Vo) på AD22100 bør kobles til Pin A1 på Arduino Board.

Pin 3 (GND) på AD22100 bør kobles til GND på Arduino Board

Summer (AC-1005G) Tilkobling med Arduino UNO Board

Pin 6 PWM -utgang fra Arduino -kortet skal kobles til +ve -inngangen til summeren.

GND for Arduino Board bør kobles til -ve inngang til summer

Trinn 3: Arduino -koder

Kompiler den og last den opp på Arduino Board og observer demo av Home Automation System

// Programmet starter her

int val;

int tempPin = A1;

int summer = 6;

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

ugyldig oppsett () {

// legg oppsettskoden her for å kjøre en gang:

lcd.begin (16, 2);

lcd.clear ();

Serial.begin (9600);

pinMode (summer, OUTPUT);

}

void loop () {// legg hovedkoden din her for å kjøre gjentatte ganger:

val = analogRead (tempPin); // AD22100 er koblet til Pin A1

/*

*For 25C kommer val som 900 det betyr

* 900 tilsvarer 1,9375 v

* Overføringsfunksjonen er (V +/5) * (1.375 + 22.5 mv/degC * 25 degC), * Les datablad for 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 ();

hvis (cel> 26) {

tone (summer, 1000);

lcd.clear ();

lcd.print ("Temp over terskel");

lcd.setCursor (0, 1);

lcd.print ("Reduser temp");

}

ellers

{noTone (summer);

lcd.clear ();

lcd.print ("Temp under kontroll");

lcd.setCursor (0, 1);

lcd.print (“Temp =“);

lcd.print (cel);

lcd.print (“degC”);

}

forsinkelse (500);

}

// Programmet avsluttes her

Trinn 4: Forstå programmet i detalj

Jeg vil prøve å forklare noen deler av koden.

Funksjoner relatert til If/else -setning

Hvis temp er større enn terskelverdien, sender jeg et signal til summeren for å slå en alarm og viser på LCD -skjermen for å senke temperaturen med delen nedenfor i koden

hvis (cel> 26)

{tone (summer, 1000);

lcd.clear ();

lcd.print ("Temp over terskel");

lcd.setCursor (0, 1);

lcd.print ("Reduser temp");

}

Hvis ikke, send den nåværende verdien av temp til LCD og vis at temperaturen er under kontroll.

ellers

{noTone (summer);

lcd.clear ();

lcd.print ("Temp under kontroll");

lcd.setCursor (0, 1);

lcd.print (“Temp =“);

lcd.print (cel);

lcd.print (“degC”);

}

Funksjoner relatert til summer

tone (summer, 1000) - denne funksjonen sender et 1 khz signal til pin med navnet summer som er definert som Pin 6 og Magnetic summer er koblet til Pin 6. noTone (summer) - vil stoppe å sende 1 khz signal. Derfor vil ringen stoppe

Funksjoner relatert til Temp Sensor

Konvertering av analog verdi for temperaturavlesning til grader C -verdi gjøres ved hjelp av en overføringsfunksjon som kan bli funnet ut i AD22100 -databladet som skrevet nedenfor.

Vout = (V +/5 V) × (1.375 V + 22.5 mV/° C × TA) og den samme verdien skrives ut på LCD -displayet.

Trinn 5: Demo av instruksjonene

Når programmet er samlet og lastet opp på Arduino UNO -brettet

la oss prøve å øke temperaturen registrert av temperatursensoren AD22100 og nyte hjemmeautomatiseringssystemet.

For å øke temperaturen på sensoren, berører jeg den med loddejern som er tilgjengelig i Lab.

Du kan se på demoen her..

Demo av hjemmeautomatiseringssystem

Anbefalt: