Obsah:
Video: Guino: Dashboard pro vaše Arduino: 4 kroky (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
Tento projekt je součástí experimentů prováděných při pobytu umělce v rezidenci na Instructables. Na další projekty se můžete podívat zde. Ladit a vizualizovat data v reálném čase na desce Arduino může být ošemetný úkol. Obvykle jste uvízli ve standardním sériovém výstupu, protože složitost vašeho kódu Arduino roste, což znemožňuje pochopit, co se ve skutečnosti na desce děje. Abych to vyřešil, vytvořil jsem malou knihovnu, která vám umožní vytvořit si vlastní GUI pro vaše projekty Arduino. Podívejte se na toto video a získejte ukázku základního hello světa s potenciometrem a diodou: V tuto chvíli má program následující možnosti a funkce: Vlastní návrh rozhraní z desky Arduino Definujete, které posuvníky, grafy a tlačítka potřebujete pro vaše rozhraní. To provedete ve své skici Arduino, což znamená, že program gui funguje jako podřízený objekt skici. Všechny informace jsou uloženy na vaší desce. Vizualizace a manipulace s daty v reálném čase Ať už vyrábíte ovladač světla RGB nebo rameno robota, získání grafické zpětné vazby je zásadní pro pochopení toho, co se děje uvnitř desky. To vám umožní pochopit, zda problém způsobuje váš hardware nebo kód. Dále posuvníky a tlačítka vám umožňují vyladit jednotlivé parametry v reálném čase. Tímto způsobem můžete vidět, jaký vliv mají různé prahy na interakci. Uložení parametrů do paměti desek Po vyladění parametrů je můžete uložit na EEProm desky. Parametry se automaticky načtou při příštím zapnutí desky, i když počítač není připojen. Použijte stejnou aplikaci pro všechny vaše projekty Arduino. Vytvořil jsem spoustu malých aplikací pro různé projekty. Mým problémem je vždy je znovu najít o rok později. Protože vše ukládáme do Arduina, potřebuji mít jen jednu aplikaci kolem Arduina, automaticky nakonfiguruje aplikaci pro aktuální projekt. Prototypujte rozhraní před zapnutím páječky, protože si můžete navrhnout gui, jak se vám líbí (v rozumném rozsahu) limity), můžete prototypovat rozhraní před vytvořením fyzického rozhraní. To také umožňuje rozdělit úkoly mezi více lidí, např. jedna osoba pracuje na hardwaru a další pracuje na kódu. Když vytvoříte fyzické rozhraní, Guino se bezproblémově integruje. Použít jako řídicí panel na celou obrazovku Můžete jej použít jako řídicí panel na celou obrazovku stisknutím F a stisknutím T přepnete viditelnost panelu nastavení. Tímto prezentujete pouze své vlastní rozhraní pro svět kolem vás. Ovládejte barvu pozadí Barvu pozadí lze ovládat z Arduina, což vám umožní vytvářet různé barvy pro různé skici. Může se také použít k upozornění, když je něco špatně. Může to být zelené, když je vše v pořádku, a červené, když je něco špatně. Rychle a štíhle Pečlivě jsem pečoval o to, aby byla stopa na Arduinu co nejmenší - do paměti ukládá pouze minimální množství dat (konkrétně ukazatel) seznam 100 položek). Toto nastavení lze změnit na nižší nebo vyšší v závislosti na množství položek gui, které hodláte mít ve svém rozhraní. Dále se systém spoléhá na knihovnu EasyTransfer, která přenáší informace v binární formě. Každý balíček se skládá z bajtu pro příkaz, bajtu pro položku # a celého čísla pro hodnotu. V ideálním případě by všechna vaše data měla být normalizována na 16bitový celočíselný rozsah se znaménkem. To znamená optimální využití sériového portu při práci s celými čísly (technicky používáme trochu více místa pro kontrolní součet). Dobré pro Instructables GUI vám umožňuje vytvářet Instructables, které vyžadují pouze základní komponenty. Další komponenty, jako jsou potmetry atd., Lze vytvářet virtuálně pomocí GUI. Omezení a plány do budoucna Právě teď byla aplikace kompilována pro platformu Mac OSX a Windows. Je napsán v Openframeworks, takže by měl být schopen běžet i na jiných platformách. Protože aplikace používá sériový port, nebudete moci k Arduinu připojit další programy. To bude vyřešeno v budoucí verzi, která bude zahrnovat Open Sound Control a Midi můstek. Credits: Programming and idea by: Mads Hobye Easytransfer library by: Bill Porter GUI library by: Reza Ali
Krok 1: Začínáme
- Stáhněte a rozbalte balíček GUINO.
- Stáhněte si Arduino
- Zkopírujte složku knihoven do složky knihoven Arduino (postup zde)
- Restartujte Arduino.
- Otevřete jeden z příkladů v Arduinu. (Nabídka: Soubory -> Příklady -> Guino -> vyberte jeden)
- Pokud použijete jednoduchý příklad, vytvořte obvod podle obrázku výše.
- Nahrajte příklad.
- Spusťte aplikaci Guino.
- Vyberte sériový port (obvykle poslední)
- Stiskněte připojit.
Zdroj najdete zde.
DŮLEŽITÉ: Při použití na platformě Windows musíte použít com port, který je nižší nebo roven 10. Pokud používáte port, který je vyšší než 10, systém nebude fungovat. Toto je chyba v openframeworks.
Krok 2: Jak upravit kód
Aby knihovna pracovala s vaším náčrtem, potřebujete několik dalších metod. Níže jsem je popsal: gInit () zde definujete své rozvržení Tato metoda definuje rozvržení postupným přidáváním komponent. Komponenty, které lze měnit (posuvník, tlačítka atd.), Mají připojenou proměnnou. & Před proměnnou znamená, že nechceme předat hodnotu v proměnné, ale chceme předat odkaz (ukazatel) na proměnnou. Tímto způsobem je systém Guino automaticky aktualizuje, když dojde ke změnám v GUI. void gInit () {gAddLabel ("SLIDERS", 1); gAddSpacer (1); gAddSlider (3, 200, "ŠÍŘKA" a šířka); gAddSlider (3, 200, „VÝŠKA“a výška); gAddSlider (0, 255, "LED BRIGHTNESS", & ledLight); // Rotační posuvníky gAddLabel ("ROTARY SLIDERS", 1); gAddSpacer (1); [………….] GAddColumn (); // Zde přidejte další věci. gSetColor (r, g, b); // Nastavte barvu rozhraní gui. } GButtonPressed (int id) toto se nazývá vždy, když bylo stisknuto tlačítko Obecně lze proměnné aktualizovat automaticky, ale v případě tlačítka to musí být událost, o kterou se staráte. V tomto případě nastavíme proměnnou výšky na 100, když někdo stiskne tlačítko. neplatné gButtonPressed (int id) {if (buttonId == id) {výška = 100; gUpdateValue (& výška); }} gItemUpdated (int id) Toto se nazývá kdykoli a položka byla aktualizována Obvykle to není nutné používat, protože systém bude proměnné aktualizovat automaticky. Pokud chcete na změnu reagovat, můžete ji použít jako takovou. V tomto případě aktualizujeme barvu pozadí vždy, když byl změněn jeden ze 3 otočných posuvníků. neplatné gItemUpdated (int id) {if (rotaryRID = id || rotaryGID == id || rotaryBID == id) {gSetColor (r, g, b); }}
Krok 3: Několik rychlých tipů
Nezapomeňte se odpojit při nahrávání nové skici Při nahrávání nové skici na desku Arduino nemůžete mít spuštěno Guino, protože používají stejné sériové připojení. To vyžaduje, abyste se odpojili pokaždé, když nahrajete novou skicu. Pokud se (a budete) pokusit nahrát, když je připojeno Guino, deska se může dostat do nějakého podivného stavu, kdy běží, ale ne tak docela. V tuto chvíli je vaší jedinou možností resetovat desku stisknutím tlačítka reset nebo odpojením a opětovným připojením kabelu USB. Známé chyby Od této chvíle systém funguje a je stabilní. Následují chyby, kterých byste si měli být vědomi:
- setMin nefunguje na movingGraph (zdá se, že v knihovně GUI je chyba, kterou je třeba opravit). Minimum tedy zůstává na nule.
- Sériový seznam se načte při spuštění programu. Před spuštěním programu musí být Arduino zapojeno. Obnovení seznamu pořadů za běhu způsobí špatnou událost. Musí se to ještě vyřešit.
- Fiddling se sériovým seznamem - někdy způsobí selhání programu (stejná událost GUI jako aktualizace - musíte najít zdroj)
- Přepínací pozadí tlačítek zčerná v závislosti na inicializaci. Potřebuji nastavit pozadí ručně.
- Na některých platformách Windows se port com nezobrazuje. Může být problém s ovladačem ftdi.
Krok 4: Použijte případy
Pokud chcete vidět nějaké případy použití s rozhraním Guino, přejděte na tento Instructable.
Doporučuje:
NAS-pi: Ultimate Box pro vaše PLEX, DLNA a NAS Pleasures: 5 kroků (s obrázky)
NAS-pi: Konečný box pro vaše PLEX, DLNA a NAS potěšení: Ahoj, lidi! Dnes si vytvoříme opravdového vzhledu! Úložiště připojené k síti Raspberry Pi s funkcí streamování médií! Raspberry Pi 3 & Kompatibilní s Raspberry Pi 2! Tato sestava je dodávána se serverem RAID1 160 GB a serverem PLEX s kapacitou 1,4 TB. Vynikající
Duhové LED diody pro vaše projekty: 4 kroky (s obrázky)
Duhové LED diody pro vaše projekty: Ahoj všichni! Používal jsem tyto LED diody pro mnoho dekorativních projektů a výsledek je vždy úžasný, takže se s vámi chci podělit o své zkušenosti Viděl jsem mnoho lidí, kteří si kupují RGB LED páskové ovladače a používají jako 3 nebo 5 na režim změny barvy, jen aby
TripComputer - GPS palubní počítač a modul počasí pro vaše vozidlo: 11 kroků (s obrázky)
TripComputer - GPS palubní počítač a modul počasí pro vaše vozidlo: Skvělý projekt maliny pi, který využívá modul GPS Breakout a 2 malé displeje Digole, aby měl na palubní desce navigační počítač
Vytvořte napájecí zdroj pro vaše kytarové pedály: 7 kroků (s obrázky)
Vytvořte napájecí zdroj pro vaše kytarové pedály: DŮLEŽITÁ POZNÁMKA: ELEKTRICKÁ ENERGIE JE NEBEZPEČNÁ! NEPOKOUŠEJTE SE O TENTO PROJEKT BEZ SPRÁVNÝCH ZNALOSTÍ A BEZPEČNÉHO VZDĚLÁVÁNÍ TÝKAJÍCÍCH SE PRÁCE S HLAVNÍ ELEKTRICKOU NAPĚTÍ! MŮŽE A ZABÍT VÁS! DOMÁCÍ ELEKTRICKÉ PŘEDMĚTY S POUŽITÍM HLAVNÍ NAPÁJENÍ BY NEMĚLY
Jak přeměnit vázu IKEA na nabíjecí stanici pro vaše gadgety: 4 kroky (s obrázky)
Jak přeměnit vázu IKEA na nabíjecí stanici pro vaše gadgety: … jednoduchý nápad s ještě jednodušším přístupem … ~ PŘÍBĚH ~ Bydlím v malém bytě a vlastním několik malých zařízení, která jsou energeticky chamtivá. V minulosti jsem se pokusil věnovat nějaký prostor poblíž zásuvky ve zdi, nabít je