Turinys:

Guino: „Arduino“prietaisų skydelis: 4 žingsniai (su nuotraukomis)
Guino: „Arduino“prietaisų skydelis: 4 žingsniai (su nuotraukomis)

Video: Guino: „Arduino“prietaisų skydelis: 4 žingsniai (su nuotraukomis)

Video: Guino: „Arduino“prietaisų skydelis: 4 žingsniai (su nuotraukomis)
Video: BTT - Manta M8P - TMC2208 2024, Birželis
Anonim
Guino: „Arduino“prietaisų skydelis
Guino: „Arduino“prietaisų skydelis
Guino: „Arduino“prietaisų skydelis
Guino: „Arduino“prietaisų skydelis
Guino: „Arduino“prietaisų skydelis
Guino: „Arduino“prietaisų skydelis
Guino: „Arduino“prietaisų skydelis
Guino: „Arduino“prietaisų skydelis

Šis projektas yra eksperimentų, atliktų dirbant menininkui „Instructables“, dalis. Kitus projektus galite pamatyti čia. Tai gali būti sudėtinga užduotis derinti ir vizualizuoti duomenis realiuoju laiku „Arduino“lentoje. Paprastai esate įstrigę su standartine serijine išvestimi, nes jūsų „Arduino“kodo sudėtingumas didina, todėl neįmanoma suprasti, kas iš tikrųjų vyksta lentos viduje. Norėdami tai išspręsti, sukūriau nedidelę biblioteką, kuri leis jums sukurti savo pasirinktinę GUI savo „Arduino“projektams. Peržiūrėkite šį vaizdo įrašą, kad pamatytumėte pagrindinį sveikinimo pasaulį su potmetru ir diodu: Nuo šiol programa turi šias galimybes ir funkcijas: Individualus jūsų sąsajos dizainas iš „Arduino“plokštės Jūs nustatote, kokių slankiklių, grafikų ir mygtukų jums reikia jūsų sąsajai. Tai darote savo „Arduino“eskize, o tai reiškia, kad „gui“programa veikia kaip eskizo vergas. Visa informacija saugoma jūsų lentoje. Vizualizuokite ir manipuliuokite realiu laiku esančiais duomenimis Nesvarbu, ar darote RGB šviesos valdiklį, ar robotą ranką, norint suprasti, kas vyksta lentos viduje, labai svarbu gauti grafinį grįžtamąjį ryšį. Tai leidžia jums suprasti, ar problemą sukelia jūsų aparatinė įranga, ar kodas. Be to, slankikliai ir mygtukai leidžia koreguoti atskirus parametrus realiuoju laiku. Tokiu būdu galite pamatyti, kokią įtaką sąveikai turi skirtingi slenksčiai. Parametrų išsaugojimas lentų atmintyje Kai pataisysite parametrus, galite juos išsaugoti lentos EEProm. Parametrai bus automatiškai įkeliami kitą kartą įjungus plokštę, net jei kompiuteris nėra prijungtas. Visiems „Arduino“projektams naudokite tą pačią programą, aš sukūriau daugybę mažų programų skirtingiems projektams. Mano problema visada yra juos vėl rasti po metų. Kadangi mes išsaugome viską „Arduino“, man tereikia išlaikyti vieną programą aplink „Arduino“, programa automatiškai sukonfigūruos dabartinio projekto programą. Prieš įjungdami lituoklį, sukurkite sąsajos prototipą, nes galite suprojektuoti gui taip, kaip jums patinka (per pagrįstą ribos), galite sukurti prototipą sąsajai dar prieš sukurdami fizinę sąsają. Tai taip pat leidžia jums padalyti užduotis tarp kelių žmonių, pvz. vienas žmogus dirba su aparatūra, o kitas - su kodu. Sukūrę fizinę sąsają, „Guino“sklandžiai integruosis. Naudokite jį kaip viso ekrano prietaisų skydelį Galite naudoti jį kaip viso ekrano prietaisų skydelį, paspausdami F ir paspausdami T, kad perjungtumėte nustatymų skydelio matomumą. Jūs pateikiate tik savo pasirinktą sąsają aplinkiniam pasauliui. Fono spalvos valdymas Fono spalvą galima valdyti naudojant „Arduino“, todėl galite sukurti skirtingas spalvas skirtingiems eskizams. Jis taip pat gali būti naudojamas įspėti, kai kažkas negerai. Jis gali būti žalias, kai viskas gerai, ir raudonas, kai kažkas negerai. Greitas ir plonas Aš labai stengiausi, kad „Arduino“pėdsakas būtų kuo mažesnis - atmintyje saugomas tik minimalus duomenų kiekis (konkrečiai rodyklė 100 elementų sąrašas). Šis nustatymas gali būti pakeistas į mažesnį arba aukštesnį, atsižvelgiant į tai, kiek „gui“elementų ketinate turėti savo sąsajoje. Be to, sistema remiasi „EasyTransfer“biblioteka, kuri perduoda informaciją dvejetaine forma. Kiekvieną paketą sudaro komandos baitas, elemento # baitas ir vertė. Idealiu atveju visi jūsų duomenys turėtų būti normalizuoti iki 16 bitų pasirašyto sveiko skaičiaus diapazono. Tai reiškia optimalų serijinio prievado naudojimą dirbant su sveikais skaičiais (techniškai mes naudojame šiek tiek papildomos vietos kontrolinei sumai). Tinka „Instructables“GUI leidžia jums sukurti „Instructables“, kuriai reikalingi tik pagrindiniai komponentai. Papildomus komponentus, tokius kaip potmetrai ir kt., Galima pagaminti praktiškai naudojant „gui“. Apribojimai ir ateities planai Šiuo metu programa buvo sukurta „Mac OSX“ir „Windows“platformoms. Jis parašytas „Openframeworks“, todėl jis turėtų veikti ir kitose platformose. Kadangi programa naudoja nuoseklųjį prievadą, prie „Arduino“negalėsite prijungti kitų programų. Tai bus išspręsta būsimame leidime, kuriame bus „Open Sound Control“ir „Midi bridge“. Kreditai: Programavimas ir idėja: Mads Hobye Easytransfer biblioteka pagal: Bill Porter GUI biblioteka pagal: Reza Ali

