Plottning realtidsdata från Arduino med Python (matplotlib)
Arduino är fantastisk som en mellanhand mellan din dator och en rå elektronisk krets. Seriella gränssnitt kan du hämta information från sensorer kopplade till din Arduino. (Du kan också skicka information via det seriella gränssnittet ansätta kretsar och enheter (lysdioder, reläer, servon, etc.) som är anslutna till din Arduino.) När du har data i din dator, kan du göra alla möjliga saker med det – analysera den, Visa den eller dela den på internet, till exempel.
I detta instructable, jag kommer att läsa och Visa analoga data från ett par LDRs ansluten till en Arduino. Bifogat är schematiskt.
Arduino skiss är mycket enkel – det bara läser värden från analoga stift A0 och A1 (i intervallet [0, 1023]) och skriver ut det till den seriella porten.
Här är koden:
https://GIST.GitHub.com/electronut/5641938
Den seriella porten skickar värden i formatet:
512 300
513 280
400 200
...
På den dator sidan behöver jag läsa dessa värden och rita dem som funktion av tiden. Jag använder Python och Matplotlib biblioteket för detta. Jag ville visa detta som ett rullande diagram som flyttas till höger när data håller kommer. För det använder jag klassen Python deque att hålla och uppdatera ett fast antal datapunkter för varje tidsperiod.
Du kan se det fullständiga genomförandet här: