Projekte mit dem ArduinoArduino Praxiseinstieg - von Thomas Brühlmann 4. Auflage 2019 mitp-Verlag ISBN 978-3-7475-0054-5 ... wird noch erweitert ... Artikel über den Arduino auf wikipedia.org: https://de.wikipedia.org/wiki/Arduino_(Plattform) Projektseite des Arduino: https://www.arduino.cc/ Technische Daten - Arduino Uno Rev 3: https://docs.arduino.cc/retired/boards/arduino-uno-rev3-with-long-pins Arduino UNO R3: https://docs.arduino.cc/hardware/uno-rev3 Befehlsreferenz :https://www.arduino.cc/reference/de/ Arduino-Programmierhandbuch: https://www.ov-meschede.de/wp-content/uploads/2018/05/Arduino-Programmierhandbuch.pdf
Achtung: Dieser Beitrag ist noch im Aufbau und kann Fehler enthalten!Einleitung: Wer kennt Sie nicht, die Ampelanlage, die ein Fußgänger durch Drücken eines Knopfes oder betätigen eines Schalters aktivieren kann - die Bedarfsampel -. Verdrahtung der Bauteile:
Achtung: Dieser Beitrag ist noch im Aufbau und kann Fehler enthalten!Schaltplan:
Achtung: Dieser Beitrag ist noch im Aufbau und kann Fehler enthalten!Programmcode für die Bedarfsampel // // Bedarfsampel programmiert von Sherlock19@posteo.de // Juli 2023 // Die nachfolgend genannten Zeiten sind für die Demonstration gewählt // und haben nichts mit den Schaltzeiten bei realen Bedarfsampeln zu tun! // // Funktionsweise des Programms // // Wird bei Bedarf die Taste gedrückt, so wird die Ampelanlage aktiviert. // Die Fußgängerampel geht auf Rot, nach einer kurzen Zeit geht die Autoampel auf Grün. // Nach 15 Sekunden geht die Autoampel von Grün auf Gelb, // nach weiteren 4 Sekunden dann von Gelb auf Rot. // Nach einer weiteren Wartezeit von 5 Sekunden schaltet die Fußgängerampel von Rot auf Grün. // Nach 10 Sekunden schaltet die Fußgängerampel wieder von Grün auf Rot. // Nach 10 Sekunden schalten sich die Auto- und die Fußgängerampel aus. // Festlegung der verwendeten PINs int pinLedAutoGruen = 8; int pinLedAutoGelb = 9; int pinLedAutoRot = 10; int pinFuerTaster = 3; int pinLedFussgaengerGruen = 4; int pinLedFussgaengerRot = 5; int statusTaster = 0; void setup() { // PIN als Ausgang für die jeweilige LED der Ampel für die Autos, zudem alles auf aus. // pinMode(pinLedAutoGruen, OUTPUT); // PIN als Ausgang für die grüne LED digitalWrite(pinLedAutoGruen, LOW); pinMode(pinLedAutoGelb, OUTPUT); // PIN als Ausgang für die gelbe LED digitalWrite(pinLedAutoGelb, LOW); pinMode(pinLedAutoRot, OUTPUT); // PIN als Ausgang für die rote LED digitalWrite(pinLedAutoRot, LOW); // PIN als Ausgang für die jeweilige LED der Ampel für die Fußgänger, zudem alles auf aus. // pinMode(pinLedFussgaengerGruen, OUTPUT); // PIN als Ausgang für die grüne LED digitalWrite(pinLedFussgaengerGruen, LOW); pinMode(pinLedFussgaengerRot, OUTPUT); // PIN als Ausgang für die rote LED digitalWrite(pinLedFussgaengerRot, LOW); // Eingang zum Abfragen des Tasters pinMode(pinFuerTaster, INPUT); // PIN als Eingang für die Abfrage des Tasters } void loop() { // Taste abfragen statusTaster = digitalRead(pinFuerTaster); // Wenn Taste gedrückt, dann Ampel aktivieren if (statusTaster == LOW) { // Die Fußgängerampel geht auf Rot, nach einer kurzen Zeit geht die Autoampel auf Grün. digitalWrite(pinLedFussgaengerRot, HIGH); delay(1000); digitalWrite(pinLedAutoGruen, HIGH); // Nach 15 Sekunden geht die Autoampel von Grün auf Gelb delay(15000); digitalWrite(pinLedAutoGruen, LOW); digitalWrite(pinLedAutoGelb, HIGH); // Nach 4 Sekunden geht die Autoampel von Gelb auf Rot delay(4000); digitalWrite(pinLedAutoGelb, LOW); digitalWrite(pinLedAutoRot, HIGH); // Nach 5 Sekunden geht die Fußgängerampel von Rot auf Grün delay(5000); digitalWrite(pinLedFussgaengerRot, LOW); digitalWrite(pinLedFussgaengerGruen, HIGH); // Nach 10 Sekunden geht die Fußgängerampel wieder von Grün auf Rot delay(10000); digitalWrite(pinLedFussgaengerGruen, LOW); digitalWrite(pinLedFussgaengerRot, HIGH); // Nach 10 Sekunden soll die Autoampel von Rot auf Rot / Gelb, dann auf Grün geschaltet werden delay(10000); digitalWrite(pinLedAutoRot, HIGH); digitalWrite(pinLedAutoGelb, HIGH); delay(1000); digitalWrite(pinLedAutoRot, LOW); digitalWrite(pinLedAutoGelb, LOW); digitalWrite(pinLedAutoGruen, HIGH); // Alles verbleibenden LEDs ausschalten delay(5000); digitalWrite(pinLedAutoGruen, LOW); digitalWrite(pinLedFussgaengerRot, LOW); } } Achtung: Dieser Beitrag ist noch im Aufbau und kann Fehler enthalten!Wir hoffen, dass diese Seite gefallen hat und hilfreich war. Achtung: Bei der Erstellung des Grundgerüstes dieser Internetseite wurde auf W3Schools.com zugegriffen W3Schools.com. Zudem waren viele Quellen im Internet bei Details hilfreich. Grafiken
HTML, JavaScript, ...
Details Letzte Überarbeitung im September 2023. |