0
我正在使用Arduino和Python 3 Tkinter構建一個恆溫器GUI。我有多個掛鉤到Arduino卡的ds18b20傳感器。我可以讓所有的傳感器在一個tkinter標籤中讀取,但是,我需要只讀一個傳感器並將其放置在標籤中,然後讀取第二個傳感器並將其放置在不同的標籤中。我無法弄清楚如何分別讀取每個傳感器。任何幫助是極大的讚賞。Pyserial與Arduino和多個ds18b20
我正在使用Arduino和Python 3 Tkinter構建一個恆溫器GUI。我有多個掛鉤到Arduino卡的ds18b20傳感器。我可以讓所有的傳感器在一個tkinter標籤中讀取,但是,我需要只讀一個傳感器並將其放置在標籤中,然後讀取第二個傳感器並將其放置在不同的標籤中。我無法弄清楚如何分別讀取每個傳感器。任何幫助是極大的讚賞。Pyserial與Arduino和多個ds18b20
您需要做一個來回串行會話,其中python代碼發送「我想要傳感器{1}」。 Arduino代碼必須首先確定需要哪個傳感器讀數,讀取相關傳感器,將信號轉換爲degF或degC或其他值,然後將結果通過串行發送返回,以此作爲輸入。
然後可以從GUI代碼中調用此函數。
Python的僞代碼:
set up serial connection
def get_val(sensor):
serial send sensor
serial get value
return value
sensors = [1,2,3]
for each in sensors:
temp = get_val(each)
Arduino的僞代碼:
SENSOR1_PIN = A4;
SENSOR2_PIN = A3;
setup {
serial
pins
}
main {
get serial char
if (char==1) {
value = analog read SENSOR1_PIN
- do some maths -
serial send temp
}
if (char==2) { ...