INHOUDSOPGAWE:

Arduino LCD -brandveiligheidswaarskuwingstelsel: 9 stappe
Arduino LCD -brandveiligheidswaarskuwingstelsel: 9 stappe

Video: Arduino LCD -brandveiligheidswaarskuwingstelsel: 9 stappe

Video: Arduino LCD -brandveiligheidswaarskuwingstelsel: 9 stappe
Video: Amazing arduino project 2024, November
Anonim
Arduino LCD -brandveiligheidswaarskuwingstelsel
Arduino LCD -brandveiligheidswaarskuwingstelsel
Arduino LCD -brandveiligheidswaarskuwingstelsel
Arduino LCD -brandveiligheidswaarskuwingstelsel
Arduino LCD -brandveiligheidswaarskuwingstelsel
Arduino LCD -brandveiligheidswaarskuwingstelsel

Dit is 'n student -gemaakte projek wat die funksies van 'n LCD -skerm, 'n zoemer, 'n RGB en 'n DHT -temperatuursensor kombineer.

Die huidige omgewingstemperatuur word op die LCD -skerm vertoon en bygewerk.

Die boodskap wat op die LCD -skerm gedruk word, lig die gebruiker in oor die vlak van 'brandgevaar'.

Die skerm verdof en flits om die gebruiker van gevaar te waarsku.

Die gonser word harder en vinniger om die gebruiker van gevaar te waarsku, afhangende van die huidige risiko.

Die RGB verander groen, geel, oranje en rooi, afhangende van die huidige risiko.

Kan in 'n 3D -gedrukte omhulsel geplaas word vir 'n meer professionele voorkoms.

Dit los 'n werklike probleem op van mense wat nie weet wanneer daar 'n risiko is vir 'n brand totdat dit te laat is nie

Stap 1: Versamel materiaal

Versamel materiaal
Versamel materiaal
Versamel materiaal
Versamel materiaal
Versamel materiaal
Versamel materiaal

Materiaal wat in hierdie projek gebruik word:

1x LCD -skerm

1x DHT_11 Temperatuursensor

1x RGB

1x Piezo Passive Buzzer 1.0v

2x klein broodborde

3x standaard weerstande

1x Breadboard met normale grootte

1x Arduino UNO

Bluetack om drade op hul plek te sluit.

'N Verskeidenheid drade met verskillende eindes, beide oop en enkel.

'N Toestel om die kode uit te voer

Toegang tot 'n 3D -drukker as u die buitenste dop en meer gepoleerde voorkoms verlang

Stap 2: Die opstel van die broodborde

Die opstel van die broodborde
Die opstel van die broodborde
Die opstel van die broodborde
Die opstel van die broodborde

1. Verbind die oranje draad van die pen "GND" op die Arduino -bord en koppel dit aan die negatiewe kant (blou) van die broodbord. Van nou af, as ons GND vir eksterne toestelle moet gebruik, plaas ons dit eenvoudig in dieselfde kolom as dit op die broodbord.

2. Verbind die rooi draad van die pen "5V" op die Arduino -bord en koppel dit aan die positiewe (rooi) kant van die broodbord. Van nou af, as ons 5V vir eksterne toestelle moet gebruik, plaas ons dit eenvoudig in dieselfde kolom as dit op die broodbord.

Stap 3: Stel 'n LCD -skerm op

Stel 'n LCD -skerm op
Stel 'n LCD -skerm op
Stel 'n LCD -skerm op
Stel 'n LCD -skerm op
Stel 'n LCD -skerm op
Stel 'n LCD -skerm op

1. Draai die bord om sodat dit onderstebo is met al die penne aan die linkerkant.

2. Koppel 'n draad 5 links bo in die boonste ry penne en verbind dit met pen 4 op die Arduino UNO.

3. Koppel 'n draad 6 links bo in die boonste ry penne en koppel dit aan pen nommer 5 op die Arduino UNO.

4. Koppel 'n draad 7 links bo in die boonste ry penne en verbind dit met pen 6 op die Arduino UNO.

5. Koppel 'n draad 8 links bo in die boonste ry penne en verbind dit met pen 7 op die Arduino UNO.

6. Koppel 'n draad 9 links bo in die boonste ry penne en verbind dit met pen nommer 8 op die Arduino UNO.

7. Koppel 'n draad 10 links bo in die boonste ry penne en verbind dit met pen 9 op die Arduino UNO.

8. Verbind 'n draad 3 van regs onder en verbind dit met die 5V -ry op die broodbord

9. Verbind 'n draad 4 van regs onder en verbind dit met die GND -ry op die broodbord

SIEN BEELDS SOOS DIE KRINGBLAD 'N VERSKILLENDE LCD vertoon

Stap 4: Die opstel van 'n piezo -zoemer

Die opstel van 'n piezo -zoemer
Die opstel van 'n piezo -zoemer
Die opstel van 'n piezo -zoemer
Die opstel van 'n piezo -zoemer
Die opstel van 'n piezo -zoemer
Die opstel van 'n piezo -zoemer
Die opstel van 'n piezo -zoemer
Die opstel van 'n piezo -zoemer

