Inhaltsverzeichnis:

Arduino LCD-Brandschutzwarnsystem - Gunook
Arduino LCD-Brandschutzwarnsystem - Gunook

Video: Arduino LCD-Brandschutzwarnsystem - Gunook

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

Dies ist ein von Studenten erstelltes Projekt, das die Funktionen eines LCD-Bildschirms, eines Summers, eines RGB- und eines DHT-Temperatursensors kombiniert.

Die aktuelle Umgebungstemperatur wird auf dem LCD-Bildschirm angezeigt und aktualisiert.

Die auf dem LCD-Bildschirm gedruckte Meldung informiert den Benutzer über den Grad der „Brandgefahr“.

Der Bildschirm wird gedimmt und blinkt, um den Benutzer auf Gefahren aufmerksam zu machen.

Der Summer wird lauter und schneller, um den Benutzer je nach aktuellem Risiko auf Gefahren aufmerksam zu machen.

Das RGB wechselt je nach aktuellem Risiko in Grün, Gelb, Orange und Rot.

Kann für ein professionelleres Aussehen in ein 3D-gedrucktes Gehäuse gesteckt werden.

Dies löst ein reales Problem, bei dem Menschen nicht wissen, wann ein Feuer droht, bis es zu spät ist

Schritt 1: Materialien sammeln

Materialien sammeln
Materialien sammeln
Materialien sammeln
Materialien sammeln
Materialien sammeln
Materialien sammeln

In diesem Projekt verwendete Materialien:

1x LCD-Anzeige

1x DHT_11 Temperatursensor

1x RGB

1x Piezo Passiver Summer 1.0v

2x kleine Steckbretter

3x Standardwiderstände

1x normal großes Steckbrett

1x Arduino UNO

Bluetack, um die Drähte zu fixieren.

Eine Auswahl an Drähten mit unterschiedlichen Enden, sowohl mit offenem Ende als auch mit einem Ende.

Ein Gerät zum Ausführen des Codes

Zugriff auf einen 3D-Drucker, wenn Sie die äußere Hülle und ein polierteres Aussehen wünschen

Schritt 2: Einrichten der Steckbretter

Einrichten der Steckbretter
Einrichten der Steckbretter
Einrichten der Steckbretter
Einrichten der Steckbretter

1. Verbinden Sie das orangefarbene Kabel vom Pin mit der Bezeichnung "GND" auf der Arduino-Platine und verbinden Sie es mit der negativen Seite (blau) des Steckbretts. Von diesem Punkt an, wenn wir GND für externe Geräte verwenden müssen, werden wir sie einfach in dieselbe Spalte wie diese auf dem Steckbrett setzen.

2. Verbinden Sie das rote Kabel vom Pin mit der Bezeichnung "5V" auf der Arduino-Platine und verbinden Sie es mit der positiven (roten) Seite des Steckbretts. Von diesem Punkt an, wenn wir 5V für externe Geräte verwenden müssen, werden wir sie einfach in derselben Spalte wie diese auf dem Steckbrett platzieren.

Schritt 3: LCD-Display einrichten

LCD-Anzeige einrichten
LCD-Anzeige einrichten
LCD-Anzeige einrichten
LCD-Anzeige einrichten
LCD-Anzeige einrichten
LCD-Anzeige einrichten

1. Drehen Sie die Platine um, sodass sie mit allen Stiften auf der linken Seite auf den Kopf zeigt.

2. Verbinden Sie einen Draht 5 von oben links in der oberen Reihe von Pins und verbinden Sie ihn mit Pin Nummer 4 des Arduino UNO.

3. Verbinden Sie einen Draht 6 von oben links in der oberen Reihe von Pins und verbinden Sie ihn mit Pin Nummer 5 des Arduino UNO.

4. Verbinden Sie einen Draht 7 von oben links in der oberen Reihe von Pins und verbinden Sie ihn mit Pin Nummer 6 des Arduino UNO.

5. Verbinden Sie einen Draht 8 von oben links in der oberen Reihe von Pins und verbinden Sie ihn mit Pin Nummer 7 des Arduino UNO.

6. Verbinden Sie einen Draht 9 von oben links in der oberen Reihe von Pins und verbinden Sie ihn mit Pin Nummer 8 des Arduino UNO.

