Inhoudsopgave:

Arduino LCD-brandveiligheidswaarschuwingssysteem - Ajarnpa
Arduino LCD-brandveiligheidswaarschuwingssysteem - Ajarnpa

Video: Arduino LCD-brandveiligheidswaarschuwingssysteem - Ajarnpa

Video: Arduino LCD-brandveiligheidswaarschuwingssysteem - Ajarnpa
Video: Уроки Ардуино #0 - что такое Arduino, куда подключаются датчики и как питать Ардуино 2024, November
Anonim
Arduino LCD-brandveiligheidswaarschuwingssysteem
Arduino LCD-brandveiligheidswaarschuwingssysteem
Arduino LCD-brandveiligheidswaarschuwingssysteem
Arduino LCD-brandveiligheidswaarschuwingssysteem
Arduino LCD-brandveiligheidswaarschuwingssysteem
Arduino LCD-brandveiligheidswaarschuwingssysteem

Dit is een door studenten gemaakt project dat de functies van een LCD-scherm, een zoemer, een RGB- en een DHT-temperatuursensor combineert.

De huidige omgevingstemperatuur wordt weergegeven en bijgewerkt op het LCD-scherm.

Het bericht dat op het LCD-scherm wordt afgedrukt, informeert de gebruiker over het niveau van "brandgevaar".

Het scherm dimt en knippert om de gebruiker te waarschuwen voor gevaar.

De zoemer wordt luider en sneller om de gebruiker te waarschuwen voor gevaar, afhankelijk van het huidige risico.

De RGB verandert groen, geel, oranje en rood afhankelijk van het huidige risiconiveau.

Kan in een 3D-geprinte behuizing worden geplaatst voor een professionelere uitstraling.

Dit lost een reëel probleem op van mensen die niet weten wanneer er brandgevaar is, totdat het te laat is

Stap 1: Verzamel materialen

Verzamel materialen
Verzamel materialen
Verzamel materialen
Verzamel materialen
Verzamel materialen
Verzamel materialen

Materialen gebruikt in dit project:

1x LCD-scherm

1x DHT_1 temperatuursensor

1x RGB

1x Piezo Passieve Zoemer 1.0v

2x Kleine Breadboards

3x Standaard weerstanden

1x Broodplank van normaal formaat

1x Arduino UNO

Bluetack om draden op hun plaats te vergrendelen.

Een assortiment van draden met verschillende uiteinden, zowel open als enkelvoudig.

Een apparaat om de code uit te voeren

Toegang tot een 3D-printer als u de buitenste schil en een meer gepolijste look wenst

Stap 2: De breadboards instellen

De breadboards instellen
De breadboards instellen
De breadboards instellen
De breadboards instellen

1. Sluit de oranje draad van de pin met het label "GND" op het Arduino-bord aan en sluit deze aan op de negatieve kant (blauw) van het breadboard. Als we vanaf dit punt GND voor externe apparaten moeten gebruiken, plaatsen we ze gewoon in dezelfde kolom als deze op het breadboard.

2. Sluit de rode draad van de pin met het label "5V" op het Arduino-bord aan en sluit deze aan op de positieve (rode) kant van het breadboard. Vanaf dit punt, als we 5V moeten gebruiken voor externe apparaten, plaatsen we ze gewoon in dezelfde kolom als deze op het breadboard.

Stap 3: LCD-scherm instellen

LCD-scherm instellen
LCD-scherm instellen
LCD-scherm instellen
LCD-scherm instellen
LCD-scherm instellen
LCD-scherm instellen

1. Draai het bord om zodat het ondersteboven ligt met alle pinnen aan de linkerkant.

2. Sluit een draad 5 van linksboven aan op de bovenste rij pinnen en verbind deze met pin nummer 4 op de Arduino UNO.

3. Sluit een draad 6 van linksboven aan op de bovenste rij pinnen en verbind deze met pin nummer 5 op de Arduino UNO.

