Sadržaj:
- Korak 1: Početak
- Korak 2: Kako izmijeniti kôd
- Korak 3: Nekoliko brzih savjeta
- Korak 4: Koristite slučajeve
Video: Guino: Nadzorna ploča za vaš Arduino: 4 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
Ovaj projekt je dio eksperimenata izvedenih dok je umjetnik radio u rezidenciji Instructables. Ostale projekte možete pogledati ovdje. Otklanjanje grešaka i vizualizacija podataka u stvarnom vremenu na Arduino ploči može biti težak zadatak. Obično ste zaglavljeni sa standardnim serijskim izlazom, jer složenost vašeg Arduino koda raste, zbog čega je nemoguće shvatiti šta se zapravo dešava na ploči. Da bih riješio ovo, stvorio sam malu biblioteku koja će vam omogućiti da kreirate vlastiti prilagođeni GUI za vaše Arduino projekte. Pogledajte ovaj video da biste dobili demonstraciju osnovnog hello svijeta sa metrom mjerača i diodom: Od sada program ima sljedeće mogućnosti i značajke: Prilagođeno oblikovanje vašeg sučelja s Arduino ploče Određujete koje klizače, grafikone i gumbe trebate za vaš interfejs. To radite u svojoj Arduino skici, što znači da gui program djeluje kao rob skice. Sve informacije su pohranjene na vašoj ploči. Vizualizirajte i manipulirajte podacima u stvarnom vremenu Bilo da pravite RGB kontroler svjetla ili ruku robota, dobijanje grafičke povratne informacije ključno je za razumijevanje onoga što se događa na ploči. To vam omogućuje da shvatite da li problem uzrokuje vaš hardver ili kôd. Nadalje, klizači i tipke omogućuju vam da prilagodite pojedinačne parametre u stvarnom vremenu. Na ovaj način možete vidjeti kakav učinak različiti pragovi imaju na interakciju. Spremite parametre u memoriju ploče. Kada ste podesili parametre, možete ih spremiti u EEProm ploče. Parametri će se automatski učitati sljedeći put kada uključite ploču, čak i ako računar nije spojen. Koristite istu aplikaciju za sve svoje Arduino projekte. Napravio sam tone malih aplikacija za različite projekte. Moj problem je uvijek ih pronaći ponovo godinu dana kasnije. Budući da sve spremamo u Arduino, potrebno mi je samo držati jednu aplikaciju u blizini. Arduino će automatski konfigurirati aplikaciju za trenutni projekt. Prototipirajte sučelje prije nego što uključite lemilicu jer možete dizajnirati gui kako vam se sviđa (u razumnom roku) ograničenja), možete prototipirati sučelje prije nego što napravite fizičko sučelje. Ovo vam također omogućuje da podijelite zadatke između više ljudi, npr. jedna osoba radi na hardveru, a druga na kodu. Kada napravite fizičko sučelje, Guino će se bez problema integrirati. Koristite ga kao nadzornu ploču preko cijelog ekrana Možete ga koristiti kao nadzornu ploču preko cijelog ekrana pritiskom na F i pritiskom na T mijenja se vidljivost ploče s postavkama. Ovim samo predstavljate svoje prilagođeno sučelje za svijet oko vas. Kontrolirajte boju pozadine Bojom pozadine možete upravljati iz Arduina, što vam omogućuje stvaranje različitih boja za različite skice. Može se koristiti i za upozoravanje kada nešto nije u redu. Može biti zeleno kad je sve u redu i crveno kad nešto nije u redu. Brzo i tanko Učinio sam veliku brigu o tome da otisak na Arduinu bude što manji - u memoriju se pohranjuje samo minimalna količina podataka (konkretno pokazivač spisak od 100 artikala). Ova postavka se može promijeniti na nižu ili višu, ovisno o količini gui stavki koje namjeravate imati u svom sučelju. Nadalje, sistem se oslanja na biblioteku EasyTransfer koja prenosi informacije u binarnom obliku. Svaki paket se sastoji od bajta za naredbu, bajta za stavku # i cijelog broja za vrijednost. U idealnom slučaju, svi vaši podaci trebaju biti normalizirani na 16 -bitni cijeli niz s predznakom. To znači optimalnu upotrebu serijskog porta pri radu s cijelim brojevima (tehnički koristimo malo više prostora za kontrolni zbroj). Dobro za instrukcije GUI vam omogućava da napravite instrukcije za koje su potrebne samo osnovne komponente. Dodatne komponente, poput mjerača udaljenosti, itd. Mogu se izraditi gotovo putem gui -a. Ograničenja i budući planovi Aplikacija je trenutno kompajlirana na Mac OSX i Windows platformi. Napisan je u Openframeworks -u pa bi trebao biti u mogućnosti raditi i na drugim platformama. Budući da aplikacija koristi serijski port, nećete moći povezati druge programe s Arduinom. To će biti riješeno u budućem izdanju koje će uključivati Open Sound Control i Midi most. Zasluge: Programiranje i ideja: Mads Hobye Easytransfer biblioteka: Bill Porter GUI biblioteka: Reza Ali
Korak 1: Početak
- Preuzmite i raspakirajte GUINO paket.
- Preuzmite Arduino
- Kopirajte fasciklu biblioteka u fasciklu Arduino biblioteke (kako ovdje)
- Ponovo pokrenite Arduino.
- Otvorite jedan od primjera u Arduinu. (Meni: Datoteke -> Primjeri -> Guino -> odaberite jednu)
- Ako koristite jednostavan primjer, napravite krug kao što je gore prikazano.
- Prenesite primjer.
- Pokrenite aplikaciju Guino.
- Odaberite serijski port (obično posljednji)
- Pritisnite Connect.
Izvor možete pronaći ovdje.
VAŽNO: Kada ga koristite na Windows platformi, morate koristiti com port koji je manji ili jednak 10. Ako koristite port koji je 10 ili veći, sistem neće raditi. Ovo je greška u otvorenim okvirima.
Korak 2: Kako izmijeniti kôd
Da bi biblioteka radila sa vašom skicom, trebate nekoliko dodatnih metoda. Opisao sam ih u nastavku: gInit () Ovdje definirate svoj izgled. Ova metoda definira izgled dodavanjem komponenti uzastopno. Komponente koje se mogu mijenjati (klizač, tipke itd.) Imaju pridruženu varijablu. & Ispred varijable znači da ne želimo proslijediti vrijednost u varijabli, ali želimo proslijediti referencu (pokazivač) na varijablu. Na ovaj način Guino sistem ih automatski ažurira kada dođe do promjena u grafičkom sučelju. void gInit () {gAddLabel ("SLIDERS", 1); gAddSpacer (1); gAddSlider (3, 200, "WIDTH", & width); gAddSlider (3, 200, "HEIGHT", & height); gAddSlider (0, 255, "LED BRIGHTNESS", & ledLight); // Okretni klizači gAddLabel ("ROTAJANSKI KLIZNICI", 1); gAddSpacer (1); [………….] GAddColumn (); // Ovdje dodajte još stvari. gSetColor (r, g, b); // Postavljanje boje gui sučelja. } GButtonPressed (int id) ovo se poziva kad god je dugme pritisnuto Općenito se varijable mogu automatski ažurirati, ali u slučaju dugmeta to mora biti događaj o kojem morate voditi računa. U ovom primjeru postavljamo varijablu visine na 100 kada neko pritisne dugme. void gButtonPressed (int id) {if (buttonId == id) {height = 100; gUpdateValue (& height); }} gItemUpdated (int id) Ovo se poziva kad god je stavka ažurirana. Obično nije potrebno ovo koristiti jer će sistem automatski ažurirati varijable. Ako želite reagirati na promjenu, možete je koristiti kao takvu. U ovom slučaju ažuriramo boju pozadine kad god je promijenjen jedan od 3 rotacijska klizača. void gItemUpdated (int id) {if (rotaryRID = id || rotaryGID == id || rotaryBID == id) {gSetColor (r, g, b); }}
Korak 3: Nekoliko brzih savjeta
Ne zaboravite prekinuti vezu prilikom postavljanja nove skice. Ne možete pokrenuti Guino dok učitavate novu skicu na Arduino ploču jer koriste istu serijsku vezu. Ovo zahtijeva da se prekinete svaki put kada postavite novu skicu. Ako (i hoćete) pokušate učitati dok je Guino povezan, ploča može ući u neko čudno stanje u kojem radi, ali ne baš. U ovom trenutku vaša jedina mogućnost je resetiranje ploče pritiskom na tipku za resetiranje ili odspajanjem i ponovnim priključivanjem USB kabela. Poznate greške Od sada sistem radi i stabilan je. Ovo su greške kojih morate biti svjesni:
- setMin ne radi na movingGraph -u (čini se da postoji greška u GUI biblioteci koju je potrebno popraviti). Dakle, minimum ostaje na nuli.
- Serijska lista se učitava pri pokretanju programa. Arduino mora biti priključen prije pokretanja programa. Osvježavanje serijske liste tijekom rada uzrokuje loš događaj. To još nije riješeno.
- Petljanje po serijskoj listi - ponekad dovede do pada programa (isti gui događaj kao osvježavanje - morate pronaći izvor)
- Pozadina dugmadi za uključivanje / isključivanje postaje crna u zavisnosti od inicijalizacije. Moram ručno postaviti pozadinu.
- Na nekim Windows platformama com port se ne prikazuje. Možda je problem u ftdi upravljačkom programu.
Korak 4: Koristite slučajeve
Ako želite vidjeti neke slučajeve upotrebe s Guino sučeljem, idite na ovaj Instructable.
Preporučuje se:
Tasmota Admin - IIoT nadzorna ploča: 6 koraka
Tasmota Admin - IIoT nadzorna ploča: TasmoAdmin je administrativna web stranica za uređaje sa Tasmotom. Možete ga pronaći ovdje: TasmoAdmin GitHub. Podržava pokretanje na Windows, Linux i Docker kontejnerima. OsobineLogin protectedMulti Update ProcessOdaberite uređaje za ažuriranje Autom
Nadzorna ploča za motocikle Raspberry Pi: 9 koraka (sa slikama)
Nadzorna ploča za motocikle Raspberry Pi: Kao student Multimedija & Komunikacijska tehnologija u Howest Kortrijku, morao sam napraviti vlastiti IoT projekt. Ovo bi kombiniralo sve module koji su uslijedili u prvoj godini u jedan veliki projekat. Budući da u slobodno vrijeme često vozim motor
Nadzorna ploča API -ja za kvalitetu zraka AirVisual: 5 koraka
AirVisual Nadzorna ploča API -ja za kvalitetu zraka: AirVisual (https://www.airvisual.com) je web stranica koja pruža podatke o kvaliteti zraka u cijelom svijetu. Imaju API koji ćemo koristiti za dobivanje podataka o kvaliteti zraka za slanje na nadzornu ploču. Mi ćemo komunicirati s ovim API -jem slično onome što smo radili s našim
LTE Arduino GPS praćenje + IoT nadzorna ploča (1. dio): 6 koraka (sa slikama)
LTE Arduino GPS Tracker + IoT Dashboard (1. dio): UvodŠta ima ljudi! Ovaj Instructable nastavak je mog prvog Instructable-a o korištenju Botletics LTE/NB-IoT štita za Arduino, pa ako već niste, pročitajte ga da biste dobili dobar pregled o tome kako koristiti štit i šta je sve to
LTE Arduino GPS praćenje + IoT nadzorna ploča (2. dio): 6 koraka (sa slikama)
LTE Arduino GPS praćenje + IoT nadzorna ploča (2. dio): Uvod & Prvi dio RecapYup, vrijeme je za još jedan Instructable na SIM7000 GPS tracker s Arduinom i LTE -om! Ako već niste, pročitajte vodič za početak rada za Botletics SIM7000 CAT-M/NB-IoT štit, a zatim pročitajte na Pa