7. Verbinden Sie einen Draht 10 von oben links in der oberen Reihe von Pins und verbinden Sie ihn mit Pin Nummer 9 des Arduino UNO.

8. Schließen Sie einen Draht 3 von unten rechts an und verbinden Sie ihn mit der 5V-Reihe auf dem Steckbrett

9. Schließen Sie einen Draht 4 von unten rechts an und verbinden Sie ihn mit der GND-Reihe auf dem Steckbrett

SIEHE BILDER, DA DAS SCHALTBILD UNTERSCHIEDLICHE LCD ZEIGT

Schritt 4: Piezo-Summer einrichten

Piezo-Summer einrichten
Piezo-Summer einrichten
Piezo-Summer einrichten
Piezo-Summer einrichten
Piezo-Summer einrichten
Piezo-Summer einrichten
Piezo-Summer einrichten
Piezo-Summer einrichten

1. Verbinden Sie ein Kabel vom GND-Pin des Summers mit der GND-Säule (Blau) auf dem Steckbrett

2. Verbinden Sie ein Kabel vom VCC-Pin des Summers mit der 5V-Säule (Rot) auf dem Steckbrett

3. Verbinden Sie einen Draht vom SIG-Pin des Summers mit dem Pin mit der Nummer "10" auf der Arduino UNO-Platine

SIEHE DIE OBIGEN BILDER, DA DAS KREISDIAGRAMM VERSCHIEDENE SUMMER ZEIGT

Schritt 5: Einrichten des DHT-Temperatursensors

Einrichten des DHT-Temperatursensors
Einrichten des DHT-Temperatursensors
Einrichten des DHT-Temperatursensors
Einrichten des DHT-Temperatursensors
Einrichten des DHT-Temperatursensors
Einrichten des DHT-Temperatursensors
Einrichten des DHT-Temperatursensors
Einrichten des DHT-Temperatursensors

1. Richten Sie den DHT-Sensor im Steckbrett wie oben gezeigt ein

2. Verbinden Sie den ersten Pin auf der linken Seite des DHT-Sensors (beschriftet mit VCC im Teilediagramm) mit der 5V-Spalte (Rot) auf dem Steckbrett

3. Verbinden Sie den zweiten Pin auf der linken Seite des DHT-Sensors (beschriftete DATA im Teilediagramm) mit dem A0-Port des Arduino UNO

4. Verbinden Sie den ersten Pin auf der rechten Seite des DHT-Sensors (beschriftet mit GND im Teilediagramm) mit der GND-Spalte (blau) auf dem Steckbrett

5. Sehen Sie sich ein Tutorial an und fügen Sie die dht.h-Bibliothek am Ende des instructable zu Arduino hinzu. (Dies ist obligatorisch)

Schritt 6: Einrichten des RGB

Einrichten des RGB
Einrichten des RGB
Einrichten des RGB
Einrichten des RGB
Einrichten des RGB
Einrichten des RGB
Einrichten des RGB
Einrichten des RGB

1. Platzieren Sie das RGB in einem kleinen Steckbrett wie oben gezeigt, wobei der Schwerpunkt darauf liegt, dass das zweite Bein von der linken Seite des RGB einen Steckplatz näher als die anderen drei ist

2. Platzieren Sie Standardwiderstände auf den ersten, dritten und vierten Pin. Lassen Sie Platz für mindestens einen weiteren Draht (wie oben gezeigt).

3. Verbinden Sie einen Draht hinter dem Widerstand am linken Pin des RGB mit dem Pin mit der Bezeichnung 2 auf dem Arduino UNO

4. Verbinden Sie einen Draht von hinter dem außenliegenden zweiten vom linken Pin des RGB mit der GND (blau) Säule des Steckbretts.

5. Verbinden Sie einen Draht hinter dem Widerstand am zweiten vom rechten Pin des RGB mit dem Pin mit der Bezeichnung 1 am Arduino UNO

6. Verbinden Sie einen Draht hinter dem Widerstand am rechten Pin des RGB mit dem Pin mit der Bezeichnung 3 am Arduino UNO

Schritt 7: Optionales 3D-Druckgehäuse

Optionales 3D-Druckgehäuse
Optionales 3D-Druckgehäuse
Optionales 3D-Druckgehäuse
Optionales 3D-Druckgehäuse
Optionales 3D-Druckgehäuse
Optionales 3D-Druckgehäuse

