Obsah:

Sériový plotter Adruino: 5 kroků (s obrázky)
Sériový plotter Adruino: 5 kroků (s obrázky)

Video: Sériový plotter Adruino: 5 kroků (s obrázky)

Video: Sériový plotter Adruino: 5 kroků (s obrázky)
Video: 5. Arduino program 2024, Listopad
Anonim
Sériový plotter Adruino
Sériový plotter Adruino
Sériový plotter Adruino
Sériový plotter Adruino
obraz
obraz

Do Arduino IDE byla přidána funkce Arduino Serial Plotter, která vám umožňuje nativní grafiku sériových dat z vašeho Arduina do vašeho počítače v reálném čase. Pokud vás unavuje vidět, jak se vstupní data analogových senzorů vašeho Arduina vlévají na obrazovku jako Matrix, vypadá to jako hezčí způsob, jak si představit, co se děje. Sériový plotter je offline nástroj, který vám také umožňuje vizualizovat data a odstraňovat problémy s kódem offline, aniž byste museli používat služby třetích stran, jako je Processing nebo Plotly. Protože na webových stránkách Arduino neexistuje žádná oficiální dokumentace týkající se používání a funkcí sériového plotru, rozhodl jsem se dokumentovat jeho použití a funkce.

Funkce

  • Vykreslení více grafů
  • Offline
  • Graf automatické změny velikosti
  • Podporuje grafy se zápornou hodnotou
  • Automatické posouvání po ose X
  • Různé barvy pro každou proměnnou

Aplikace

  • Offline vizualizace dat
  • Odstraňování problémů s kódem
  • Analýza průběhu

Požadované díly

Arduino - AliExpress nebo Arduino Starter Kit - AliExpress

Krok 1: Vykreslení grafu

obraz
obraz

Nyní, když jste nainstalovali nejnovější verzi Arduino IDE (1.6.7 nebo vyšší), je čas pochopit, jak sériový plotter ve skutečnosti funguje. Sériový plotter Arduino přebírá příchozí hodnoty sériových dat přes USB připojení a je schopen graficky znázornit data podél osy X/Y, kromě toho, že vidí, jak se čísla plivají na sériový monitor. Svislá osa Y se automaticky přizpůsobuje, jak se hodnota výstupu zvyšuje nebo snižuje, a osa X je pevná osa 500 bodů, přičemž každé zaškrtnutí osy se rovná provedenému příkazu Serial.println (). Jinými slovy, graf je aktualizován podél osy X pokaždé, když je Serial.println () aktualizován novou hodnotou.

obraz
obraz
obraz
obraz

Nezapomeňte nastavit přenosovou rychlost sériového plotru tak, aby odpovídala kódu.

Více pozemků

Při zobrazení více průběhů je každá samostatná proměnná/hodnota/parametr zobrazena jinou barvou, jak je uvedeno níže.

obraz
obraz

Aby bylo možné vykreslit více proměnných nebo průběhů současně, je mezi dvěma tiskovými příkazy vytištěn 'prostor'.

Sériový tisk (teplota);

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

NEBO

Sériový tisk (teplota);

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

V tomto případě budou mít hodnoty teploty a vlhkosti proměnných na stejném grafu vykresleny současně různé průběhy.

Krok 2: Offline vizualizace dat

Image
Image

K vizualizaci a vykreslení dat senzoru vlhkosti jsem použil sériový monitor Arduino v mém automatickém systému zavlažování rostlin.

obraz
obraz

Hlavním účelem sériového plotru je, že k vizualizaci dat ze senzoru nebo projektu nemusíte být připojeni k internetu. A proto pro účely vizualizace dat vyniká sériový plotter ve své práci.

Ať už jde o singulární vlnu nebo graf s více grafy, sériový plotter automaticky změní velikost a barevně kóduje každou vlnu. Chcete-li otestovat funkci vizualizace dat, můžete postupovat podle následujících kroků:

  1. Připojte k Arduinu několik senzorů
  2. Vytiskněte hodnoty senzorů a nahrajte kód.
  3. Otevřete sériový plotter.
obraz
obraz

Použil jsem sériový plotter v mé Tweetingové meteorologické stanici k vizualizaci čtení různých senzorů na meteorologické stanici. Výše uvedené průběhy ukazují graf naměřených hodnot teploty (26 ° C) a vlhkosti (65%relativní vlhkosti) snímače SL-HS-220.

Krok 3: Odstraňování problémů

Jedním z nejlepších použití sériového plotru je řešení problémů s kódem a obvodem. Chybné připojení nebo nesprávná logika kódování může někdy vrátit nežádoucí výstup. V takových případech, kde je příliš mnoho řádků kódu nebo příliš mnoho vodičů na ladění, může sériový plotter zobrazit přesný bod chyby.

Pomocí sériového plotru můžete zkontrolovat, zda je čtení senzorů nesprávné nebo dokonce, zda není senzor správně připojen k Arduinu. Sériový plotter také pomůže ladit kód zobrazením hodnot různých podmíněných příkazů a proměnných nebo dokonce stavů pinů Arduina.

obraz
obraz

Dobrým příkladem by bylo řešení potíží s robotem pro vyhýbání se překážkám. V tomto případě modrá křivka představuje ultrazvukový senzor a žlutá a červená křivka představují levý a pravý motor. Jak se vzdálenost mezi překážkou a robotem zmenšuje, modrý tvar vlny se zmenšuje. Při prahové hodnotě (minimální vzdálenost) 10 se robot otočí doprava, a proto mají oba motory různé hodnoty; Vpravo = 50, Vlevo = 100. Můžete vidět, jak se červená křivka snižuje a žlutá křivka zůstává konstantní rychlostí, což představuje správnou zatáčku.

Odstraňování problémů, zda není správně připojen vodič nebo součást nefunguje správně nebo je vaše kódovací logika nesprávná, by vás stálo spoustu času. S pomocí sériového plotru však lze čas potřebný k řešení problému výrazně zkrátit analýzou průběhů.

obraz
obraz

Krok 4: Generování a analýza funkcí

obraz
obraz

Se základním programovacím smyslem a několika řádky kódu je Arduino schopné fungovat jako generátor funkcí. Arduino je schopné vytvářet křivky čtvercových, trojúhelníkových, sinusových a pilových zubů. V předchozích verzích Arduino IDE bylo možné bez jakékoli vizualizace sledovat pouze hodnoty typu tvaru vlny vytvářeného v sériovém monitoru. Bylo by časově náročné analyzovat výstup pouze na základě číselných hodnot; a to je místo, kde se hodí sériový plotter; při vizualizaci vytvářených průběhů.

obraz
obraz
obraz
obraz
obraz
obraz
Generátor funkcí.ino
Generátor funkcí.ino

Generátor funkcí.ino

Krok 5: Budoucí vylepšení a doplňky

obraz
obraz

Arduino IDE již dlouho potřebuje přidání sériového plotru. Zvýšila funkčnost Arduino IDE, ale stále postrádá některé funkce:

  • Přepínání automatického posouvání
  • Současné použití sériového plotru a sériového monitoru.
  • Je vyžadováno měřítko osy X/časové měřítko.

Jakmile budou tyto funkce přidány do Arduino IDE, budu i nadále provádět změny a přidávat nové kroky do tohoto Instructable.

Doporučuje: