Plotten en grafische dynamische gegevens uit Arduino met behulp van de kracht van Python (4 / 4 stap)

Stap 4: Python interactie


Doen gewoon niet knippen en plak deze code, maar zorg ervoor dat u het begrijpt, zodat u kunt uw eigen live grafische programma's maken vanaf nul.

#step 1: de bibliotheek importeren

alleen voor importeren importeren van seriële # seriële bibliotheek

import numpy # importeren numpy

importeren van matplotlib.pyplot als plt #import matplotlib bibliotheek

vanuit drawnow importeren *

#step2: instellen van de variabelen en seriële object maken

tempF =]

Druk =]

arduinoData = seriële. Serieel ('com11', 115200) #Creating onze seriële-object met de naam arduinoData

PLT.ion() #Tell-matplotlib gewenste interactieve modus tot live gegevens uitzetten

CNT = 0

Opmerking:-altijd het controleren van de com-poort. voor mijn geval sluit ik de arduino in com11. uw deffer van mij is. en de baud-rate dezelfde baud-rate in schets van de arduino en python gebruiken anders python mislukken om te interageren met arduino.

stap # 3: een functie voor perceel maken:-

def makeFig(): #Create een functie dat onze gewenste perceel maakt
PLT.ylim(80,90) #Set y-min en max waarden

PLT.title ('mijn Live Streaming Sensor Data') #Plot de titel

PLT.grid(true) #Turn het raster op

PLT.ylabel ('Temp F') #Set ylabels

PLT.plot (tempF, ' ro-', label = 'Graden F') #plot de temperatuur

PLT.Legend (loc = 'linksboven') #plot de legende

plt2=PLT.TwinX() #Create een tweede y-as

PLT.ylim(93450,93525) #Set grenzen van tweede y-as - aanpassen aan lezingen die u krijgt

