概要
LEDバーグラフの実験例。DavinciキットのLEDはピン配置がわからなかったので、まず3.3VとGNDで確認した。
回路図
以下の通り、アレイになっている10個のLEDを3.3Vに抵抗を介して繋ぎ、各ポートに接続。ポートのレベルをHIGHにするとLED消灯、LOWにするとLED点灯になる。
コード
今回はピン番号を物理番号(GPIO.BOARD
)で定義している。接続数は多いが独立したLEDを扱うのと同じで、以下の例では短い間隔でLEDを順次点灯・消灯させて、流れるように表示させている。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
import RPi.GPIO as GPIO import time # Pin numbers in physical numbering (GPIO.BOARD) pins = [11, 12, 13, 15, 16, 18, 22, 3, 5, 24] # Closing process with resource release def destroy(): for pin in pins: GPIO.setup(pin, GPIO.HIGH) GPIO.cleanup() # Set mode to physical numbering and light off all LED GPIO.setmode(GPIO.BOARD) for pin in pins: GPIO.setup(pin, GPIO.OUT, initial=GPIO.HIGH) # Execution start try: while True: # Turn on, wait 0.1sec and turn off LED in order for pin in pins: GPIO.output(pin, GPIO.LOW) time.sleep(0.1) GPIO.output(pin, GPIO.HIGH) except KeyboardInterrupt: destroy() |