1. Koppel 'n draad van die GND -pen op die zoemer na die GND -kolom (blou) op die broodbord

2. Koppel 'n draad van die VCC -pen op die zoemer na die 5V -kolom (rooi) op die broodbord

3. Koppel 'n draad van die SIG -pen op die zoemer na die pen met die nommer "10" op die arduino UNO -bord

SIEN BOGENOOR BEELDE AS KRINGBLAD WYS VERSKILLENDE BUZZER

Stap 5: Die opstel van die DHT -temperatuursensor

Die opstel van die DHT -temperatuursensor
Die opstel van die DHT -temperatuursensor
Die opstel van die DHT -temperatuursensor
Die opstel van die DHT -temperatuursensor
Die opstel van die DHT -temperatuursensor
Die opstel van die DHT -temperatuursensor
Die opstel van die DHT -temperatuursensor
Die opstel van die DHT -temperatuursensor

1. Stel die DHT -sensor in die broodbord op soos hierbo getoon

2. Koppel die eerste pen aan die linkerkant van die DHT -sensor (gemerk VCC in die deeldiagram) aan die 5V -kolom (rooi) op die broodbord

3. Koppel die tweede pen aan die linkerkant van die DHT -sensor (gemerk DATA in die deeldiagram) aan die A0 -poort op die Arduino UNO

4. Koppel die eerste pen regs van die DHT -sensor (gemerk GND in die deeldiagram) aan die GND -kolom (blou) op die broodbord

5. Kyk na 'n tutoriaal en voeg die dht.h -biblioteek by aan die einde van die instruksies by Arduino. (Dit is verpligtend)

Stap 6: Stel die RGB op

Die opstel van die RGB
Die opstel van die RGB
Die opstel van die RGB
Die opstel van die RGB
Die opstel van die RGB
Die opstel van die RGB
Die opstel van die RGB
Die opstel van die RGB

1. Plaas die RGB in 'n klein broodbord soos hierbo getoon, met die klem daarop dat die tweede been links van die RGB een gleuf nader is as die ander drie

2. Plaas standaardweerstande op die eerste, derde en vierde pen. Laat ruimte vir ten minste nog een draad (soos hierbo getoon).

3. Verbind 'n draad van agter die weerstand aan die linker pen van die RGB met die pen gemerk 2 op die Arduino UNO

4. Koppel 'n draad van agter die buitesekonde van die linker pen van die RGB aan die GND (blou) kolom van die broodbord.

5. Koppel 'n draad van agter die weerstand op die tweede van die regterpen van die RGB aan die pen gemerk 1 op die Arduino UNO

6. Koppel 'n draad van agter die weerstand aan die regterpen van die RGB aan die pen gemerk 3 op die Arduino UNO

Stap 7: Opsionele 3D -afdrukbehuising

Opsionele 3D -afdrukbehuising
Opsionele 3D -afdrukbehuising
Opsionele 3D -afdrukbehuising
Opsionele 3D -afdrukbehuising
Opsionele 3D -afdrukbehuising
Opsionele 3D -afdrukbehuising

1. Vind 'n handleiding oor hoe om 3D te druk.

2. Druk die onderstaande aangehegte ontwerp op Autodesk Fusion 360 (.stl -lêer) af

3. Skraap oortollige 3D -materiaal af en maak glad oor die oppervlak

4. Sien prentjie hierbo vir leiding oor waar Arduino -onderdele geplaas moet word.

Stap 8: Die kode en lêers

Die kode en lêers
Die kode en lêers

-Die DHT.h -biblioteek is aangeheg. (ONZIP)

-Die kode met volledige gedetailleerde kommentaar is aangeheg, maar is ook op die volgende stap.

-Die.stl -lêer vir die 3D -behuising is aangeheg

-Die kringdiagram is weer aangeheg. Raadpleeg die werklike stappe vir die LCD -skerm en die piezo -gonser, aangesien verskillende komponente gebruik is.

Stap 9: Arduino -kode

Arduino -kode
Arduino -kode
Arduino -kode
Arduino -kode

// LCD -BRANDWAARSKUWINGSTELSEL // Lees die insette van die DHT -temperatuurpen, en verander na 'n rgb en luidspreker om die gebruiker aan te dui of dit 'n brandgevaar is. // Gee ook temperatuur op LCD -skerm weer.

// DHT INSTELLING

#include // Sluit die DHT -biblioteek in

#define dht_dpin A0 // Vertel die bord dat die DHT -pen in analoog ingang 0 is

dht DHT; // dht = DHT

// vloeibare kristalopstelling

#include // Sluit die Liquid Crystal -biblioteek in

LiquidCrystal lcd (8, 9, 4, 5, 6, 7); // Verkort na LCD /vertel arduino watter poort die lcd beslaan

// DEFINIERING van RGB + BUZZER

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

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

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

#define buzzerpin 10 // Definieer buzzerpin in poort 10

// VERANDERLIKES

int temp = analogRead (DHT.temperatuur); // Stel heelgetal "temp" op wat die waarde is van die DHT.temperatuur -opdrag

