Für die Lichtschranke mit Start-Ampel habe ich einen Raspberry Pi ZERO W als zentrale Recheneinheit verbaut. Er bietet genug Leistung für dieses Projekt und den Support einer sehr großen Community für die verschiedenen Sensoren und Anzeigen. So war es ein leichtes die verschiedenen Komponenten zu kombinieren und die notwendigen Programme dafür in Python zu schreiben. Als Betriebssystem habe ich Raspbian Stretch in der light Version auf einer 8 GB micro-SD Karte installiert. Ein grafischer Desktop wird für dieses Projekt nicht benötigt. Die Ampel kann komplett über das Terminal Fenster gesteuert werden bzw. soll voll automatisch zusammen mit dem RFID Reader funktionieren.
Im folgenden Abschnitt gehen ich auf die Software ein die benötigt wird um die verwendeten elektronischen Komponenten mit dem selbst geschriebenen Programm ansteuern zu können.
Blinkt!
Ich habe mir die Blinkt! LED Leiste gekauft da diese sehr einfach mit dem Raspberry Pi angesteuert werden kann und ich eine Start Ampel für dieses Projekt benötige. Dafür lässt sich die 8 Segment LED Anzeige sehr gut verwenden.
Software und Anleitungen:
- Eine Beschreibung die das Layout der Platine erklärt sowie ein Beispielprogramm gibt es hier: Blink!
- Die Python Bibliothek für die Blink! LED findet sich hier: Python Bibliothek
Die einzelnen LEDs können auch getrennt voneinander angesteuert werden und müssen nicht immer alle gleichzeitig leuchten. Auch kann jede LED eine unterschiedliche Farbe zeigen.
Ich habe die Ampel so programmiert das es eine Startsequenz gibt die 4 x 2 LEDs rot leuchten lässt. Anschließend leuchten alle LEDS grün auf. Wenn die Ampel grün leuchtet darf das Roboter Auto starten und die erste Lichtschranke durchfahren. Startet das Roboter Auto zu früh und durchfährt die Lichtschranke bevor die Ampel grün leuchtet gilt dieser Start als ein Fehlstart.
Ampel Video Startsequenz
Das Video zeigt die Ampel mit der ersten Software-Version für die Ansteuerung der LEDs.
Sofware download
Die Software für das Beispiel Ampelprogramm habe ich auf GitHub online gestellt: GitHub – light barrier
Es gibt zwei Versionen. Die einfache Version „light_barrier.py“ zeigt wie mit dem LM393 Photowiederstand am Raspberry Pi gearbeitet wird. Die etwas komplexere Version „race_timer.py“ ist soweit fertig, dass z. B. zusammen mit dem RFID Reader die Teams erkannt werden und die Blinkt! LED Anzeige eingebaut ist.
RFID Reader
Damit die Ampel mit dem Countdown startet muss ein RFID Token auf den RFID Reader gelegt werden. Mit dem RFID Token identifiziert sich das jeweilige Team und der Countdown startet.
Ich habe mir für den RFID Reader das folgende GitHub Repository auf den Raspberry Pi herunter geladen: MFRC522-python
Zusammenfassung
Mit der Software für die LED Anzeige Blinkt! und dem GitHub Repository mit der Software für den RFID Reader habe ich alle Programme und Bibliotheken soweit zusammen das die einzelnen Komponenten funktionieren. Jetzt muss in einem nächsten Schritt die Software geschrieben werden, dass die Ampelanlage auch so funktioniert wie ich mir das vorstelle. Also RFID Token auflegen, Countdown startet und die Zeiten für die einzelnen Abschnitt auf der Rennstrecke für die Roboter Autos werden gemessen. Mehr dazu dann in einem weiteren Beitrag.
Artikel Übersicht:
- Rundenzeit messen – Raspberry Pi Lichtschranke Einführung
- Rundenzeit messen – Raspberry Pi Lichtschranke Software
- Rundenzeit messen – Raspberry Pi mobile Lichtschranke
Hallo gibt es noch andere Bilder von der Lichtschranke ?
Mit freundlichen Grüßen Maurice