편집 기록

편집 기록
  • 프로필 알 수 없는 사용자님의 편집
    날짜2019.01.07

    파이썬 질문 드립니다.


    라즈베리 파이에서 input으로 지정한 시간이 되면 소리가 울리는 알람 시계를 만들었습니다. 이 코딩을 실행 시키면 지정한 시간이 되었을 시 알람이 5초간 울리고 멈춥니다. 하지만 시간이 지나면 다시 알람이 재생됩니다. 여기서 알람이 한번 울리고 다시 안울리게 하기 위해서는 마지막 while 구문을 어떻게 수정해야 하는지 알고 싶습니다.

    from datetime import datetime
    
    from time import sleep
    
    import os
    
    import time
    
    from grovepi import*
    
    import math
    
    buzzer_pin =2
    
    button=4
    
    pinMode(buzzer_pin,"OUTPUT")
    
    pinMode(button,"INPUT")
    
    ah = input("What hour would you like to wake up at?(24 hour time)")
    
    ahour = ah
    
    if ahour == "creator" or int(ahour) > 23:
    
        print("Program created by Bugman5352 on 6/4/16")
    
    am = input ("What minute would you like to wake up at?")
    
    aminute = am
    
    pmh = 12
    
    str(pmh)
    
    if ahour >= int(pmh):
    
        ap = "PM"
    
    else:
    
        ap = "AM"
    
    str(aminute)
    
    atime = "You want to wake up at %s:%s %s" % (ahour, aminute, ap)
    
    atimeo = "%s:%s %s" % (ahour, aminute, ap)
    
    print(atime)
    
    sleep(5)
    
    timesran = 0
    
    amounttimesran = 0
    
    
    def counttimesran():
    
        global timesran
    
        timesran = timesran + 1
    while True:
    
        now = datetime.now()
        minute = now.minute
        hour = now.hour
        str(minute)
        if hour >= 12:
            pa = "PM"
        else:
            pa = "AM"
        y = "The time is:%s:%s %s" % (hour, minute, pa)
        x = "%s:%s %s" % (hour, minute, pa)
        print(y)
        if atimeo == x:
                print("WAKE UP")
                while True:
                    digitalWrite(buzzer_pin,1)
                    sleep(.5)
                    digitalWrite(buzzer_pin,0)
                    counttimesran()               
                    if timesran == 5:
                        break
        sleep(10)