4. Sluit een draad 7 van linksboven op de bovenste rij pinnen aan en sluit deze aan op pin nummer 6 op de Arduino UNO.

5. Sluit een draad 8 van linksboven aan op de bovenste rij pinnen en verbind deze met pin nummer 7 op de Arduino UNO.

6. Sluit een draad 9 van linksboven aan op de bovenste rij pinnen en verbind deze met pin nummer 8 op de Arduino UNO.

7. Sluit een draad 10 van linksboven aan op de bovenste rij pinnen en verbind deze met pin nummer 9 op de Arduino UNO.

8. Sluit een draad 3 van rechtsonder aan en sluit deze aan op de 5V-rij op het breadboard

9. Sluit een draad 4 van rechtsonder aan en sluit deze aan op de GND Row op het breadboard

ZIE AFBEELDINGEN ALS CIRCUIT DIAGRAM VERSCHILLENDE LCD TOONT!

Stap 4: Piezo-zoemer instellen

Piezo-zoemer instellen
Piezo-zoemer instellen
Piezo-zoemer instellen
Piezo-zoemer instellen
Piezo-zoemer instellen
Piezo-zoemer instellen
Piezo-zoemer instellen
Piezo-zoemer instellen

1. Sluit een draad van de GND-pin op de zoemer aan op de GND-kolom (blauw) op het breadboard

2. Sluit een draad van de VCC-pin op de zoemer aan op de 5V-kolom (rood) op het breadboard

3. Sluit een draad van de SIG-pin op de zoemer aan op de pin met het nummer "10" op het Arduino UNO-bord

ZIE BOVENSTAANDE AFBEELDINGEN ALS CIRCUIT DIAGRAM VERSCHILLENDE ZOEMER TOONT

Stap 5: De DHT-temperatuursensor instellen

De DHT-temperatuursensor instellen
De DHT-temperatuursensor instellen
De DHT-temperatuursensor instellen
De DHT-temperatuursensor instellen
De DHT-temperatuursensor instellen
De DHT-temperatuursensor instellen
De DHT-temperatuursensor instellen
De DHT-temperatuursensor instellen

1. Stel de DHT-sensor in op het breadboard zoals hierboven weergegeven:

2. Sluit de eerste pin aan de linkerkant van de DHT-sensor (aangeduid met VCC in het onderdeeldiagram) aan op de 5V-kolom (rood) op het breadboard

3. Sluit de tweede pin aan de linkerkant van de DHT-sensor (Gelabelde DATA in het onderdeeldiagram) aan op de A0-poort op de Arduino UNO

4. Sluit de eerste pin aan de rechterkant van de DHT-sensor (aangeduid met GND in het onderdeeldiagram) aan op de GND-kolom (blauw) op het breadboard

5. Bekijk een zelfstudie en voeg de dht.h-bibliotheek aan het einde van de instructable toe aan Arduino. (Dit is verplicht)

Stap 6: RGB instellen

De RGB instellen
De RGB instellen
De RGB instellen
De RGB instellen
De RGB instellen
De RGB instellen
De RGB instellen
De RGB instellen

1. Plaats de RGB in een klein breadboard zoals hierboven weergegeven, waarbij de nadruk ligt op het tweede been van links van de RGB dat één slot dichterbij is dan de andere drie

2. Plaats standaardweerstanden op de eerste, derde en vierde pinnen. Laat ruimte over voor ten minste één extra draad (zoals hierboven weergegeven).

3. Verbind een draad van achter de weerstand op de linker pin van de RGB met de pin Label 2 op de Arduino UNO

4. Verbind een draad van achter de buitenste tweede van de linker pin van de RGB naar de GND (blauwe) kolom van het breadboard.

5. Verbind een draad van achter de weerstand op de tweede van de rechter pin van de RGB naar de pin met label 1 op de Arduino UNO

6. Sluit een draad van achter de weerstand op de rechter pin van de RGB aan op de pin met label 3 op de Arduino UNO

Stap 7: Optionele 3D-printbehuizing

