In diesem Projekt lernen Sie, wie Sie selbst einen Arduino-Alarm auslösen
Dies ist ein schönes Projekt, denn in Ihrem Zimmer können Sie es fast überall platzieren und es lässt sich durch den einfachen Code leicht an die Umgebung anpassen. Sie lernen auch, mit dem HC-SR04 zu arbeiten.
In diesem Projekt verwenden wir den Ultraschallsensor HC-SR04, einen Summer und 3 verschiedenfarbige LEDs. Mit dem Ultraschallsensor messen wir die Entfernung eines Objekts oder einer Person. Wenn diese Person zu nahe kommt, wird ein Alarm ausgelöst und eine rote LED leuchtet auf.
- Level - Grundlegend 25%
- Dauer - 45/75 min 40%
- Kosten - 48.85 € abgeschlossen 40%
Schritt 1: Anforderungen für den Arduino-Alarm
Schritt 2: Erstellen und verdrahten Sie den Alarm
Jetzt werden wir das Projekt bauen.
Wir beginnen mit der Verkabelung und dem Platzieren der Komponenten auf dem Brotboard Tun Sie dies gemäß dem Foto unten. Stellen Sie sicher, dass der Ultraschallsensor in die richtige Richtung zeigt, also vom Brot wegboard aus. Dann benötigen die 3 LEDs und der Summer einen Widerstand. Damit die Spannung nicht zu hoch wird und die Bauteile sprengt. Es muss darauf geachtet werden, an welchem Pin der LEDs und Summer der Widerstand angeschlossen ist. Der lange Pin der LEDs und des Summers ist der + dieser kann gemäß dem Schaltplan direkt mit den Arduino-Pins verdrahtet werden. Wir verbinden die Widerstände mit dem – (dem kurzen Stift) der LEDs und dem Summer. Diese Widerstände sind auf der – Reihe des Brotes parallel geschaltetboard in Verbindung gebracht. Stellen Sie sicher, dass Sie diese Komponenten richtig anschließen, sonst funktioniert Ihr Arduino Alarm nicht!Schließen Sie dann die anderen Drahtbrücken gemäß dem Diagramm an.
Es ist auch wichtig, dass Sie die richtigen Komponenten an die richtigen Arduino-Pins anschließen, sonst funktioniert der Code nicht!
Trig -> Pin 7
Echo -> Pin 6
Summer + -> Pin 3
Rote LED + -> Pin 11
Gelbe LED + -> Pin 10
Grüne LED + -> Pin 9
Schritt 3: Programmieren eines Arduino-Alarms
#define trigPin 7 //#define gibt den von uns verwendeten Verbindungspunkten einen Namen.
#echoPin 6 definieren
#define greenLed 9
#define gelbe LED 10
#define redLed 11
# Summer definieren 3
int-Sound = 500; //Hier erstellen wir eine Variable für Hertz (Hz), die der Summer ertönt.
void setup ()
{
Serial.begin (9600); //Hier bereiten wir die Anschlusspunkte und den seriellen Monitor vor
pinMode (trigPin, OUTPUT);
pinMode (echoPin, INPUT);
PinMode (grüne LED, AUSGANG);
pinMode (gelbe LED, AUSGANG);
pinMode (rote LED, AUSGANG);
pinMode (Summer, OUTPUT);
}
void loop ()
{
lange Dauer; //Hier erstellen wir zwei weitere Variablen für die Entfernung und die Dauer, die das Signal vom Sensor unterwegs ist.
Fern;
digitalWrite (trigPin, LOW); //Hier berechnen wir mit der Signaldauer die Entfernung zum Objekt.
delayMicroseconds (2);
digitalWrite (trigPin, HIGH);
delayMicroseconds (10);
digitalWrite (trigPin, LOW);
Dauer = pulseIn(echoPin, HIGH);
Distanz = (Dauer / 2) / 29.1;
Serial.print (Abstand); // Hier schreiben wir den Abstand auf den seriellen Monitor
Serial.println ("cm");
if(abstand > 50) //Wenn der Abstand groß ist, dann 50cm:
{
digitalWrite (grüne LED, HIGH);
digitalWrite (gelbe LED, LOW);
digitalWrite (rote LED, NIEDRIG);
}
else if(abstand < 50 || Abstand > 10) // Wenn der Abstand zwischen 50 und 10 cm liegt:
{
digitalWrite (grüne LED, NIEDRIG);
digitalWrite (gelbe LED, HIGH);
digitalWrite (rote LED, NIEDRIG);
}
else if(abstand <10) //Wenn der Abstand weniger als 10cm beträgt:
{
digitalWrite (grüne LED, NIEDRIG);
digitalWrite (gelbe LED, LOW);
digitalWrite (rote LED, HIGH);
Ton (Summer, Ton);
Verzögerung (100);
noTone (Summer);
}
else if(distanz <=0) //Wenn die Distanz kleiner oder gleich 0 ist: (Fehlermeldung)
{
Serial.println ( "Außerhalb des Bereichs");
Ton (Summer, Ton);
Verzögerung (500);
noTone (Summer);
}
Verzögerung (300);
}
Sie haben jetzt einen funktionierenden Arduino-Alarm!
Hallo, mein Sohn und ich haben diese Schaltung (ohne Summer) nachgebaut. Wir mussten ein paar Dinge im Code ändern, damit die Dinge funktionierten: Anstelle von allen #define's am Anfang haben wir es sofort in int's mit einer Zuweisung umgewandelt. (also 'int trigPin = 7 ; ' usw.)
Aber die wichtigste Änderung: Bei der Prüfung, ob Gelb leuchten soll, steht im obigen Code 'Distanz 10', wir haben dies auf 'Distanz 10' geändert, indem wir das '||' hinzugefügt haben. Ersetzen Sie es durch '&&', damit alles nach Plan funktioniert.
Schön gemacht, ich habe eine Frage, die ich versuche, auf einem Arduino-Leonardo zu machen. mit einem Druckknopf und mit einem Zähler, wenn Sie näher kommen. Weißt du, wie man das am besten im Code anwendet?