[RaspberryPI]LED制御


GPIO

PIN:回路保護された黒色プラスチックは、외부와 연결であり、からなることができる.GPIO 핀:チップメーカー不確定用途、자유롭게 사용하라고 제작된 핀ラスベガス派GPIO PIN サイトを確認
Wrapping関数を使用してLibraryでGPIOを制御する予定
ラズベリーの公式LIB
1. gpiozero(쉬움) - RPi.GPIO를 Wrapping한 LIB
2. RPI.GPIO(보통) - 세부적인 설정
GPIO PIN出力電圧は3.3Vである.
GPIO制御:신호를 보내고, 신호를 전달 받는 H/Wに接続されたデバイスの最も簡単な方法

LED接続


ラスベガスには5V3.3Vの出力電圧があります.
LED動作電圧:2.1V、動作電流:20mA.オームの法則とキロヒホフの法則に基づいて抵抗を計算し、
1. 5V : (5 - 2.1)/0.02 = 145옴 => `220옴` 저항을 사용
2. 3.3V : (3.3 - 2.1) / 0.02 = 60옴 => `220옴` 저항 사용
회로
回路を接続すると、ランプが点灯します.

GPIOピンによるLED制御


トニー(ソニー)


ラスベガス派のPython IDEで、Regular 모드を使用しています.

点滅LED

from gpiozero import LED
from time import sleep

red = LED(17) # 17번핀에 연결
    
while True:
    red.on()
    sleep(1)
    red.off()
    sleep(1)

LED点滅加速

from gpiozero import LED
from time import sleep

red = LED(17)
   
for i in range(1,100,1): # 1s ~ 10ms까지 빠르게 깜빡이기
   red.on()
   sleep(1/i)
   red.off()
   sleep(1/i)

LED 3個点灯

from gpiozero import LED
from time import sleep

ledset = [LED(17),LED(27),LED(22)]
    
while True:
    for led in ledset: # 17번핀 LED -> 27번핀 LED -> 22번핀 LED
        led.on()
        sleep(0.5)
        led.off()
        sleep(0.5)

入力数字に合ったLEDのみ

from gpiozero import LED
from time import sleep

ledset = [LED(17),LED(27),LED(22)]]
mode = [0,0,0]

def LEDToggle(n):
    if mode[n] == 0:
        ledset[n].on()
    else :
        ledset[n].off()
        
    mode[n] = not mode[n] # on/off 확인용도

while True:
    print("LED >> ")
    n = int(input()) # 문자로 입력받기 때문에 정수로 바꿔주기
    LEDToggle(n-1) # 0번 index부터 시작하니 -1 해주기