특정시간에서 실행(파이썬)

라즈베리 파이에서 알람시간을 파이썬으로 코딩중인데 while문 작성이 너무 힘들네요. 어디가 잘못 된건지 설명부탁 드립니다 .

import time

import datetime

from grovepi import*

import math

buzzer_pin =2

button=4

pinMode(buzzer_pin,"OUTPUT")

pinMode(button,"INPUT")



c=int(input("Enter the hour you want to wake up at :"))

d=int(input("Enter the minutes you want to wake up at :"))

b=int(input("Enter the seconds you want to wake up at :"))

now= datetime.datetime.now()



h=now.strftime('%H')

h1=now.strftime('%M')

h2=now.strftime('%S')

while h==c and h1==d and h2>=b:

    h==c and h1==d and h2<=b

    digitalWrite(buzzer_pin,1)

    button_status = digitalRead(button)

    if button_status :  

        digitalWrite(buzzer_pin,0)

1답변

  • 보통 질문자의 요청과 같은 프로그램은 운영체제의 스케쥴러 기능을 많이 이용합니다.

    unux/linux 라면 crontab

    윈도우라면 윈도우 스케쥴러

    라즈베리파이라면 리눅스일테니 crontab 을 공부해보세요.

    그리고 코드의 while 문의 잘못된 것을 알려달라 했는데 무엇을 하려고 하는지 어떤 오류가 발생하는지 등의 설명이 없으니 무엇이 잘못된 것인지도 유추하기가 힘듭니다.

    • 아 죄송합니다. 제가 하고 싶은게 b,c,d에서 입력한 값이 현재시간이 지나면 라즈베리파이의 grove buzzer가 출력이 되는것이 목표인데 터미널에서 실행할 경우 그냥 입력만하고 이 프로그램이 종료가 됩니다. 신경원 2018.6.10 23:58

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.