Hoofdstuk 3 LED-staafdiagram
We hebben geleerd hoe we één LED kunnen laten knipperen. Vervolgens leren we hoe we een aantal LED’s kunnen bedienen.
Project 3.1 Stromend waterlicht
In dit project gebruiken we een aantal LED’s om een stromend waterlicht te maken.
Componentenlijst
Raspberry Pi (met 40 GPIO) x1
GPIO-uitbreidingsbord en lintkabel x1
breadboard x1
staafdiagram-LED x1 weerstand 220Ω x10
jumperdraad x 1

Componentkennis
Laten we de basisfuncties van deze componenten leren kennen om ze beter te kunnen gebruiken en begrijpen.

Bar Graph LED
Een Bar Graph LED heeft 10 LED’s geïntegreerd in één compact component.
De twee rijen pinnen aan de onderkant zijn gekoppeld om elke LED te identificeren, net als de enkele LED die eerder werd gebruikt.

Hardware connection.

LightWater.py Code (kopier onderstaande code en plak het in jou pyton programma)
#!/usr/bin/env python3
########################################################################
# Filename : LightWater.py
# Description : Use LEDBar Graph(10 LED)
# Author : www.freenove.com
# modification: 2023/05/11
########################################################################
from gpiozero import LED
from time import sleep
ledPins = [17, 18, 27, 22, 23, 24, 25, 2, 3, 8]
leds = [LED(pin=pin) for pin in ledPins]
def loop():
while True:
for index in range(0,len(ledPins),1): # make led(on) move from left to right
leds[index].on()
sleep(0.1)
leds[index].off()
for index in range(len(ledPins)-1,-1,-1): #move led(on) from right to left
leds[index].on()
sleep(0.1)
leds[index].off()
if __name__ == '__main__': # Program entrance
print ('Program is starting...')
try:
loop()
except KeyboardInterrupt: # Press ctrl-c to end the program.
print("Ending program")
finally:
for index in range(0,len(ledPins),1):
leds[index].close()