Innehållsförteckning:

Adruino serieplotter: 5 steg (med bilder)
Adruino serieplotter: 5 steg (med bilder)

Video: Adruino serieplotter: 5 steg (med bilder)

Video: Adruino serieplotter: 5 steg (med bilder)
Video: Amazing arduino project 2024, November
Anonim
Adruino serieplotter
Adruino serieplotter
Adruino serieplotter
Adruino serieplotter
Bild
Bild

Arduino Serial Plotter -funktionen har lagts till i Arduino IDE, så att du kan grava seriell data från din Arduino till din dator i realtid. Om du är trött på att se din Arduinos analoga sensorinmatningsdata hälla på din skärm som The Matrix, ser det ut som ett vackrare sätt att visualisera vad som händer. En serieplotter är ett offlineverktyg så att du också kan visualisera data och felsöka din kod offline utan att behöva använda tredjepartstjänster som Processing eller Plotly. Eftersom det inte finns någon officiell dokumentation på Arduino -webbplatsen angående användning och funktionalitet för serieplotteren, bestämde jag mig för att dokumentera dess användning och funktioner.

Funktioner

  • Plottning av flera diagram
  • Off-line
  • Automatisk storlek på grafen
  • Stöder diagram med negativt värde
  • Bläddra automatiskt längs X-axeln
  • Olika färger för varje variabel

Ansökningar

  • Offline datavisualisering
  • Kodfelsökning
  • Vågformsanalys

Delar krävs

Arduino - AliExpress eller Arduino Starter Kit - AliExpress

Steg 1: Plotta en graf

Bild
Bild

Nu när du har installerat den senaste versionen av Arduino IDE (1.6.7 eller högre) är det dags att förstå hur Serial Plotter faktiskt fungerar. Arduino Serial Plotter tar inkommande seriella datavärden över USB -anslutningen och kan grafera data längs X/Y -axeln, utöver att bara se siffror som spottas ut på seriemonitorn. Den vertikala Y-axeln justeras automatiskt när värdet på utmatningen ökar eller minskar, och X-axeln är en fast 500-punktsaxel med varje bock på axeln lika med ett utfört Serial.println () -kommando. Med andra ord uppdateras diagrammet längs X-axeln varje gång Serial.println () uppdateras med ett nytt värde.

Bild
Bild
Bild
Bild

Kom ihåg att ställa in Baud Rate för seriell plotter så att den matchar kodens.

Flera tomter

När flera vågformer visas visas varje separat variabel/värde/parameter med en annan färg som visas nedan.

Bild
Bild

För att plotta flera variabler eller vågformer samtidigt skrivs ett "mellanslag" ut mellan de två utskriftssatserna.

Seriellt tryck (temperatur);

Serial.print (""); Serial.println (fuktighet);

ELLER

Seriellt tryck (temperatur);

Serial.print ("\ t"); Serial.println (fuktighet);

I detta fall kommer värdena för variablernas temperatur och fuktighet att ha separata vågformer ritade på samma graf samtidigt.

Steg 2: Offline datavisulering

Image
Image

Jag använde Arduino Serial Monitor i mitt automatiska växtbevattningssystem för att visualisera och plotta fuktsensordata.

Bild
Bild

Huvudsyftet med seriell plotter är att du inte behöver vara ansluten till Internet för att visualisera data från en sensor eller ditt projekt. Och därför för datavisualisering utmärker sig seriell plotter på sitt jobb.

Oavsett om det är en singelvåg eller en multipeldiagram, seriell plotter ändrar sig automatiskt och färgkoder varje våg. För att testa datavisualiseringsfunktionen kan du följa följande steg:

  1. Anslut ett par sensorer till din Arduino
  2. Skriv ut sensorernas värden och ladda upp koden.
  3. Öppna seriell plotter.
Bild
Bild

Jag har använt seriell plotter i min Tweeting Weather Station för att visualisera avläsningen av de olika sensorerna på väderstationen. Ovanstående vågformer visar diagrammet över temperatur (26 ° C) och luftfuktighet (65%relativ luftfuktighet) för SL-HS-220-sensorn.

Steg 3: Felsökning

En av de bästa användningarna av Serial Plotter är att felsöka koden och kretsen. Felaktiga anslutningar eller fel kodningslogik kan ibland ge en oönskad utmatning. I sådana fall där det finns för många koderader eller för många trådar för att felsöka seriell plotter kan visa den exakta felpunkten.

Med hjälp av Serial Plotter kan du kontrollera om en sensoravläsning är felaktig eller om sensorn inte är korrekt ansluten till Arduino. Seriell plotter hjälper också till att felsöka kod genom att visa värdena olika villkorliga påståenden och variabler eller till och med tillstånden för stiften på Arduino.

Bild
Bild

Ett bra exempel på det skulle vara felsökning av en robot som hindrar att undvika. I detta exempel representerar den blå vågformen ultraljudssensorn och de gula och röda vågformerna representerar vänster och höger motor. När avståndet mellan hindret och roboten minskar minskar den blå vågformen. Vid ett tröskelvärde (minsta avstånd) på 10 svänger roboten åt höger, därför har de två motorerna olika värden; Höger = 50, Vänster = 100. Du kan se den röda vågformen minska och den gula vågformen förbli konstant hastighet vilket representerar höger sväng.

Felsökning om en kabel inte var korrekt ansluten eller om en komponent inte fungerade eller om din kodningslogik var felaktig skulle ha kostat dig mycket tid. Men med hjälp av Serial Plotter kan den tid det tar att felsöka problemet minskas avsevärt genom att analysera vågformerna.

Bild
Bild

Steg 4: Funktionsgenerering och analys

Bild
Bild

Med en grundläggande programmeringskänsla och ett par rader kod kan Arduino fungera som en funktionsgenerator. Arduino kan producera fyrkantiga, triangulära, sinus- och sågtandade vågformer. I tidigare versioner av Arduino IDE kunde man bara observera värdena för den typ av vågform som produceras i Serial Monitor utan någon visualisering. Det skulle vara tidskrävande att analysera utgången enbart utifrån numeriska värden; och det här är platsen där seriell plotter är till nytta; för att visualisera de vågformer som produceras.

Bild
Bild
Bild
Bild
Bild
Bild
Funktion Generator.ino
Funktion Generator.ino

Funktion Generator.ino

Steg 5: Framtida förbättringar och tillägg

Bild
Bild

Arduino IDE har länge behövt tillägg av seriell plotter. Det har ökat funktionaliteten hos Arduino IDE men saknar fortfarande några funktioner:

  • Autoskroll växla
  • Samtidig användning av Serial Plotter & Serial Monitor.
  • X-axel skala/tidsskala krävs.

Eftersom dessa funktioner läggs till i Arduino IDE kommer jag att fortsätta att göra ändringar och lägga till nya steg i denna instruktionsbok.

Rekommenderad: