Indholdsfortegnelse:

Hjemmeautomatisering: Lyd en alarm og display på LCD, når temperaturen er over tærskelværdien: 5 trin
Hjemmeautomatisering: Lyd en alarm og display på LCD, når temperaturen er over tærskelværdien: 5 trin

Video: Hjemmeautomatisering: Lyd en alarm og display på LCD, når temperaturen er over tærskelværdien: 5 trin

Video: Hjemmeautomatisering: Lyd en alarm og display på LCD, når temperaturen er over tærskelværdien: 5 trin
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 tærskelværdien
Hjemmeautomatisering: Lyd en alarm og display på LCD, når temperaturen er over tærskelværdien

Denne blog vil demonstrere, hvordan man laver et hjemmeautomatiseringssystem, der begynder at slå alarm, når temperaturen når mere end den programmerede tærskelværdi. Det vil blive ved med at vise rummets aktuelle temperatur på LCD'et og den nødvendige handling (f.eks. Reducere temp), når temperaturen når mere end tærskelværdien. I denne vejledning bruger jeg AD22100 temp sensor, der er fremstillet af Analog Devices og AG-1005G Buzzer. AD22100 er en spændingsudgangstemperaturføler med signalbehandling

Trin 1: Dele

Du skal bruge disse dele med dig, før du starter denne uforgængelige til at fungere

1. Arduino UNO Board

2. LCD -skærm (16x2)

3. summer - 2 ben (AC -1005G)

4. Temp Sensor - 3 ben (AD22100)

Trin 2: Tilslutning af de forskellige dele med Arduino UNO

LCD -forbindelse med Arduino UNO -kort

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

LCD aktiver pin (pin 6) med pin 8 på Arduino Board

LCD D4 Pin (Pin 11) med Pin 9 på Arduino Board

LCD D5 Pin (Pin 12) med Pin 10 på Arduino Board

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

LCD D7 Pin (Pin 14) med Pin 12 på Arduino Board

Tilføj en 10 KΩ gryde til +5v (grydepind 1) og GND (grydepind 3), Slut den midterste pin af potten (Pot Pin 2) til LCD V0 Pin (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 forbindelse med Arduino UNO Board

Pin 1 (V +) på AD22100 skal tilsluttes +5 v på Arduino Board.

Pin 2 (Vo) på AD22100 skal tilsluttes Pin A1 på Arduino Board.

Pin 3 (GND) på AD22100 skal tilsluttes GND på Arduino Board

Buzzer (AC-1005G) Tilslutning med Arduino UNO-kort

Pin 6 PWM -udgang fra Arduino -kortet skal tilsluttes +ve -indgangen på summeren.

GND på Arduino Board skal tilsluttes med -ve input af Buzzer

Trin 3: Arduino -koder

Kompilér det og upload det på Arduino Board, og observer demo af hjemmeautomatiseringssystem

// Programmet starter her

int val;

int tempPin = A1;

int summer = 6;

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

ugyldig opsætning () {

// sæt din opsætningskode her for at køre en gang:

lcd.begin (16, 2);

lcd.clear ();

Serial.begin (9600);

pinMode (summer, OUTPUT);

}

void loop () {// sæt din hovedkode her for at køre gentagne gange:

val = analogRead (tempPin); // AD22100 er forbundet med Pin A1

/*

*Ved 25C kommer val som 900, hvilket betyder

* 900 svarer til 1,9375 v

* Overførselsfunktion er (V +/5) * (1.375 + 22.5 mv/degC * 25 degC), * Læs 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 tærskelværdi");

lcd.setCursor (0, 1);

lcd.print ("Reducer temp");

}

andet

{noTone (summer);

lcd.clear ();

lcd.print ("Temp under kontrol");

lcd.setCursor (0, 1);

lcd.print (“Temp =“);

lcd.print (cel);

lcd.print (“degC”);

}

forsinkelse (500);

}

// Programmet slutter her

Trin 4: Forstå programmet i detaljer

Jeg vil forsøge at forklare nogle få dele af koden.

Funktioner relateret til If/else -sætning

Hvis temp er større end tærskelværdien, sender jeg et signal til summeren for at slå en alarm og viser på LCD for at reducere temperaturen med nedenstående afsnit af koden

hvis (cel> 26)

{tone (summer, 1000);

lcd.clear ();

lcd.print ("Temp over tærskelværdi");

lcd.setCursor (0, 1);

lcd.print ("Reducer temp");

}

Hvis ikke, så send den aktuelle temperaturværdi til LCD og vis, at denne temperatur er i kontrol.

andet

{noTone (summer);

lcd.clear ();

lcd.print ("Temp under kontrol");

lcd.setCursor (0, 1);

lcd.print (“Temp =“);

lcd.print (cel);

lcd.print (“degC”);

}

Funktioner relateret til summer

tone (summer, 1000) - denne funktion sender et 1 khz signal til pin navngivet summer, der er defineret som Pin 6 og Magnetic summer er tilsluttet ved Pin 6. noTone (summer) - stopper med at sende 1 khz signal. Derfor stopper ringen

Funktioner relateret til Temp Sensor

Konvertering af den analoge værdi af temp -læsning til deg C -værdien udføres ved hjælp af en overførselsfunktion, som kan findes i AD22100 -databladet som skrevet nedenfor.

Vout = (V +/5 V) × (1.375 V + 22.5 mV/° C × TA), og den samme værdi udskrives på LCD -displayet.

Trin 5: Demo af instruktørerne

Når programmet er samlet og uploadet på Arduino UNO -tavlen

lad os prøve at øge temperaturen registreret af temp sensor AD22100 og nyde hjemmeautomatiseringssystemet.

For at øge sensortemperaturen rører jeg den med loddejern, der fås i Lab.

Du kan se demoen her..

Demo af hjemmeautomatiseringssystem

Anbefalede: