나는 import serial
그들을 연결하는 데 사용 하는 직렬 (USB)을 통해 내 Raspberry Pi에 연결된 마이크로 컨트롤러에서 온도 센서 데이터를 수신하는 프로그램을 만들었 습니다. 이미 데이터를 인쇄 할 수 있지만 데이터가 섭씨 35도를 넘으면 "온도가 35도 이상입니다"라는 오디오가 재생되지만 35도를 넘지 않으면 데이터를 계속 인쇄합니다. 이 코드의 문제점은 35.1을 얻으면 다음 데이터가 35.4라는 것입니다. 오디오는 계속 재생되지만 완료되지는 않습니다. 따라서 출력 오디오는 "온도가 35 이상"이됩니다. 데이터가 35.1이면 오디오가 끝날 때까지 재생되고 다음 데이터가 다시 35 개를 넘으면 오디오가 끊김없이 다시 재생되기를 원합니다. 나는 파이썬과 라즈베리 파이의 초보자이므로 어떤 도움을 주시면 감사하겠습니다!
다음은 직렬 데이터를 읽고 레이블에 인쇄하는 코드입니다.
def readserial(self):
response=ser.readline().decode('utf-8').rstrip()
response=float(response)
if response > 35.00:
self.label2.setText(str(response))
self.alarm()
elif response <= 35.00:
self.label2.setText(str(response))
self.timer=QTimer()
self.timer.timeout.connect(self.readserial)
self.timer.start(500)
def alarm(self):
pygame.mixer.music.load("over.mp3")
pygame.mixer.music.play()
if 문을 추가 할 수 있습니다. pygame.mixer.music.get_busy ()
if not pygame.mixer.music.get_busy(): # returns true if music is playing
pygame.mixer.music.play()
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다