1 žingsnis: Darbo pradžia

Darbo pradžia
Darbo pradžia
Darbo pradžia
Darbo pradžia
  • Atsisiųskite ir išpakuokite GUINO paketą.
  • Atsisiųskite „Arduino“
  • Nukopijuokite bibliotekų aplanką į „Arduino“bibliotekų aplanką (kaip čia)
  • Iš naujo paleiskite „Arduino“.
  • Atidarykite vieną iš „Arduino“pavyzdžių. (Meniu: failai -> Pavyzdžiai -> Guino -> pasirinkite vieną)
  • Jei naudojate paprastą pavyzdį, sukurkite grandinę, kaip parodyta aukščiau.
  • Įkelkite pavyzdį.
  • Paleiskite „Guino“programą.
  • Pasirinkite nuoseklųjį prievadą (paprastai paskutinį)
  • Paspauskite prisijungti.

Šaltinį rasite čia.

SVARBU: Naudodami jį „Windows“platformoje, turite naudoti kom prievadą, kuris yra mažesnis arba lygus 10. Jei naudojate 10 ar didesnį prievadą, sistema neveiks. Tai „openframeworks“klaida.

2 veiksmas: kaip pakeisti kodą

Kaip pakeisti kodą
Kaip pakeisti kodą

Kad biblioteka galėtų dirbti su jūsų eskizu, jums reikia kelių papildomų metodų. Aš juos aprašiau žemiau: gInit () čia jūs apibrėžiate savo išdėstymą Šis metodas apibrėžia išdėstymą pridedant komponentus paeiliui. Prie komponentų, kuriuos galima keisti (slankiklis, mygtukai ir pan.), Yra kintamasis. Prieš kintamąjį esantis & reiškia, kad nenorime perduoti kintamojo vertės, bet norime perduoti kintamajam nuorodą (žymeklį). Tokiu būdu „Guino“sistema juos automatiškai atnaujina, kai pasikeičia GUI. void gInit () {gAddLabel („SLIDERIAI“, 1); „gAddSpacer“(1); gAddSlider (3, 200, "PLOTIS", plotis); „gAddSlider“(3, 200, „AUKŠTIS“ir aukštis); gAddSlider (0, 255, „LED BRIGHTNESS“, & ledLight); // Sukamieji slankikliai gAddLabel ("ROTARY SLIDERS", 1); „gAddSpacer“(1); [………….] GAddColumn (); // Čia pridėkite daugiau dalykų. „gSetColor“(r, g, b); // Nustatykite „gui“sąsajos spalvą. } GButtonPressed (int id) tai iškviečiama kaskart paspaudus mygtuką Paprastai kintamieji gali būti atnaujinami automatiškai, tačiau mygtuko atveju tai turi būti įvykis, kuriuo rūpinatės. Šiame pavyzdyje mes nustatome aukščio kintamąjį į 100, kai kas nors paspaudžia mygtuką. void gButtonPressed (int id) {if (buttonId == id) {height = 100; gUpdateValue (& aukštis); }} gItemUpdated (int id) Tai iškviečiama kiekvieną kartą ir elementas atnaujinamas Paprastai to naudoti nereikia, nes sistema automatiškai atnaujins kintamuosius. Jei norite reaguoti į pakeitimą, galite jį naudoti kaip tokį. Šiuo atveju mes atnaujiname fono spalvą, kai tik pakeičiamas vienas iš 3 sukamųjų slankiklių. void gItemUpdated (int id) {if (rotaryRID = id || rotaryGID == id || rotaryBID == id) {gSetColor (r, g, b); }}

3 žingsnis: keletas greitų patarimų

Įkeldami naują eskizą nepamirškite atsijungti Įkeldami naują eskizą į „Arduino“plokštę, „Guino“negali veikti, nes jie naudoja tą patį nuoseklųjį ryšį. Tam reikia atsijungti kiekvieną kartą, kai įkeliate naują eskizą. Jei bandysite įkelti (ir bandysite) prijungę „Guino“, lenta gali pereiti į keistą būseną, kurioje ji veikia, bet ne visai. Šiuo metu jūsų vienintelė galimybė yra iš naujo nustatyti plokštę paspaudus atstatymo mygtuką arba atjungiant ir vėl prijungus USB kabelį. Žinomos klaidos Kol kas sistema veikia ir veikia stabiliai. Toliau pateikiamos klaidos, kurias reikia žinoti:

  • „setMin“neveikia „moveGraph“(atrodo, kad GUI bibliotekoje yra klaida, kurią reikia ištaisyti). Taigi minimalus lieka nulis.
  • Serijos sąrašas įkeliamas paleidžiant programą. Prieš paleidžiant programą, „Arduino“reikia prijungti. Serijų sąrašo atnaujinimas bėgimo metu sukelia blogą įvykį. Jis dar turi būti išspręstas.
  • Susidūrimas su serijų sąrašu - kartais programa sugenda (tas pats „gui“įvykis kaip ir atnaujinimas - reikia rasti šaltinį)
  • Perjungimo mygtukų fonas tampa juodas, priklausomai nuo inicijavimo. Turiu rankiniu būdu nustatyti foną.
  • Kai kuriose „Windows“platformose kom portas nerodomas. Gali būti ftdi tvarkyklės problema.

4 žingsnis: Naudojimo dėklai

Naudojimo atvejai
Naudojimo atvejai

Jei norite pamatyti kai kuriuos naudojimo atvejus su „Guino“sąsaja, eikite į šią instrukciją.

Rekomenduojamas: