Sisukord:

Adruino seeriaplotter: 5 sammu (piltidega)
Adruino seeriaplotter: 5 sammu (piltidega)

Video: Adruino seeriaplotter: 5 sammu (piltidega)

Video: Adruino seeriaplotter: 5 sammu (piltidega)
Video: Amazing arduino project 2024, November
Anonim
Adruino seeriaplotter
Adruino seeriaplotter
Adruino seeriaplotter
Adruino seeriaplotter
Pilt
Pilt

Arduino IDE -le on lisatud funktsioon Arduino jadaplaneerija, mis võimaldab teil reaalajas graafiliselt seeriaandmeid oma Arduino arvutist arvutisse joonistada. Kui olete väsinud nägema, kuidas teie Arduino analooganduri sisendandmed teie ekraanile valatakse nagu The Matrix, tundub see ilusam viis toimuva visualiseerimiseks. Jadaplotter on võrguühenduseta tööriist, mis võimaldab teil ka andmeid visualiseerida ja koodi veaotsingut teha võrguühenduseta, ilma et peaksite kasutama kolmanda osapoole teenuseid, nagu Processing või Plotly. Kuna Arduino veebisaidil pole ametlikku dokumentatsiooni seeriaplotteri kasutamise ja funktsionaalsuse kohta, otsustasin dokumenteerida selle kasutuse ja funktsioonid.

Funktsioonid

  • Mitme graafiku joonistamine
  • Võrguühenduseta
  • Graafiku automaatse suuruse muutmine
  • Toetab negatiivse väärtuse graafikuid
  • Automaatne kerimine mööda X-telge
  • Iga muutuja jaoks erinevad värvid

Rakendused

  • Võrguühenduseta andmete visualiseerimine
  • Koodi tõrkeotsing
  • Lainekuju analüüs

Vajalikud osad

Arduino - AliExpress või Arduino stardikomplekt - AliExpress

Samm: graafiku joonistamine

Pilt
Pilt

Nüüd, kui olete installinud Arduino IDE uusima versiooni (1.6.7 või uuem), on aeg mõista, kuidas seeriaplotter tegelikult töötab. Arduino jadaplotter võtab sissetulevad jadaandmete väärtused USB -ühenduse kaudu ja suudab andmeid graafiliselt joonistada mööda X/Y telge, lisaks sellele, et näete ainult seeriamonitorile sülitatud numbreid. Vertikaalne Y-telg reguleerib ennast automaatselt, kui väljundi väärtus suureneb või väheneb, ja X-telg on fikseeritud 500-punktiline telg, mille iga telje linnuke võrdub täidetud käsuga Serial.println (). Teisisõnu, graafikut uuendatakse piki X-telge iga kord, kui Serial.println () värskendatakse uue väärtusega.

Pilt
Pilt
Pilt
Pilt

Ärge unustage seeriaplotteri Baudi kiirust seadistada nii, et see vastaks koodi omale.

Mitu krunti

Mitme lainekuju kuvamisel kuvatakse iga eraldi muutuja/väärtus/parameeter erinevat värvi kasutades, nagu allpool näidatud.

Pilt
Pilt

Mitme muutuja või lainekuju samaaegseks joonistamiseks trükitakse kahe trükiväite vahele tühik.

Serial.print (temperatuur);

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

VÕI

Serial.print (temperatuur);

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

Sel juhul on muutujate temperatuuri ja niiskuse väärtused samale graafikule samaaegselt joonistatud eraldi lainekujuga.

2. samm: võrguühenduseta andmete visualiseerimine

Image
Image

Kasutasin oma automaatses taimede kastmissüsteemis Arduino jadamonitori, et visualiseerida ja joonistada niiskuseanduri andmeid.

Pilt
Pilt

Sarjaplotteri peamine eesmärk on see, et anduri või projekti andmete visualiseerimiseks ei pea te Interneti-ühenduse loomiseks olema ühendatud. Ja seega on andmete visualiseerimise eesmärgil seriaalplotter oma tööga suurepärane.

Olenemata sellest, kas tegemist on ainsuse lainega või mitme graafikuga graafikuga, muudab jadaplotter automaatselt oma suurust ja värvib iga laine. Andmete visualiseerimise funktsiooni testimiseks võite järgida järgmisi samme:

  1. Ühendage oma Arduinoga paar andurit
  2. Printige andurite väärtused ja laadige kood üles.
  3. Avage jadaplotter.
Pilt
Pilt

Olen kasutanud oma säutsuva ilmajaama jadaplotterit ilmajaama erinevate andurite lugemise visualiseerimiseks. Ülaltoodud lainekujud näitavad SL-HS-220 anduri temperatuuri (26 ° C) ja niiskuse (65%RH) näitu.

3. samm: tõrkeotsing

Sarjaplotteri üks parimaid kasutusviise on koodi ja vooluahela tõrkeotsing. Valed ühendused või vale kodeerimisloogika võivad mõnikord soovimatu väljundi tagastada. Sellistel juhtudel, kui seeriaplotteri silumiseks on liiga palju koodiridu või liiga palju juhtmeid, saab näidata täpset veapunkti.

Sarjaploteri abil saate kontrollida, kas andurite näit on vale või isegi kui andur pole Arduinoga korralikult ühendatud. Sarjaplotter aitab ka koodi silumisel, näidates väärtusi erinevatele tingimuslikele avaldustele ja muutujatele või isegi Arduino tihvtide olekutele.

Pilt
Pilt

Hea näide oleks takistuste vältimise roboti tõrkeotsing. Selles näites kujutab sinine lainekuju ultraheli andurit ning kollane ja punane lainekuju vasakut ja paremat mootorit. Kui kaugus takistuse ja roboti vahel väheneb, väheneb sinine lainekuju. Läveväärtusel (minimaalne kaugus) 10 pöörab robot paremale, seega on mõlemal mootoril erinevad väärtused; paremal = 50, vasakul = 100. Näete, kuidas punane lainekuju väheneb ja kollane lainekuju jääb püsikiiruseks, mis tähistab paremat pööret.

Tõrkeotsing selle kohta, kas traat ei olnud korralikult ühendatud või mõni komponent oli valesti või teie kodeerimisloogika oli vale, oleks teile kulunud palju aega. Kuid jadaplaani abil saab lainekuju analüüsides probleemi tõrkeotsinguks kuluvat aega oluliselt vähendada.

Pilt
Pilt

4. samm: funktsioonide genereerimine ja analüüs

Pilt
Pilt

Põhilise programmeerimismeele ja paari rea koodiga on Arduino võimeline toimima funktsioonigeneraatorina. Arduino on võimeline tootma ruudukujulisi, kolmnurkseid, siinus- ja saehammaslainekuju. Arduino IDE varasemates versioonides võis ilma jahtimiseta jälgida ainult jadamonitoris toodetud lainekuju tüübi väärtusi. Väljundi analüüsimine ainult arvväärtuste põhjal oleks aeganõudev; ja see on koht, kus jadaplotter on käepärast; toodetud lainekujude visualiseerimisel.

Pilt
Pilt
Pilt
Pilt
Pilt
Pilt
Funktsiooni generaator.ino
Funktsiooni generaator.ino

Funktsiooni generaator.ino

Samm: tulevane täiustamine ja täiendused

Pilt
Pilt

Arduino IDE on juba pikka aega vajanud seeriaplotteri lisamist. See on suurendanud Arduino IDE funktsionaalsust, kuid sellel puuduvad siiski mõned funktsioonid:

  • Autoscroll Lülita
  • Sarjaplotteri ja jadamonitori samaaegne kasutamine.
  • Vajalik X-telje skaala/ajaskaala.

Kuna need funktsioonid lisatakse Arduino IDE -le, jätkan muudatuste tegemist ja lisan sellesse juhendisse uusi samme.

Soovitan: