Inhoudsopgave:

Domotica: laat een alarm afgaan en geeft op het LCD-scherm weer wanneer de temperatuur boven de drempelwaarde komt - Ajarnpa
Domotica: laat een alarm afgaan en geeft op het LCD-scherm weer wanneer de temperatuur boven de drempelwaarde komt - Ajarnpa

Video: Domotica: laat een alarm afgaan en geeft op het LCD-scherm weer wanneer de temperatuur boven de drempelwaarde komt - Ajarnpa

Video: Domotica: laat een alarm afgaan en geeft op het LCD-scherm weer wanneer de temperatuur boven de drempelwaarde komt - Ajarnpa
Video: Connected experiences for smart homes | Arjen Noorbergen 2024, November
Anonim
Domotica: laat een alarm afgaan en geeft op het LCD-scherm weer wanneer de temperatuur boven de drempelwaarde ligt
Domotica: laat een alarm afgaan en geeft op het LCD-scherm weer wanneer de temperatuur boven de drempelwaarde ligt

Deze blog laat zien hoe je een domoticasysteem maakt dat een alarm afgaat wanneer de temperatuur boven de geprogrammeerde drempelwaarde komt. Het blijft de huidige temperatuur van de kamer weergeven op het LCD-scherm en de benodigde actie (bijv.: Verlaag de temperatuur) wanneer de temperatuur meer dan de drempelwaarde bereikt. In deze zelfstudie gebruik ik de AD22100-temperatuursensor die is vervaardigd door Analog Devices en AG-1005G Buzzer. AD22100 is een spanningsuitgangstemperatuursensor met signaalconditionering

Stap 1: Onderdelen

Je moet deze onderdelen bij je hebben voordat je deze onverwoestbare aan het werk gaat

1. Arduino UNO-bord

2. LCD-scherm (16x2)

3. Zoemer - 2-pins (AC-1005G)

4. Temperatuursensor - 3-pins (AD22100)

Stap 2: Aansluiting van de verschillende onderdelen met Arduino UNO

LCD-verbinding met Arduino UNO-bord

LCD RS-pin (pin 4) met pin 7 van Arduino-bord

LCD inschakelen Pin (Pin 6) met Pin 8 van Arduino Board

LCD D4 Pin (Pin 11) met Pin 9 van Arduino Board

LCD D5 Pin (Pin 12) met Pin 10 van Arduino Board

LCD D6 Pin (Pin 13) met Pin 11 van Arduino Board

LCD D7 Pin (Pin 14) met Pin 12 van Arduino Board

Voeg een 10 KΩ Pot toe aan +5v (Pot Pin 1) en GND (Pot Pin 3), Sluit de middelste pin van de pot (potpin 2) aan op de LCD V0-pin (pin 3).

LCD VDD Pin (Pin 2) en LCD A Pin (Pin 15) met +5v op Arduino Board.

LCD VSS Pin (Pin 1) en LCD K Pin (Pin 16) met GND op Arduino Board.

AD22100 Temp Sensor verbinding met Arduino UNO Board

Pin 1 (V+) van AD22100 moet worden aangesloten op +5 v op Arduino Board.

Pin 2 (Vo) van AD22100 moet worden aangesloten op pin A1 op het Arduino-bord.

Pin 3 (GND) van AD22100 moet worden aangesloten op GND op Arduino Board

Zoemer (AC-1005G) Verbinding met Arduino UNO-kaart

Pin 6 PWM-uitgang van Arduino-bord moet worden aangesloten op +ve-ingang van zoemer.

GND van Arduino Board moet worden aangesloten met -ve ingang van Buzzer

Stap 3: Arduino-codes

Compileer het en upload het op Arduino Board en observeer de demo van het Home Automation System

// Programma begint hier

int val;

int tempPin = A1;

int-zoemer = 6;

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

ongeldige setup() {

// plaats hier je setup-code, om een keer uit te voeren:

lcd.begin (16, 2);

lcd.wissen();

Serieel.begin(9600);

pinMode (zoemer, UITGANG);

}

void loop() {// plaats hier je hoofdcode, om herhaaldelijk uit te voeren:

val = analogRead (tempPin);//AD22100 is aangesloten op Pin A1

/*

*Voor 25C komt val als 900, dat betekent:

* 900 komt overeen met 1.9375 v

* Overdrachtsfunctie is (V+/5)*(1.375 + 22.5 mv/degC * 25 degC), * Lees gegevensblad van AD22100

*/

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

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

Serial.print(val);

Serieel.println();

Serial.print ("TEMPRATUUR = ");

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

Serieel.println();

als (cel > 26){

toon (zoemer, 1000);

lcd.wissen();

lcd.print(“Temp boven drempel”);

lcd.setCursor(0, 1);

lcd.print(“Temperatuur verlagen”);

}

anders

{noTone(zoemer);

lcd.wissen();

lcd.print(“Temp onder controle”);

lcd.setCursor(0, 1);

lcd.print ("Temp = ");

lcd.print(cel);

lcd.print(“degC”);

}

vertraging (500);

}

// Programma eindigt hier

Stap 4: Programma in detail begrijpen

Ik zal proberen enkele delen van de code uit te leggen.

Functies gerelateerd aan If/else-statement

Als de temperatuur hoger is dan de drempelwaarde, stuur ik een signaal naar de zoemer om een alarm te laten klinken en op het LCD-scherm weer te geven om de temperatuur te verlagen met het onderstaande gedeelte van de code

als (cel > 26)

{toon (zoemer, 1000);

lcd.wissen();

lcd.print(“Temp boven drempel”);

lcd.setCursor(0, 1);

lcd.print(“Temperatuur verlagen”);

}

Als dat niet het geval is, is het sturen van de huidige waarde van de temperatuur naar het LCD-scherm en het weergeven van die temperatuur de controle.

anders

{noTone(zoemer);

lcd.wissen();

lcd.print(“Temp onder controle”);

lcd.setCursor(0, 1);

lcd.print ("Temp = ");

lcd.print(cel);

lcd.print(“degC”);

}

Functies gerelateerd aan Zoemer

toon (zoemer, 1000) - deze functie stuurt een signaal van 1 khz naar pin genaamd zoemer die is gedefinieerd als pin 6 en magnetische zoemer is aangesloten op pin 6. noTone (zoemer) - stopt met het verzenden van 1 khz-signaal. Daarom stopt het rinkelen

Functies gerelateerd aan Temp Sensor

Conversie van de analoge waarde van de temperatuurmeting naar de deg C-waarde wordt gedaan met behulp van een overdrachtsfunctie die te vinden is in het AD22100-gegevensblad zoals hieronder beschreven.

Vout = (V+/5 V) × (1,375 V + 22,5 mV/°C × TA) en dezelfde waarde wordt afgedrukt op het LCD-scherm.

Stap 5: Demo van de Instructables

Zodra het programma is gecompileerd en geüpload op het Arduino UNO-bord

laten we proberen de temperatuur te verhogen die wordt gemeten door temperatuursensor AD22100 en genieten van het domoticasysteem.

Om de temperatuur van de sensor te verhogen, raak ik hem aan met een soldeerbout die beschikbaar is in Lab.

De demo kun je hier bekijken..

Demo van domoticasysteem

Aanbevolen: