임베디드

[라즈베리파이] 도어락 만들기

히똔 2022. 4. 23. 16:40
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
반응형