Innehållsförteckning:

Hemmautomation: Larma och visa på LCD när temperaturen är över tröskelvärdet: 5 steg
Hemmautomation: Larma och visa på LCD när temperaturen är över tröskelvärdet: 5 steg

Video: Hemmautomation: Larma och visa på LCD när temperaturen är över tröskelvärdet: 5 steg

Video: Hemmautomation: Larma och visa på LCD när temperaturen är över tröskelvärdet: 5 steg
Video: LDmicro 11: Serial LCD Temperature Controller (Microcontroller PLC Ladder Programming with LDmicro) 2024, Juli
Anonim
Hemmautomation: Larma och visa på LCD -skärmen när temperaturen är över tröskelvärdet
Hemmautomation: Larma och visa på LCD -skärmen när temperaturen är över tröskelvärdet

Denna blogg kommer att visa hur man skapar ett hemautomationssystem som börjar larma när temperaturen når mer än det programmerade tröskelvärdet. Det kommer att fortsätta visa den aktuella temperaturen i rummet på LCD -skärmen och nödvändiga åtgärder (Ex: Minska temp) när temperaturen når mer än tröskelvärdet. I denna handledning använder jag AD22100 temp sensor som tillverkas av Analog Devices och AG-1005G Buzzer. AD22100 är en temperatursensor för spänningsutgång med signalkonditionering

Steg 1: Delar

Du behöver dessa delar med dig innan du startar det här oförstörbara för att fungera

1. Arduino UNO styrelse

2. LCD -skärm (16x2)

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

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

Steg 2: Anslutning av de olika delarna med Arduino UNO

LCD -anslutning med Arduino UNO -kort

LCD RS -stift (stift 4) med stift 7 på Arduino -kortet

LCD -aktiveringsstift (stift 6) med stift 8 på Arduino -kortet

LCD D4 -stift (stift 11) med stift 9 på Arduino -kortet

LCD D5 -stift (stift 12) med stift 10 på Arduino -kortet

LCD D6 Pin (Pin 13) med Pin 11 på Arduino Board

LCD D7 -stift (stift 14) med stift 12 på Arduino -kortet

Lägg till en 10 KΩ gryta till +5v (grytstift 1) och GND (grytstift 3), Anslut mitten av krukan (grytstift 2) till LCD V0 stift (stift 3).

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

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

AD22100 Temp Sensor anslutning med Arduino UNO Board

Pin 1 (V +) på AD22100 bör anslutas till +5 v på Arduino Board.

Pin 2 (Vo) på AD22100 bör anslutas till Pin A1 på Arduino Board.

Pin 3 (GND) på AD22100 bör anslutas till GND på Arduino Board

Summer (AC-1005G) Anslutning med Arduino UNO-kort

Pin 6 PWM -utgång från Arduino -kortet bör anslutas till +ve -ingången på summern.

GND för Arduino Board bör anslutas med -ve ingång på summer

Steg 3: Arduino -koder

Kompilera den och ladda upp den på Arduino Board och observera demo av Home Automation System

// Programmet börjar här

int val;

int tempPin = A1;

int summer = 6;

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

void setup () {

// lägg din installationskod här för att köra en gång:

lcd.begin (16, 2);

lcd.clear ();

Serial.begin (9600);

pinMode (summer, OUTPUT);

}

void loop () {// lägg din huvudkod här för att köra upprepade gånger:

val = analogRead (tempPin); // AD22100 är ansluten till Pin A1

/*

*För 25C kommer val som 900 det betyder

* 900 motsvarar 1,9375 v

* Överföringsfunktionen är (V +/5) * (1.375 + 22.5 mv/degC * 25 degC), * Läs datablad för AD22100

*/

float cel = ((((1.9375/900) * val) - 1.375) /22.5) * 1000;

flyta farh = (cel*9)/5 + 32;

Serial.print (val);

Serial.println ();

Serial.print ("TEMPRATURE =");

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

Serial.println ();

om (cel> 26) {

ton (summer, 1000);

lcd.clear ();

lcd.print ("Temp över tröskeln");

lcd.setCursor (0, 1);

lcd.print ("Minska temp");

}

annan

{noTone (summer);

lcd.clear ();

lcd.print (“Temp under control”);

lcd.setCursor (0, 1);

lcd.print (“Temp =“);

lcd.print (cel);

lcd.print (“degC”);

}

fördröjning (500);

}

// Programmet slutar här

Steg 4: Förstå programmet i detalj

Jag ska försöka förklara några delar av koden.

Funktioner relaterade till If/else -uttalande

Om temp är större än tröskelvärdet skickar jag en signal till summern för att slå ett larm och visar på LCD för att sänka tempen med nedanstående avsnitt av koden

om (cel> 26)

{ton (summer, 1000);

lcd.clear ();

lcd.print ("Temp över tröskeln");

lcd.setCursor (0, 1);

lcd.print ("Minska temp");

}

Om inte, skicka det aktuella värdet på temp till LCD och visa att tempen är under kontroll.

annan

{noTone (summer);

lcd.clear ();

lcd.print (“Temp under control”);

lcd.setCursor (0, 1);

lcd.print (“Temp =“);

lcd.print (cel);

lcd.print (“degC”);

}

Funktioner relaterade till summer

ton (summer, 1000) - den här funktionen skickar en 1 khz signal till stiftet som heter summer som definieras som Pin 6 och Magnetic summer är ansluten till Pin 6. noTone (summer) - slutar skicka 1 kHz signal. Därför kommer ringen att sluta

Funktioner relaterade till Temp Sensor

Omvandling av det analoga värdet för tempavläsning till deg C -värdet görs med en överföringsfunktion som kan hittas i AD22100 -databladet enligt nedan.

Vout = (V +/5 V) × (1.375 V + 22.5 mV/° C × TA) och samma värde skrivs ut på LCD -skärmen.

Steg 5: Demo av instruktionerna

När programmet har sammanställts och laddats upp på Arduino UNO -kortet

låt oss försöka öka tempen som avkänns av temperatursensorn AD22100 och njuta av hemmautomationssystemet.

För att öka sensortemperaturen vidrör jag den med lödkolv som finns i Lab.

Du kan titta på demoen här..

Demo av hemautomationssystem

Rekommenderad: