Sorry, Bild fehlt

IT Wissenssplitter

Sherlock und Desiderat

Sorry, Bild fehlt

Projekte mit dem Arduino

Arduino Praxiseinstieg - von Thomas Brühlmann
4. Auflage 2019
mitp-Verlag
ISBN 978-3-7475-0054-5

... wird noch erweitert ...



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:

Bild kann nicht geladen werden.

Achtung: Dieser Beitrag ist noch im Aufbau und kann Fehler enthalten!

Schaltplan:

Bild kann nicht geladen werden.

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:

Es handelt sich lediglich um Bastelvorschläge! Es wird keinerlei Haftung für den Einsatz der Schaltungen übernommen. Diese Seite ist zudem nicht kommerziell.

Trotz großer Sorgfallt können sich Fehler eingeschlichen haben. Wir bitten dann um Nachsicht und freuen uns auf einen entsprechenden Hinweis. Es wird keine Gewähr für die Vollständigkeit übernommen. Für Schäden, die durch die Anwendung z.B. einer Installationsanleitung entstehen, übernehmen wir keinerlei Haftung.
Die verwendeten externen Links auf dieser Seite werden immer wieder geprüft. Wir übernehmen jedoch keinerlei Haftung für die Verwendung der Links. Für den Inhalt der verlinkten Seiten sind die Betreiber dieser Seiten verantwortlich. Rechtsverstöße auf den verlinkten Seiten waren bei der aktuellen Überpüfung nicht erkennbar. Es gelten auf den verlinkten Seiten die Datenschutzbestimmungen des jeweiligen Betreibers.
Bevor Sie der Speicherung von Cookies zustimmen, empfehlen wir generell zuvor die Einstellungen so weit wir möglich zu beschränken und dann diese individuellen Einstellungen zu speichern. Leider werden diese Einstellungen meist versteckt und auch der richtige Button zum Bestätigen ist meist kleiner und versteckt.

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, ...

  • https://www.mediaevent.de/css/css-einbinden.html
  • https://www.mediaevent.de/css/css-listen.html
  • https://www.w3schools.com/howto/howto_js_accordion.asp
  • https://wiki.selfhtml.org/wiki/Referenz:HTML/Attribute/target
  • http://www.ohne-css.gehts-gar.net/0004.php
  • https://developer.mozilla.org/de/docs/Web/CSS/margin
  • http://www.ich-lerne-css.de/Style/Examples/007/center.html
  • http://www.office-loesung.de/ftopic77170_0_0_asc.php
  • https://www.mediaevent.de/css/img.html
  • ...

Details



Letzte Überarbeitung im September 2023.