1. Finden Sie ein Tutorial zum 3D-Drucken.

2. Drucken Sie das unten angehängte Design aus Autodesk Fusion 360 (.stl-Datei)

3. Überschüssiges 3D-Material abkratzen und über die Oberfläche streichen

4. Siehe obiges Bild für Anleitungen zum Platzieren von Arduino-Teilen.

Schritt 8: Der Code und die Dateien

Der Code und die Dateien
Der Code und die Dateien

-Die DHT.h-Bibliothek ist angehängt. (UNZIP)

-Der Kodex mit ausführlichen Kommentaren ist beigefügt, befindet sich aber auch im nächsten Schritt.

-Die.stl-Datei für das 3D-Gehäuse ist beigefügt

-Der Schaltplan ist wieder beigefügt. Beachten Sie unbedingt die tatsächlichen Schritte für den LCD-Bildschirm und den Piezo-Summer, da unterschiedliche Komponenten verwendet wurden.

Schritt 9: Arduino-Code

Arduino-Code
Arduino-Code
Arduino-Code
Arduino-Code

// LCD-BRANDWARNSYSTEM // Liest Eingaben vom DHT-Temperatur-Pin und ändert, je nachdem, ob es heiß ist oder nicht, ein RGB und einen Lautsprecher, um dem Benutzer anzuzeigen, ob Feuergefahr besteht. // Zeigt auch die Temperatur auf dem LCD-Bildschirm an.

// DHT-SETUP

#include // Füge die DHT-Bibliothek ein

#define dht_dpin A0 // Teilt dem Board mit, dass der DHT-Pin im Analogeingang 0 ist

dht-DHT; // dht = DHT

// FLÜSSIGKRISTALL-SETUP

#include // Einschließen der Flüssigkristallbibliothek

Flüssigkristall-LCD (8, 9, 4, 5, 6, 7); // Auf LCD verkürzen / teilt arduino mit, welche Ports das LCD belegt

// DEFINIEREN von RGB + SUMMER

#define redpin 1 // Definiert Redpin von RGB in Port 1

#define greenpin 2 // Definiert Greenpin von RGB in Port 2

#define bluepin 3 // Definiert Bluepin von RGB in Port 3

#define Buzzerpin 10 // Definiert Buzzerpin in Port 10

// VARIABLE/S

int temp = analogRead (DHT.temperature); // Stellt Integer "temp" her, das ist der Wert aus dem DHT.temperature-Befehl

