2017-07-20 7 views
0

Ich bekomme eine Temperatur von meinem Arduino lesen. Das arduino steuert auch 2 Schalter und geht thermische Zyklen durch. Was ich tun möchte, ist die Temperatur für jeden Zyklus aufzeichnen. Der Computer muss wissen, in welchem ​​"Zustand" sich das Arduino befindet, d.h. wann der Zyklus endet, so dass er eine neue Grafik erzeugen und die alten Daten speichern kann. Was ich dachte, ist in der seriellen ein Array wie folgt zu drucken: [Temperatur, Zustand] Die Sache ist, dass ich es nicht wirklich elegant finde. Ich würde gerne wissen, ob es einen Auslöser von dem Arduino geben würde, der z. B. eine Weile bricht (Daten auf einer Grafik druckt) und eine neue erzeugt.Arduino Python 3 Lesen Sie die serielle Schnittstelle

while True: { 
    produce new graph 
    while arduinoTrigger==false:{ 
    plot data 
    } 
} 

Antwort

1

Sie können dies tun, indem Sie eine bestimmte Zeichenfolge aus dem Arduino zu senden, und auf der anderen Seite, überprüfen, ob die empfangene Zeichenfolge übereinstimmt, sagen wir, "state change". Ansonsten behandle die Zeichenfolge als Temperatur. Dies setzt voraus, dass der Temperaturstring niemals "state change" sein kann, was wahrscheinlich nie passieren wird.

Sie so etwas in Ihrer Python-Implementierung haben:

while True: 
    msg = ser.readline() 

    if msg == 'state change': 
     # switch to new graph 

    else: 
     data = int(msg) 
     # plot data on current graph 
Verwandte Themen