Lauflicht (Programmiersprache Python)



Du solltest Dir unbedingt erst dieses Experiment ansehen!

In Erweiterung des einfachen LED-Blinkens, hier zwei Varianten für ein Lauflicht, das alle 17 GPIO-Pins (meines Raspberry Pi 1 Modell B) benutzt. Wenn Du einen Raspberry mit mehr GPIO-Pins besitzt, kannst Du die Quelltexte leicht anpassen.


Die Schaltung:

Wir bauen folgende Schaltung auf (klick zum Vergrößern):




Ich hatte nicht genug Platz mit diesem Zeichenprogramm:
Du kannst jeden Pin mit so einer LED beschalten, der nicht mit "5V", "3V3" oder "GND" beschriftet ist.

Alle LEDs zeigen mit ihrer Kathode zu je einem GPIO-Pin. Ein 220 Ohm Widerstand kommt von 3.3V und ist mit allen Anoden verbunden.

Ich weiß natürlich auch nicht, welchen Raspberry Du benutzt.
Du könntest z. B. hier nachsehen.


Zum Programmieren benutzen wir in diesem Projekt die Sprache Python.

Wenn Du mehr die Programmiersprache C magst, dann findest Du hier ein sehr ähnliches Experiment.

Wir benutzen zum Schreiben des Programmes entweder die Entwicklungsumgebung "idle3" oder "geany".
Außerdem benötigen wir die Python-Bibliothek "python-rpi.gpio", die unsere GPIO kennt.

Mit folgendem Befehl in einem Terminal könntest Du die drei Dinge installieren:
           sudo apt-get install idle3 geany python-rpi.gpio


Das Programm

Du erstellst mit einem Editor (nano, leafpad) oder einer Entwicklungsumgebung (idle3, geany) Deiner Wahl folgendes Programm:


#!/usr/bin/python3.2
from RPi import GPIO
from time import sleep

t = 0.05

GPIO.setmode(GPIO.BOARD)

led1 = 3
led2 = 26
led3 = 24
led4 = 22
led5 = 18
led6 = 16
led7 = 12
led8 = 10
led9 = 8
led10 = 23
led11 = 21
led12 = 19
led13 = 15
led14 = 13
led15 = 11
led16 = 7
led17 = 5

GPIO.setup(led1, GPIO.OUT)
GPIO.setup(led2, GPIO.OUT)
GPIO.setup(led3, GPIO.OUT)
GPIO.setup(led4, GPIO.OUT)
GPIO.setup(led5, GPIO.OUT)
GPIO.setup(led6, GPIO.OUT)
GPIO.setup(led7, GPIO.OUT)
GPIO.setup(led8, GPIO.OUT)
GPIO.setup(led9, GPIO.OUT)
GPIO.setup(led10, GPIO.OUT)
GPIO.setup(led11, GPIO.OUT)
GPIO.setup(led12, GPIO.OUT)
GPIO.setup(led13, GPIO.OUT)
GPIO.setup(led14, GPIO.OUT)
GPIO.setup(led15, GPIO.OUT)
GPIO.setup(led16, GPIO.OUT)
GPIO.setup(led17, GPIO.OUT)

GPIO.output(led1, True)
GPIO.output(led2, True)
GPIO.output(led3, True)
GPIO.output(led4, True)
GPIO.output(led5, True)
GPIO.output(led6, True)
GPIO.output(led7, True)
GPIO.output(led8, True)
GPIO.output(led9, True)
GPIO.output(led10, True)
GPIO.output(led11, True)
GPIO.output(led12, True)
GPIO.output(led13, True)
GPIO.output(led14, True)
GPIO.output(led15, True)
GPIO.output(led16, True)
GPIO.output(led17, True)

while True:
    GPIO.output(led1, False)
    sleep(t)
    GPIO.output(led1, True)
    
    GPIO.output(led2, False)
    sleep(t)
    GPIO.output(led2, True)
    
    GPIO.output(led3, False)
    sleep(t)
    GPIO.output(led3, True)
    
    GPIO.output(led4, False)
    sleep(t)
    GPIO.output(led4, True)
    
    GPIO.output(led5, False)
    sleep(t)
    GPIO.output(led5, True)
    
    GPIO.output(led6, False)
    sleep(t)
    GPIO.output(led6, True)
    
    GPIO.output(led7, False)
    sleep(t)
    GPIO.output(led7, True)
    
    GPIO.output(led8, False)
    sleep(t)
    GPIO.output(led8, True)
    
    GPIO.output(led9, False)
    sleep(t)
    GPIO.output(led9, True)
    
    GPIO.output(led10, False)
    sleep(t)
    GPIO.output(led10, True)
    
    GPIO.output(led11, False)
    sleep(t)
    GPIO.output(led11, True)
    
    GPIO.output(led12, False)
    sleep(t)
    GPIO.output(led12, True)
    
    GPIO.output(led13, False)
    sleep(t)
    GPIO.output(led13, True)
    
    GPIO.output(led14, False)
    sleep(t)
    GPIO.output(led14, True)
    
    GPIO.output(led15, False)
    sleep(t)
    GPIO.output(led15, True)
    
    GPIO.output(led16, False)
    sleep(t)
    GPIO.output(led16, True)
    
    GPIO.output(led17, False)
    sleep(t)
    GPIO.output(led17, True)
		

... und speicherst es unter dem Namen "lauflicht.py" ab.

Starten kannst Du es entweder in einem Terminal mit: sudo ./lauflicht.py

Oder Du bist als root im Linux angemeldet - dann kannst Du in einem Dateimanager das Programm einfach doppelklicken.



Wenn Dich solche Experimente interessieren, schau doch mal hier und hier nach!