Optionele 3D-printbehuizing
Optionele 3D-printbehuizing
Optionele 3D-printbehuizing
Optionele 3D-printbehuizing
Optionele 3D-printbehuizing
Optionele 3D-printbehuizing

1. Zoek een zelfstudie over 3D-printen.

2. Print het onderstaande bijgevoegde ontwerp gemaakt op Autodesk Fusion 360 (.stl-bestand)

3. Schraap overtollig 3D-materiaal weg en strijk het oppervlak glad

4. Zie bovenstaande afbeelding voor hulp bij het plaatsen van Arduino-onderdelen.

Stap 8: De code en bestanden

De code en bestanden
De code en bestanden

-De DHT.h-bibliotheek is bijgevoegd. (UITPAKKEN)

-De Code met volledige gedetailleerde opmerkingen is bijgevoegd, maar is ook op de volgende stap.

-Het.stl-bestand voor de 3D-behuizing is bijgevoegd

-Het schakelschema is weer bijgevoegd. Zorg ervoor dat u de daadwerkelijke stappen voor het LCD-scherm en de piëzo-zoemer raadpleegt, aangezien verschillende componenten werden gebruikt.

Stap 9: Arduino-code

Arduino-code
Arduino-code
Arduino-code
Arduino-code

//LCD-BRANDWAARSCHUWINGSSYSTEEM//Leest invoer van DHT-temperatuurpin en verandert, afhankelijk van of het heet is of niet, een RGB en luidspreker om de gebruiker aan te geven of er brandgevaar is. // Geeft ook de temperatuur weer op het lcd-scherm.

// DHT-INSTELLING

#include // Voeg de DHT-bibliotheek toe

#define dht_dpin A0 // Vertelt het bord dat de DHT-pin zich in analoge ingang 0. bevindt

dht-DHT; // dht = DHT

// OPSTELLING VAN VLOEIBAAR KRISTAL

#include // Voeg de Liquid Crystal-bibliotheek toe

LiquidCrystal-lcd (8, 9, 4, 5, 6, 7); // Verkort naar LCD / vertelt Arduino welke poorten het lcd inneemt

// RGB + ZOEMER DEFINIREN

#define redpin 1 // Definieert redpin van RGB in poort 1

#define greenpin 2 // Definieert greenpin van RGB in poort 2

#define bluepin 3 // Definieert bluepin van RGB in poort 3

#define buzzerpin 10 // Definieert buzzerpin in poort 10

// VARIABELEN

int temp = analogRead (DHT.temperatuur); // Stelt Integer "temp" in, wat de waarde is van het DHT.temperature-commando

