Benutzer-Werkzeuge

Webseiten-Werkzeuge


project:python_led

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
project:python_led [2026/02/18 17:22] torsten.roehlproject:python_led [2026/02/20 09:56] (aktuell) torsten.roehl
Zeile 2: Zeile 2:
  
 [[projekt:python_projekt_gpio| ☚ zurück]] [[projekt:python_projekt_gpio| ☚ zurück]]
-//GPIO (General Purpose Input/Output) bezeichnet frei programmierbare Ein- und Ausgänge des Raspberry Pi. In diesem Projekt werden mehrere LEDs (Rot, Gelb, Grün) über Python und die Bibliothek `RPi.GPIO` angesteuert. Ziel ist es, eine saubere und modulare Programmstruktur zu entwickeln, mit der die LEDs flexibel geschaltet werden können.//+ 
 +// 
 +In diesem Projekt wird das bisherige LED-Programm neu strukturiert und in mehrere Dateien aufgeteilt. Dabei wird die Hardware-Ansteuerung von der eigentlichen Programmlogik getrennt. Ziel ist es, mehrere LEDs gezielt und übersichtlich über die Konsole steuern zu können. 
 +//
  
  
Zeile 18: Zeile 21:
 </note> </note>
  
-Für das eigentliche Projekt wird der Code nun strukturiert aufgebaut. +Die Aufteilung in mehrere Dateien sorgt für eine klare Trennung zwischen Programmlogik und Hardware-AnsteuerungDadurch bleibt der Code übersichtlich und besser nachvollziehbar.
-Ziel ist es, mehrere LEDs (R, G, Y) flexibel ansteuern zu können, ohne bei jeder Änderung den Quellcode neu anpassen oder Hardcodierungen verändern zu müssen. +
- +
-Die Umstrukturierung sorgt außerdem für eine bessere ÜbersichtlichkeitEinzelne Komponenten können dadurch unabhängig voneinander erweitert oder in anderen Projekten weiterverwendet werden, wie später im Projekt mit FastAPI und Apache2 gezeigt wird. +
- +
  
 Folgende Programmstruktur wird verwendet. Folgende Programmstruktur wird verwendet.
Zeile 59: Zeile 57:
  
 ===== Hardware ===== ===== Hardware =====
-FIXME  TODO FEHLT NOCH 
  
 +<note>
 +Der Aufbau und die verwendete Hardware wurden im vorherigen [[projekt:python_projekt_gpio|GPIO-Projekt]] beschrieben. Im Kurs wird die Hardware als //Modul-Breakout// zur Verfügung gestellt, sodass die Verdrahtung auf ein Minimum reduziert wird und der Raspberry Pi keinen Schaden nehmen kann.
 +</note>
 ===== Quellcode (Sourcecode) ===== ===== Quellcode (Sourcecode) =====
-Der **Sourcecode** besteht aus drei Dateien: das eigentliche Programm **%%ledcontrol.py%%** sowie die Dateien im Hintergrund (im Verzeichnis **%%core%%**), die für die Programmlogik und die Hardware-Ansteuerung benötigt werden. Im Kurs wird das Programm ausführlich erklärt. Diese Dateien enthalten noch keinen Header – dies sollte geändert werden.+Der **Sourcecode** besteht aus zwei Dateien: das eigentliche Programm **%%ledcontrol.py%%** sowie die Dateien im Hintergrund (im Verzeichnis **%%core%%**), die für die Programmlogik und die Hardware-Ansteuerung benötigt werden. Im Kurs wird das Programm ausführlich erklärt. Diese Dateien enthalten noch keinen Header – dies sollte geändert werden.
 === hardware.py === === hardware.py ===
  
 <code python hardware.py> <code python hardware.py>
 import RPi.GPIO as GPIO import RPi.GPIO as GPIO
 +
 +# -----------------------------
 +# API-Funktionen GPIO LED Ampel
 +# -----------------------------
  
 # ADJUST AREA START # ADJUST AREA START
Zeile 141: Zeile 145:
     finally:     finally:
         print("\rGood Bye :-)")         print("\rGood Bye :-)")
-        hardware.cleanup()       # +        hardware.cleanup()       # optional
  
 if __name__ == "__main__": if __name__ == "__main__":
project/python_led.1771435335.txt.gz · Zuletzt geändert: von torsten.roehl