plt2.plot (druk, "b ^-', label = 'Druk (Pa)') #plot druk gegevens

plt2.set_ylabel ('Pressrue (Pa)') #label tweede y-as

plt2.ticklabel_format(useOffset=false) #Force matplotlib aan niet schalen y-as

plt2.Legend (loc = 'rechtsboven') #plot de legende

Step4:loops dat forever:-

terwijl True: # While lus die voor eeuwig lussen
terwijl (arduinoData.inWaiting()==0): #Wait hier tot daar is gegevens

doorgeven van #do niets

arduinoString = arduinoData.readline() #read de regel tekst van de seriële poort

dataArray = arduinoString.split(',') #Split het in een array genaamd dataArray

Temp = float (dataArray[0]) #Convert eerste element dat getal met drijvende en put in temp

P = float (dataArray[1]) #Convert tweede element drijvende nummer en zet in P tempF.append(temp) #Build onze tempF matrix door toe te voegen temp lezingen pressure.append(P) #Building onze druk matrix door P lezingen drawnow(makeFig) #Call drawnow voor het bijwerken van onze live grafiek toe te voegen

PLT.pause(.000001) #Pause kort. Belangrijk om te voorkomen dat drawnow crashen

CNT = cnt + 1

if(CNT>50): je hebt 50 of meer punten, verwijderen van de eerste die uit de matrix tempF.pop(0) #This #If laat ons toe om gewoon het zien van de laatste 50 gegevenspunten

Pressure.pop(0)

Nota: hier is de truc cnt. Wanneer graaf cross de 50 of meer, verwijdert u de eerste die uit de matrix.

U moet gegevens, zoals de grafiek zien. U zult waarschijnlijk wilt aanpassen uw parameters schaal y-as in Python zodat de schaal is geschikt voor de gegevens die u neemt. Als uw grafiek leeg, waarschijnlijk is uw y-schalen zijn niet goed voor uw gegevens metingen.

Gerelateerde Artikelen

Uitzetten van real-time gegevens van Arduino met behulp van Python (matplotlib)

Uitzetten van real-time gegevens van Arduino met behulp van Python (matplotlib)

Arduino is fantastisch als tussenpersoon tussen uw computer en een ruwe elektronische schakeling. Via de seriële interface, kunt u informatie ophalen uit sensoren bevestigd aan je Arduino. (U kunt ook informatie verzenden via de seriële interface te
Sensorgegevens (DHT11 & BMP180) verzenden ThingSpeak met een Arduino, met behulp van ENC28J60 Ethercard

Sensorgegevens (DHT11 & BMP180) verzenden ThingSpeak met een Arduino, met behulp van ENC28J60 Ethercard

Opmerking: Dit instructable is voor de oude ENC26J60 Ethershield en ethercard. Als u de moderne WIZ5100 op basis van Ethernetshield of een ESP8266 ga bezoek mijn andere instructable dat ik noemen hieronderOngeveer een jaar en een half geleden ik publ
Mobile Application Monitor en Control Arduino, met behulp van kito.io IOT Platform

Mobile Application Monitor en Control Arduino, met behulp van kito.io IOT Platform

Bewaking en beheersing van je Arduino uit uw kito Mobile App.Ik heb een IOT Platform ontwikkeld voor het helpen van DIY Makers die net doet dat met geen kennis van Xcode, Android, JavaScript nodig anders dan hoe weet te schrijven van de Arduino schet
Dragon Curve met behulp van Python

Dragon Curve met behulp van Python

De Dragon-Curve is een interessante en mooie fractale. Het is eigenlijk een familie van zelf-soortgelijke fractals, maar ik zal me concentreren op de meest bekende, de draak van Heighway, vernoemd naar één van de NASA natuurkundigen die bestudeerd, J
Klinkers met behulp van Python tellen

Klinkers met behulp van Python tellen

Python is een high-level computerprogramma. In dit instructable, zal er stappen op hoe te tellen klinkers met behulp van variabelen met behulp van Python taal en programmeren. De demonstratie is een vraag die is ontleend aan de MITx: 6.00.1x Inleidin
Stock prijzen krijgen op Raspberry Pi (met behulp van Python)

Stock prijzen krijgen op Raspberry Pi (met behulp van Python)

Ik ben bezig met enkele nieuwe projecten waarbij voorraad prijsgegevens van het web, die zal worden bijgehouden en weergegeven via mijn Raspberry Pi ophalen. Ik wilde delen van de installatie op hoe dit te doen met behulp van Python.Deze korte Instru
Het opslaan van bestanden met behulp van Python

Het opslaan van bestanden met behulp van Python

In dit ondoorgrondelijke ik laten zien hoe het opslaan van bestanden met behulp van Python. Als je een Dropbox-account hebt, kun je uploaden using zulks sane programma en alleen maar naar die map te slaan. Als u wilt opslaan naar mijn dropbox typ ik
Hoe tweet van een Arduino met behulp van de wifi-Shield

Hoe tweet van een Arduino met behulp van de wifi-Shield

he, ik ben een grote fan van Instructables. Ik heb het consequent gebruikt voor de afgelopen 3 jaar en nu is het tijd voor mij om te schrijven een zelf.Hier gaan we. Dit instructable is voor degenen die willen een levenloos voorwerp tweet automatisch
Programmeren van een Arduino met behulp van BeagleBone, zonder USB

Programmeren van een Arduino met behulp van BeagleBone, zonder USB

als je gezien mijn BeagleBone/Arduino seriële communicatie gids, u kan hebben gewacht voor deze!  Als u het nog niet gezien, ga eerst lezen omdat we 100% Voortbouwend op dat kader.  Ik ga niet herhalen die instructie hier.Het einddoel is om te kunnen
Arduino aan MySQL met behulp van Python interface

Arduino aan MySQL met behulp van Python interface

hier is een korte tutorial die moet je opstaan en lopen interfacing van uw Adruino met een MySQL-database. Omwille van deze tutorial veronderstel ik dat u weet hoe u kunt instellen en gebruiken van MySQL. Deze tutorial niet veel Python ervaring verei
IPhone aan Arduino met behulp van Bluetooth 4.0--

IPhone aan Arduino met behulp van Bluetooth 4.0--

Opmerking: dit project vereist een iOS ontwikkelaar licentie . Het is $99 per jaar.Dit verslag beschrijft het schrijven van een app voor iOS apparaten van Bluetooth 4.0 om een seriële verbinding met een Arduino. Om de seriële verbinding op het einde
Blink voor ESP8266 native, zoals arduino met behulp van Windows

Blink voor ESP8266 native, zoals arduino met behulp van Windows

Wanneer ik bougth de ESP8266, mijn eerste gedachte was om de ESP8266 gebruiken als een Wifi-shield voor Arduino. Ik kwam erachter dat de ESP8266 een krachtig apparaat door het is zelf. En ik vroeg me af. Waarom geen gebruik maken van dit apparaat zon
Rotatie input van Arduino met behulp van LDR (light-dependent resistor) eenheid

Rotatie input van Arduino met behulp van LDR (light-dependent resistor) eenheid

vanuit mijn ervaring, is veel van roterende invoerapparaten in Arduino afhangen van een potentiometer die een variabele weerstand biedt. in dit instructable, zullen we proberen om het zelfde effect met behulp van een LDR, LED en een strook papier die
Een esp8266 arduino met behulp van een relais met behulp van home-assistant

Een esp8266 arduino met behulp van een relais met behulp van home-assistant

Dit Instructable laat zien hoe een Relais module verbinden met een esp8266, iets dat moet ongecompliceerd, maar moet een paar extra componenten te maken van de estafette werkt correct als u van het kleine apparaat van de esp in de foto's gebruikmaakt