Я строю графический интерфейс термостата, используя Arduino и Python 3 Tkinter. У меня есть несколько датчиков ds18b20, подключенных к карте Arduino. Я могу заставить все датчики читать на одной метке tkinter, однако мне нужно просто прочитать один датчик и поместить его в ярлык, затем прочитать второй и поместить его на другой ярлык и т. Д. Я не могу понять, как прочитайте каждый датчик отдельно. Любая помощь приветствуется.Pyserial с Arduino и несколькими ds18b20
0
A
ответ
0
Вам нужно сделать повторный последовательный разговор, где код 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) { ...