Leere Einrichtung () {

// AUSGANG EINGANG

analogWrite (roter Stift, AUSGANG); // Redpin als Ausgabe deklarieren/definieren

analogWrite (grüner Stift, AUSGANG); // Greenpin als Ausgabe deklarieren/definieren

analogWrite (Bluepin, AUSGANG); // Bluepin als Ausgabe deklarieren/definieren

pinMode (Summerpin, AUSGANG); // Buzzerpin als Ausgang deklarieren/definieren

// LCD BILDSCHIRM

lcd.begin (16, 2); // LCD-Bildschirm als 16 Spalten und 2 Zeilen definieren }

Leere Schleife () {

// LCD-CODE OHNE VARIABILITÄT

DHT.read11(dht_dpin); // Eingabe von dht_dpin auch lesen (A0)

lcd.setCursor(0, 0); // Setzt den Cursor auf Spalte 0, Zeile 0

lcd.print("Es ist"); // Schreibt "It's" auf den LCD-Bildschirm

lcd.print (DHT.temperatur); // Druckt den DHT.temperature-Wert vom DHT-Pin auf Spalte 0, Zeile 0

lcd.print(" "); // Gibt ein Leerzeichen nach der Temperatur aus

lcd.print ((Zeichen)223); // druckt das Gradzeichen nach der Temperatur

lcd.print("C"); // Gibt ein "c" nach dem Gradzeichen aus, um Celsius zu symbolisieren

// LCD BLINKT

lcd.setCursor(0, 1); // Setzt den Cursor auf Spalte 0, Zeile 1

lcd.noDisplay();

lcd.print ("Keine Brandgefahr"); // Druckt "Keine Chance auf Feuer"

lcd.noDisplay(); // Schaltet das LCD-Display aus (Teil des Blitzes)

Verzögerung (1000); // Bleibt 1 Sekunde lang aus

LCD Bildschirm(); // Schaltet das LCD-Display wieder ein

Verzögerung (1000); // Bleibt 1 Sekunde lang an

// RGB + SUMMERCODE

analogWrite (roter Stift, 0); // Keine Ausgabe vom roten Pin

analogWrite (grüner Stift, 255); // 255 Ausgabe von greenpin (macht RGB grün)

analogWrite (Bluepin, 0); // Keine Ausgabe vom blauen Pin

Ton (Summerpin, 20, 20); // // Sendet eine Frequenz von 20 Hertz für 0,02 Sekunden vom Summer

// WENN TEMP 25-30. IST

if ((int(DHT.temperatur) >= 25.00) && (int(DHT.temperatur) <= 30.00)) {

lcd.clear(); // löscht den LCD-Bildschirm

lcd.setCursor(0, 1); // Setzt den Cursor auf Spalte 0, Zeile 1

lcd.print("Kleiner Alarm"); // Druckt "Small Alert" auf Spalte 0, Zeile 1

lcd.noDisplay(); // Schaltet das LCD-Display aus (Teil des Blitzes)

Verzögerung (1000); // Bleibt 1 Sekunde lang aus

LCD Bildschirm(); // Schaltet das LCD-Display wieder ein

Verzögerung (1000); // Bleibt 1 Sekunde lang an

analogWrite (roter Stift, 255); // 255 Ausgabe von Redpin (macht RGB gelb)

analogWrite (grüner Stift, 255); // 255 Ausgabe von greenpin (macht RGB gelb)

analogWrite (Bluepin, 0); // Keine Ausgabe vom blauen Pin

Ton (Summerpin, 200, 100); // Sendet eine Frequenz von 200 Hertz für 0,1 Sekunden vom Summer

Verzögerung (300); //.3 Sekunden Verzögerung

} // WENN TEMP 31-37 IST sonst if ((int(DHT.temperature) = 37.00)) {

lcd.clear(); // löscht den LCD-Bildschirm

lcd.setCursor(0, 1); // Setzt den Cursor auf Spalte 0, Zeile 1

lcd.print("Mittlere Warnung"); // Druckt "Medium Alert" auf Spalte 0, Zeile 1

lcd.noDisplay(); // Schaltet das LCD-Display aus (Teil des Blitzes)

Verzögerung (500); // Bleibt für 0,5 Sekunden aus

LCD Bildschirm(); // Schaltet das LCD-Display wieder ein

Verzögerung (500); // Bleibt für 0,5 Sekunden an

analogWrite (roter Stift, 255); // 255 Ausgabe von Redpin (macht RGB orange)

analogWrite (grüner Stift, 165); // 165 Ausgabe von greenpin (macht RGB orange)

analogWrite (Bluepin, 0); // Keine Ausgabe von bluepin

Ton (Summerpin, 500, 900); // Sendet eine Frequenz von 500 Hertz für 0,9 Sekunden vom Summer

Verzögerung (300); //.3 Sekunden Verzögerung

} // WENN TEMP 38-100 IST

sonst if ((int(DHT.temperatur) = 100,00)) {

lcd.clear(); // löscht den LCD-Bildschirm

lcd.setCursor(0, 1); // Setzt den Cursor auf Spalte 0, Zeile 1

lcd.print("Ruf 000"); // Gibt "Call 000" in Spalte 0, Zeile 1 aus

lcd.noDisplay(); // Schaltet das LCD-Display aus (Teil des Blitzes)

Verzögerung (250); // Bleibt für 0,25 Sekunden ausgeschaltet

LCD Bildschirm(); // Schaltet das LCD-Display wieder ein

Verzögerung (250); // Bleibt für 0,25 Sekunden an

analogWrite (roter Stift, 255); // 255 Ausgabe von Redpin (macht RGB rot)

analogWrite (grüner Stift, 0); // Keine Ausgabe von greenpin

analogWrite (Bluepin, 0); // Keine Ausgabe von bluepin

Ton (Summerpin, 1000, 900); // Sendet eine Frequenz von 1000 Hertz für 0,9 Sekunden vom Summer

Verzögerung (300); //.3 Sekunden Verzögerung

}}

Empfohlen: