INHALT
Die Arduino-Ampel ist eine großartige Übung, um die Arduino-Programmierumgebung besser kennenzulernen und zu verstehen, wie die digitalen Allzweck-Pins funktionieren. Werfen wir einen Blick auf das Arduino-Ampel-Bauschema für Autos und Fußgänger unter Verwendung eines Breadboards und stellen ein einfaches Projekt vor, das für Anfänger zum Erlernen der Mikrocontroller-Programmierung verwendet werden kann.
Bestandteile:
- Arduino Uno / Arduino Nano / Arduino Mega
- LEDs und Widerständen
- Tasten
- Breadboard
- Dupont-Kabel
Auf dieser Seite haben wir zwei verschiedene Designs für eine Arduino-basierte Ampel mit Taster veröffentlicht. Die erste Variante funktioniert automatisch und die Betriebsart kann nicht beeinflusst werden. Im zweiten Beispiel wird ein Taster in die Schaltung eingebaut und die Ampel wird durch Drücken des Tasters geschaltet. Die Schaltpläne und Arbeitsprogramme für den Arduino Uno finden Sie weiter unten auf dieser Seite.
Arduino Ampel für Autos und Fußgänger
Zunächst werden wir eine einfache Ampelschaltung auf einem Breadboard bauen, um den Code für den Arduino-Mikrocontroller und den Algorithmus für Ampeln an Kreuzungen zu verstehen. Es ist auch nützlich für Kinder, um die Funktionsweise von Ampeln auf der Straße im wirklichen Leben zu verstehen. Schließen Sie die LEDs nach dem obigen Schema an den Arduino Uno an und laden Sie das folgende Programm auf die Platine.
Programm für Ampel für Autos und Fußgänger
// den LED-Pins Namen zuweisen #define RED1 2 #define ORG1 3 #define GRN1 4 #define RED2 6 #define ORG2 7 #define GRN2 8 // Verzögerung zwischen den Ampelschaltungen int pause = 3000; void setup() { pinMode(RED1, OUTPUT); pinMode(ORG1, OUTPUT); pinMode(GRN1, OUTPUT); pinMode(RED2, OUTPUT); pinMode(ORG2, OUTPUT); pinMode(GRN2, OUTPUT); } void loop() { digitalWrite(RED1, HIGH); digitalWrite(ORG1, LOW); digitalWrite(GRN1, LOW); digitalWrite(RED2, LOW); digitalWrite(ORG2, LOW); digitalWrite(GRN2, HIGH); delay(pause); digitalWrite(RED1, HIGH); digitalWrite(ORG1, HIGH); digitalWrite(GRN1, LOW); digitalWrite(RED2, LOW); digitalWrite(ORG2, HIGH); digitalWrite(GRN2, LOW); delay(pause); digitalWrite(RED1, LOW); digitalWrite(ORG1, LOW); digitalWrite(GRN1, HIGH); digitalWrite(RED2, HIGH); digitalWrite(ORG2, LOW); digitalWrite(GRN2, LOW); delay(pause); digitalWrite(RED1, LOW); digitalWrite(ORG1, HIGH); digitalWrite(GRN1, LOW); digitalWrite(RED2, HIGH); digitalWrite(ORG2, HIGH); digitalWrite(GRN2, LOW); delay(pause); }
- Die LED-Pins werden mit der Anweisung #define benannt;
- Die LEDs werden alle drei Sekunden geschaltet; das Intervall kann durch Ändern des Werts der Variablen int pause = 3000 im Programm geändert werden.
Ampelschaltung Arduino mit Taster und LEDs
Das folgende Beispiel fügt eine blinkende grüne Ampel hinzu. Und die Betriebsart wird umgeschaltet, wenn die Taste gedrückt wird. Bei diesem Betriebsalgorithmus müssen Sie eine while-Schleife im Programm verwenden. Der Schaltung muss eine Takttaste hinzugefügt werden, und der Ampelmodus muss aktiviert werden, wenn der Signalpegel an dem digitalen (analogen) Pin, an den die Taste angeschlossen ist, hoch ist.
Programm für Ampelschaltung Arduino mit Taster
// den LED-Pins Namen zuweisen #define RED1 2 #define ORG1 3 #define GRN1 4 #define RED2 6 #define ORG2 7 #define GRN2 8 // Verzögerung zwischen den Ampelschaltungen int pause = 3000; int miganie = 500; void setup() { pinMode(RED1, OUTPUT); pinMode(ORG1, OUTPUT); pinMode(GRN1, OUTPUT); pinMode(RED2, OUTPUT); pinMode(ORG2, OUTPUT); pinMode(GRN2, OUTPUT); } void loop() { digitalWrite(RED1, HIGH); digitalWrite(ORG1, LOW); digitalWrite(GRN1, LOW); digitalWrite(RED2, LOW); digitalWrite(ORG2, LOW); digitalWrite(GRN2, HIGH); delay(pause); digitalWrite(GRN2, LOW); delay(miganie); digitalWrite(GRN2, HIGH); delay(miganie); digitalWrite(GRN2, LOW); delay(miganie); digitalWrite(GRN2, HIGH); delay(miganie); digitalWrite(GRN2, LOW); delay(miganie); digitalWrite(GRN2, HIGH); delay(miganie); digitalWrite(RED1, HIGH); digitalWrite(ORG1, HIGH); digitalWrite(GRN1, LOW); digitalWrite(RED2, LOW); digitalWrite(ORG2, HIGH); digitalWrite(GRN2, LOW); delay(pause); digitalWrite(RED1, LOW); digitalWrite(ORG1, LOW); digitalWrite(GRN1, HIGH); digitalWrite(RED2, HIGH); digitalWrite(ORG2, LOW); digitalWrite(GRN2, LOW); delay(pause); digitalWrite(GRN1, LOW); delay(miganie); digitalWrite(GRN1, HIGH); delay(miganie); digitalWrite(GRN1, LOW); delay(miganie); digitalWrite(GRN1, HIGH); delay(miganie); digitalWrite(GRN1, LOW); delay(miganie); digitalWrite(GRN1, HIGH); delay(miganie); digitalWrite(RED1, LOW); digitalWrite(ORG1, HIGH); digitalWrite(GRN1, LOW); digitalWrite(RED2, HIGH); digitalWrite(ORG2, HIGH); digitalWrite(GRN2, LOW); delay(pause); }
- Um das Programm nicht zu verkomplizieren, werden die Ampeln paarweise an den Arduino-Mikrocontroller angeschlossen;
- Die Blinkfrequenz des grünen Lichts ändert sich in der variablen Miganie.
Schlussfolgerung. Das Projekt „Ampel Arduino für Autos und Fußgänger“ kann weiter verbessert werden, indem der Knopf durch einen hc-sr04 Ultraschall-Entfernungsmesser für den Arduino-Mikrocontroller ersetzt wird. Dieses Miniprojekt mit dem Arduino-Board ermöglicht es Kindern, die Funktionsweise von Ampeln an Fußgängerüberwegen zu verstehen, bei denen die Betriebsart per Knopfdruck umgeschaltet wird.
Schreibe einen Kommentar