def main(): GPIO.setwarnings(False) GPIO.setmode(GPIO.BOARD) # GPIO.setup([stop, rec, menu], GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup([stop, rec, menu], GPIO.IN) # # attach callbacks to events # GPIO.add_event_detect(stop, GPIO.RISING, callback=stop_cb, bouncetime=200) # GPIO.add_event_detect(rec, GPIO.RISING, callback=rec_cb, bouncetime=200) # GPIO.add_event_detect(menu, GPIO.RISING, callback=menu_cb, bouncetime=200) GPIO.add_event_detect(stop, GPIO.RISING) GPIO.add_event_detect(rec, GPIO.RISING) GPIO.add_event_detect(menu, GPIO.RISING) while True: try: if GPIO.event_detected(stop): stop_cb() if GPIO.event_detected(rec): rec_cb() if GPIO.event_detected(menu): menu_cb() pass except KeyboardInterrupt: GPIO.cleanup() sys.exit()
def goingOn(self): # 여기 callback으로 matchfood 넣을지 고민 t = Tracker() Tracker_thread = Thread(target = t.track_point) Tracker_thread.start() while (True): if GPIO.event_detected(self.button_pin): self.Cx , self.Cy = t.get_track_point() # 젓가락의 위치랑 이미지의 픽셀값안에 있나 확인해서 음식명 출력 print(self.Cx , self.Cy) self.answer = self.guess.matchFood(self.Cx, self.Cy, self.board.box_x, self.board.box_y) print(self.answer) sound = Sound(self.answer) GPIO.remove_event_detect(self.button_pin) time.sleep(0.3) GPIO.add_event_detect(self.button_pin, GPIO.FALLING)