ongeldige setup() {

// UITVOER INVOER

analoogWrite(redpin, UITGANG); // Declareer/definieer redpin als output

analogWrite (groene pin, UITGANG); // Declareer/definieer greenpin als output

analogWrite (bluepin, UITGANG); // Declareer/definieer bluepin als output

pinMode (zoemerpin, UITGANG); // Declareer/definieer buzzerpin als output

// LCD SCHERM

lcd.begin (16, 2); // Definieer het LCD-scherm als 16 kolommen en 2 rijen}

lege lus() {

// LCD-CODE ZONDER VARIABILITEIT

DHT.read11(dht_dpin); // Lees invoer van dht_dpin ook (A0)

lcd.setCursor(0, 0); // Stelt curser in op Kolom 0, Rij 0

lcd.print("Het is "); //Schrijft "Het is" op het LCD-scherm

lcd.print(DHT.temperatuur); // Drukt de DHT.temperature-waarde af van de DHT-pin op kolom 0, rij 0

lcd.print(" "); // Drukt een spatie af na de temperatuur

lcd.print((char)223); // drukt Graadteken af na temperatuur

lcd.print("C"); // Drukt een "c" af na het gradenteken om celsius te symboliseren

// LCD KNIPPERT

lcd.setCursor(0, 1); // Zet curser op Kolom 0, Rij 1

lcd.noDisplay();

lcd.print("Geen brandgevaar"); // Prints "Geen kans op vuur"

lcd.noDisplay(); // Schakelt LCD-scherm uit (deel van flits)

vertraging (1000);// Blijft 1 seconde uit

LCD scherm(); // Schakelt het LCD-scherm weer in

vertraging (1000);// Blijft 1 seconde aan

// RGB + ZOEMERCODE

analoogWrite(redpin, 0); // Geen uitvoer van rode pin

analoogWrite(groene pin, 255); // 255 output van greenpin (maakt RGB groen)

analoogWrite(bluepin, 0); // Geen uitvoer van blauwe pin

toon (zoemerpin, 20, 20); // // Zendt een frequentie uit van 20 hertz gedurende 0,02 seconden vanaf de zoemer

// ALS TEMP IS 25-30

if ((int(DHT.temperatuur) >= 25,00) && (int(DHT.temperatuur) <= 30,00)) {

lcd.wissen(); // Wist LCD-scherm

lcd.setCursor(0, 1); // Stelt curser in op kolom 0, rij 1

lcd.print("Kleine waarschuwing"); // Drukt "Small Alert" af op kolom 0, rij 1

lcd.noDisplay(); // Schakelt LCD-scherm uit (deel van flits)

vertraging (1000);// Blijft 1 seconde uit

LCD scherm(); // Schakelt het LCD-scherm weer in

vertraging (1000);// Blijft 1 seconde aan

analoogWrite(redpin, 255); // 255 output van redpin (maakt RGB geel)

analoogWrite(groene pin, 255); // 255 output van greenpin (maakt RGB geel)

analoogWrite(bluepin, 0); // Geen uitvoer van blauwe pin

toon (zoemerpin, 200, 100); // Zendt een frequentie uit van 200 hertz gedurende 0,1 seconde vanaf de zoemer

vertraging (300); //.3 Tweede vertraging

} // ALS TEMP IS 31-37 anders if ((int(DHT.temperatuur) = 37.00)) {

lcd.wissen(); // Wist LCD-scherm

lcd.setCursor(0, 1); // Stelt curser in op Kolom 0, Rij 1

lcd.print("Medium waarschuwing"); // Drukt "Medium Alert" af op kolom 0, rij 1

lcd.noDisplay(); // Schakelt LCD-scherm uit (deel van flits)

vertraging (500);// Blijft 0,5 seconde uit

LCD scherm(); // Schakelt het LCD-scherm weer in

vertraging (500);// Blijft 0,5 seconde aan

analoogWrite(redpin, 255); // 255 output van redpin (maakt RGB oranje)

analoogWrite(groene pin, 165); // 165 output van greenpin (maakt RGB oranje)

analoogWrite(bluepin, 0); // Geen uitvoer van bluepin

toon (zoemerpin, 500, 900); // Zendt een frequentie uit van 500 hertz gedurende 0,9 seconden vanaf de zoemer

vertraging (300); //.3 Tweede vertraging

} // ALS TEMP IS 38-100

else if ((int(DHT.temperatuur) = 100.00)) {

lcd.wissen(); // Wist LCD-scherm

lcd.setCursor(0, 1); // Stelt curser in op Kolom 0, Rij 1

lcd.print("Bel 000"); // Drukt "Call 000" af op kolom 0, rij 1

lcd.noDisplay(); // Schakelt LCD-scherm uit (deel van flits)

vertraging (250);// Blijft 0,25 seconde uit

LCD scherm(); // Schakelt het LCD-scherm weer in

vertraging (250);// Blijft 0,25 seconde aan

analoogWrite(redpin, 255); // 255 output van redpin (maakt RGB rood)

analoogWrite(groene pin, 0); // Geen uitvoer van greenpin

analoogWrite(bluepin, 0); // Geen uitvoer van bluepin

toon (zoemerpin, 1000, 900); // Zendt een frequentie uit van 1000 hertz gedurende 0,9 seconden vanaf de zoemer

vertraging (300); //.3 Tweede vertraging

}}

Aanbevolen: