Raspberry Pi (Raspbian)로 LED를 켜거나 끄는 프로그램 만들기
10472 단어 RaspberryPiraspbian파이썬전자 공작임베디드
소개
Raspberry Pi(Raspbian)로 LED를 점등/소등시키는 프로그램의 소개입니다.
필요한 것
배선
GPIO와 GND라면 어디에서나 가능하지만, 향후 확장성 등을 생각하면 GPIO만의 핀(3, 5, 8, 10, 19, 21, 23, 24, 25 이외)을 사용하는 것이 무난하다고 생각합니다 .
이 게시물은 33 (GPIO13), 35 (GPIO19), 39 (GND) 핀을 사용합니다.
프로그램
led.py#Import Files
import RPi.GPIO as GPIO
import time
#GPIO Settings
GPIO.setmode(GPIO.BCM)
GPIO.setup(13, GPIO.OUT)
GPIO.setup(19, GPIO.OUT)
#Main
try:
while True:
GPIO.output(13, GPIO.LOW)
GPIO.output(19, GPIO.HIGH)
time.sleep(1)
GPIO.output(13, GPIO.HIGH)
GPIO.output(19, GPIO.LOW)
time.sleep(1)
except KeyboardInterrupt:
GPIO.cleanup()
해설
led.py
#Import Files
import RPi.GPIO as GPIO
import time
#GPIO Settings
GPIO.setmode(GPIO.BCM)
GPIO.setup(13, GPIO.OUT)
GPIO.setup(19, GPIO.OUT)
#Main
try:
while True:
GPIO.output(13, GPIO.LOW)
GPIO.output(19, GPIO.HIGH)
time.sleep(1)
GPIO.output(13, GPIO.HIGH)
GPIO.output(19, GPIO.LOW)
time.sleep(1)
except KeyboardInterrupt:
GPIO.cleanup()
해설
RPi.GPIO
라이브러리 가져오기 time
라이브러리 가져 오기 while True:
로 무한 루프 프로그램을 실행해보기
사진을 찍는 프로그램에 통합해보세요
이전에 작성한 사진을 찍는 프로그램의 camera_func(x)에 LED의 점등/소등 처리를 넣어 보았다.
camera_v2.py#Import Files
import RPi.GPIO as GPIO
import picamera
import time
#GPIO Settings
GPIO.setmode(GPIO.BCM)
GPIO.setup(13, GPIO.OUT)
GPIO.setup(19, GPIO.OUT)
GPIO.setup(26, GPIO.IN, pull_up_down=GPIO.PUD_UP)
#Camera Settings
CAM_DIR = "/home/pi/python/_photo/"
camera = picamera.PiCamera()
#Camera Function
def camera_func(x):
if GPIO.input(26) == 0:
GPIO.output(19, GPIO.HIGH)
filename = time.strftime("%Y%m%d%H%M%S") + ".jpeg"
save_dir_filename = CAM_DIR + filename
camera.capture(save_dir_filename)
GPIO.output(19, GPIO.LOW)
else:
GPIO.output(13, GPIO.HIGH)
time.sleep(1)
GPIO.output(13, GPIO.LOW)
#Interrupt
GPIO.add_event_detect(26, GPIO.FALLING, callback=camera_func, bouncetime=200)
#Main
try:
while True:
pass
except KeyboardInterrupt:
GPIO.cleanup()
변경 전은 스위치를 눌러도 사진을 찍을 수 있는지 몰랐지만, 변경 후 스위치를 눌렀을 때 정상 (사진이 찍혀있는 경우)이면 녹색, 이상 (사진이 찍히지 않은 경우)이면 빨간색 의 LED가 점등하기 때문에, 아무것도 없는 것보다는 이해하기 쉬워졌다.
참고
#Import Files
import RPi.GPIO as GPIO
import picamera
import time
#GPIO Settings
GPIO.setmode(GPIO.BCM)
GPIO.setup(13, GPIO.OUT)
GPIO.setup(19, GPIO.OUT)
GPIO.setup(26, GPIO.IN, pull_up_down=GPIO.PUD_UP)
#Camera Settings
CAM_DIR = "/home/pi/python/_photo/"
camera = picamera.PiCamera()
#Camera Function
def camera_func(x):
if GPIO.input(26) == 0:
GPIO.output(19, GPIO.HIGH)
filename = time.strftime("%Y%m%d%H%M%S") + ".jpeg"
save_dir_filename = CAM_DIR + filename
camera.capture(save_dir_filename)
GPIO.output(19, GPIO.LOW)
else:
GPIO.output(13, GPIO.HIGH)
time.sleep(1)
GPIO.output(13, GPIO.LOW)
#Interrupt
GPIO.add_event_detect(26, GPIO.FALLING, callback=camera_func, bouncetime=200)
#Main
try:
while True:
pass
except KeyboardInterrupt:
GPIO.cleanup()
Reference
이 문제에 관하여(Raspberry Pi (Raspbian)로 LED를 켜거나 끄는 프로그램 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Yuta_Chief/items/fcbbda8509c7cbbfd796텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)