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()  

Codes

Scroll naar boven