ongeldige opstelling () {

// UITGANG/INVOER

analogWrite (redpin, OUTPUT); // Verklaar/definieer redpin as uitset

analogWrite (greenpin, OUTPUT); // Verklaar/definieer greenpin as uitset

analogWrite (bluepin, OUTPUT); // Verklaar/definieer bloupin as uitvoer

pinMode (buzzerpin, OUTPUT); // Verklaar/definieer buzzerpin as uitvoer

// LCD skerm

lcd.begin (16, 2); // Definieer die LCD -skerm as 16 kolomme en 2 rye}

leemte -lus () {

// LCD -KODE SONDER BESKIKBAARHEID

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

lcd.setCursor (0, 0); // Stel vloek in Kolom 0, Ry 0

lcd.print ("Dit is"); // Skryf 'It's' op die LCD -skerm

lcd.print (DHT.temperatuur); // Druk die DHT.temperatuurwaarde uit DHT -pen in kolom 0, ry 0

lcd.print (""); // Druk 'n spasie na die temperatuur af

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

lcd.print ("C"); // Druk 'n "c" na die grade teken om celsius te simboliseer

// LCD FLITS

lcd.setCursor (0, 1); // Stel vervloekers in kolom 0, ry 1

lcd.noDisplay ();

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

lcd.noDisplay (); // Skakel LCD -skerm af (deel van flits)

vertraging (1000); // Bly 1 sekonde stil

lcd.display (); // Skakel die LCD -skerm weer aan

vertraging (1000); // Bly 1 sekonde aan

// RGB + BUZZER KODE

analogWrite (redpin, 0); // Geen uitset vanaf die rooi pen nie

analogWrite (greenpin, 255); // 255 uitset vanaf greenpin (maak RGB groen)

analogWrite (bloupen, 0); // Geen uitset vanaf blou pen nie

toon (buzzerpin, 20, 20); // // Stuur frekwensie van 20 hertz af vir 0,02 sekondes van die zoemer

// AS TEMP 25-30 is

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

lcd.clear (); // Maak LCD -skerm skoon

lcd.setCursor (0, 1); // Stel vervloekers in kolom 0, ry 1

lcd.print ("Klein waarskuwing"); // Druk "Klein waarskuwing" op kolom 0, ry 1

lcd.noDisplay (); // Skakel LCD -skerm af (deel van flits)

vertraging (1000); // Bly 1 sekonde stil

lcd.display (); // Skakel die LCD -skerm weer aan

vertraging (1000); // Bly 1 sekonde aan

analogWrite (redpin, 255); // 255 uitset vanaf rooi speld (maak RGB geel)

analogWrite (greenpin, 255); // 255 uitset van greenpin (maak RGB geel)

analogWrite (bloupen, 0); // Geen uitset van blou pen nie

toon (buzzerpin, 200, 100); // Stuur 'n frekwensie van 200 hertz af vir 0.1 sekondes vanaf die zoemer

vertraging (300); //.3 Tweede vertraging

} // AS TEMP 31-37 anders is as ((int (DHT.temperatuur) = 37,00)) {

lcd.clear (); // Maak die LCD -skerm skoon

lcd.setCursor (0, 1); // Stel vervloekers in kolom 0, ry 1

lcd.print ("Medium waarskuwing"); // Druk "Medium waarskuwing" uit op kolom 0, ry 1

lcd.noDisplay (); // Skakel LCD -skerm af (deel van flits)

vertraging (500); // Bly stil vir 0,5 sekonde

lcd.display (); // Skakel die LCD -skerm weer aan

vertraging (500); // Bly 0,5 sekonde aan

analogWrite (redpin, 255); // 255 uitset vanaf redpin (maak RGB oranje)

analogWrite (greenpin, 165); // 165 uitset vanaf greenpin (maak RGB oranje)

analogWrite (bloupen, 0); // Geen uitset van bluepin nie

toon (buzzerpin, 500, 900); // Stuur frekwensie van 500 hertz af vir 0,9 sekondes vanaf die zoemer

vertraging (300); //.3 Tweede vertraging

} // AS TEMP 38-100 IS

anders as ((int (DHT.temperatuur) = 100.00)) {

lcd.clear (); // Maak die LCD -skerm skoon

lcd.setCursor (0, 1); // Stel vervloekers in kolom 0, ry 1

lcd.print ("Bel 000"); // Druk "Bel 000" op kolom 0, ry 1

lcd.noDisplay (); // Skakel LCD -skerm af (deel van flits)

vertraging (250); // Bly stil vir 0,25 sekonde

lcd.display (); // Skakel die LCD -skerm weer aan

vertraging (250); // bly 0,25 sekonde aan

analogWrite (redpin, 255); // 255 uitset vanaf redpin (maak RGB rooi)

analogWrite (greenpin, 0); // Geen uitset van greenpin nie

analogWrite (bloupen, 0); // Geen uitset van bluepin nie

toon (buzzerpin, 1000, 900); // Stuur frekwensie van 1000 hertz af vir 0,9 sekondes vanaf die zoemer

vertraging (300); //.3 Tweede vertraging

}}

Aanbeveel: