728x90
반응형
개요
- 버튼 0과 1로 구성된 비밀번호 네자리를 누르면 잠금장치가 풀린다.
- 네자리 비밀번호를 정확히 눌렀을때, 녹색 LED가 켜지고 서보모터가 동작한다. 1초후 원상복구
- 비밀전호가 틀렸을때, 빨강 LED가 켜지고 1초후 꺼진다.
회로구성
준비물 : LED 빨간색, 녹색, 버튼 2개, 서보모터 라즈베리파이
코드
from gpiozero import AngularServo,LED,Button
from time import sleep
red = LED(2)
green = LED(3)
btn0 = Button(17) #onoff
btn1 = Button(27) #up
def up():
global red, green,servo
green.on()
red.off()
servo.angle = 90
def down():
global red, green,servo
green.off()
red.off()
servo.angle = 0
setpw = "0011"
inputpw=""
clicked=0;
while True:
print(inputpw)
if clicked == 4 : break
if btn0.is_pressed :
inputpw +="0"
clicked+=1
sleep(0.3)
elif btn1.is_pressed :
inputpw +="1"
clicked+=1
sleep(0.3)
if setpw == inputpw :
servo = AngularServo(11,min_angle=0, max_angle=90)
up()
sleep(1)
down()
else :
red.on()
sleep(1)
red.off()
결과영상
728x90
반응형
'임베디드' 카테고리의 다른 글
[라즈베리파이] 센스햇 기초 (0) | 2022.04.25 |
---|---|
[라즈베리파이] 3단 선풍기 만들기 (0) | 2022.04.24 |
[Thread] 멀티스레드와 임계영역의 mutex init/lock/unlock/destory (0) | 2022.04.22 |
[Thread] 멀티스레드 인자 값 넘기기 (2) | 2022.04.21 |
[Thread] POSIX 멀티스레드 예시 작성하기 (0) | 2022.04.19 |