GoogleSearch
이 블로그 검색
RPi 프로젝트 #1: Dual LED control
라벨:
Informatics
이메일로 전송BlogThis!X에 공유Facebook에서 공유
# RPi project #1: Dual LED control
The schematic diagram of the module is as shown below:
Experimental Procedures
Step 1: Build the circuit.
Raspberry Pi GPIO Extension Board Dual-Color LED Module GPIO0 GPIO17 R GND GND GND GPIO1 GPIO18 G
#!/usr/bin/env python3
import RPi.GPIO as GPIO
import time
colors = [0xFF00, 0x00FF, 0x0FF0, 0xF00F]
pins = (11, 12) # pins is a dict
GPIO.setmode(GPIO.BOARD) # Numbers GPIOs by physical location
GPIO.setup(pins, GPIO.OUT) # Set pins' mode is output
GPIO.output(pins, GPIO.LOW) # Set pins to LOW(0V) to off led
p_R = GPIO.PWM(pins[0], 2000) # set Frequece to 2KHz
p_G = GPIO.PWM(pins[1], 2000)
p_R.start(0) # Initial duty Cycle = 0(leds off)
p_G.start(0)
def map(x, in_min, in_max, out_min, out_max):
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min
def setColor(col): # For example : col = 0x1122
R_val = col >> 8
G_val = col & 0x00FF
R_val = map(R_val, 0, 255, 0, 100)
G_val = map(G_val, 0, 255, 0, 100)
p_R.ChangeDutyCycle(R_val) # Change duty cycle
p_G.ChangeDutyCycle(G_val)
def loop():
while True:
for col in colors:
setColor(col)
time.sleep(0.5)
def destroy():
p_R.stop()
p_G.stop()
GPIO.output(pins, GPIO.LOW) # Turn off all leds
GPIO.cleanup()
if __name__ == "__main__":
try:
loop()
except KeyboardInterrupt:
destroy()
이메일로 전송BlogThis!X에 공유Facebook에서 공유
라벨:
Informatics
The schematic diagram of the module is as shown below:
Experimental Procedures
Step 1: Build the circuit.
Raspberry Pi | GPIO Extension Board | Dual-Color LED Module |
GPIO0 | GPIO17 | R |
GND | GND | GND |
GPIO1 | GPIO18 | G |
#!/usr/bin/env python3
import RPi.GPIO as GPIO
import time
colors = [0xFF00, 0x00FF, 0x0FF0, 0xF00F]
pins = (11, 12) # pins is a dict
GPIO.setmode(GPIO.BOARD) # Numbers GPIOs by physical location
GPIO.setup(pins, GPIO.OUT) # Set pins' mode is output
GPIO.output(pins, GPIO.LOW) # Set pins to LOW(0V) to off led
p_R = GPIO.PWM(pins[0], 2000) # set Frequece to 2KHz
p_G = GPIO.PWM(pins[1], 2000)
p_R.start(0) # Initial duty Cycle = 0(leds off)
p_G.start(0)
def map(x, in_min, in_max, out_min, out_max):
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min
def setColor(col): # For example : col = 0x1122
R_val = col >> 8
G_val = col & 0x00FF
R_val = map(R_val, 0, 255, 0, 100)
G_val = map(G_val, 0, 255, 0, 100)
p_R.ChangeDutyCycle(R_val) # Change duty cycle
p_G.ChangeDutyCycle(G_val)
def loop():
while True:
for col in colors:
setColor(col)
time.sleep(0.5)
def destroy():
p_R.stop()
p_G.stop()
GPIO.output(pins, GPIO.LOW) # Turn off all leds
GPIO.cleanup()
if __name__ == "__main__":
try:
loop()
except KeyboardInterrupt:
destroy()
Scientist. Husband. Daddy. --- TOLLE. LEGE
외부자료의 인용에 있어 대한민국 저작권법(28조)과 U.S. Copyright Act (17 USC. §107)에 정의된 "저작권물의 공정한 이용원칙 | the U.S. fair use doctrine" 을 따릅니다. 저작권(© 최광민)이 명시된 모든 글과 번역문들에 대해 (1) 복제-배포, (2) 임의수정 및 자의적 본문 발췌, (3) 무단배포를 위한 화면캡처를 금하며, (4) 인용 시 URL 주소 만을 사용할 수 있습니다. [후원 | 운영] [대문으로] [방명록] [옛 방명록] [티스토리 (백업)] [신시내티]
-