Përmbajtje:

Guino: Paneli për Arduino -n tuaj: 4 hapa (me fotografi)
Guino: Paneli për Arduino -n tuaj: 4 hapa (me fotografi)

Video: Guino: Paneli për Arduino -n tuaj: 4 hapa (me fotografi)

Video: Guino: Paneli për Arduino -n tuaj: 4 hapa (me fotografi)
Video: Sunflower Solar Tracker system #solar #solartracker #arduino #diyprojects #electronic 2024, Qershor
Anonim
Guino: Paneli i kontrollit për Arduino -n tuaj
Guino: Paneli i kontrollit për Arduino -n tuaj
Guino: Paneli i kontrollit për Arduino -n tuaj
Guino: Paneli i kontrollit për Arduino -n tuaj
Guino: Paneli i kontrollit për Arduino -n tuaj
Guino: Paneli i kontrollit për Arduino -n tuaj
Guino: Paneli i kontrollit për Arduino -n tuaj
Guino: Paneli i kontrollit për Arduino -n tuaj

Ky projekt është pjesë e eksperimenteve të bëra gjatë bërjes së një artisti në vendbanimin në Instructables. Projektet e tjera mund t’i shihni këtu. Mund të jetë një detyrë e ndërlikuar të korrigjoni dhe vizualizoni të dhënat në kohë reale në tabelën Arduino. Zakonisht jeni të mbërthyer me daljen serike standarde, pasi kompleksiteti i kodit tuaj Arduino rritet, kjo e bën të pamundur të kuptosh atë që po ndodh në të vërtetë brenda tabelës. Për të zgjidhur këtë, unë kam krijuar një bibliotekë të vogël që do t'ju mundësojë të krijoni GUI tuaj të personalizuar për projektet tuaja Arduino. Shikoni këtë video për të marrë një demonstrim të një bote të përshëndetjes bazë me një tenxhere dhe një diodë: Deri tani, programi ka mundësitë dhe veçoritë e mëposhtme: Dizajnoni me porosi ndërfaqen tuaj nga tabela Arduino Ju përcaktoni se cilat rrëshqitës, grafikë dhe butona ju nevojiten për ndërfaqen tuaj. Ju e bëni këtë në skicën tuaj Arduino që do të thotë se programi gui vepron si skllav i skicës. I gjithë informacioni ruhet në tabelën tuaj. Vizualizoni dhe manipuloni të dhënat në kohë reale Pavarësisht nëse jeni duke bërë një kontrollues drite RGB ose një krah robot, marrja e një reagimi grafik është thelbësore për të kuptuar se çfarë po ndodh brenda tabelës. Kjo ju mundëson të kuptoni nëse është hardueri juaj ose kodi që po shkakton problem. Më tej rrëshqitësit dhe butonat ju mundësojnë të ndryshoni parametrat individualë në kohë reale. Në këtë mënyrë ju mund të shihni se çfarë efekti kanë pragjet e ndryshme në ndërveprim. Ruani parametrat në kujtesën e bordeve Kur të keni ndryshuar parametrat, mund t'i ruani ato në EEP nga bordi. Parametrat do të ngarkohen automatikisht herën tjetër kur të ndizni bordin, edhe nëse kompjuteri nuk është i lidhur. Përdorni të njëjtin aplikacion për të gjitha projektet tuaja Arduino, kam bërë shumë aplikacione të vogla për projekte të ndryshme. Problemi im është që t'i gjej përsëri një vit më vonë. Për shkak se ne ruajmë gjithçka në Arduino, më duhet vetëm të mbaj një aplikacion rreth Arduino që automatikisht do të konfigurojë aplikacionin për projektin aktual. Prototipi i ndërfaqes para se të ndizni hekurin e saldimit, sepse ju mund të krijoni gui -në ashtu siç ju pëlqen (brenda arsyeshme kufijtë), mund të prototiponi ndërfaqen para se të keni bërë një ndërfaqe fizike. Kjo gjithashtu ju mundëson të ndani detyrat midis njerëzve të shumtë p.sh. një person është duke punuar në harduer dhe një person tjetër është duke punuar në kod. Kur të keni bërë ndërfaqen fizike, Guino do të integrohet pa probleme. Përdoreni atë si pult të ekranit të plotë Mund ta përdorni si pult të ekranit të plotë duke shtypur F dhe duke shtypur T ndryshon dukshmërinë e panelit të cilësimeve. Në këtë mënyrë ju prezantoni vetëm ndërfaqen tuaj të personalizuar për botën përreth jush. Kontrolloni ngjyrën e sfondit Ngjyra e sfondit mund të kontrollohet nga Arduino kjo ju mundëson të krijoni ngjyra të ndryshme për skica të ndryshme. Gjithashtu mund të përdoret për të bërë paralajmërime kur diçka nuk është në rregull. Mund të jetë e gjelbër kur gjithçka është në rregull dhe e kuqe kur diçka nuk është në rregull. Shpejt dhe Slim jam kujdesur shumë për ta bërë gjurmën në Arduino sa më të vogël të jetë e mundur - Ajo ruan vetëm një sasi minimale të të dhënave në kujtesë (konkretisht një tregues një listë prej 100 artikujsh). Ky cilësim mund të ndryshohet në më të ulët ose më të lartë në varësi të sasisë së artikujve gui që keni ndërmend të keni në ndërfaqen tuaj. Më tej sistemi mbështetet në bibliotekën EasyTransfer e cila transferon informacionin në formë binare. Çdo paketë përbëhet nga një bajt për komandën, një bajt për artikullin # dhe një numër të plotë për vlerën. Në mënyrë ideale, të gjitha të dhënat tuaja duhet të normalizohen në një gamë të plotë të nënshkruar 16 bit. Kjo do të thotë përdorim optimal i portës serike kur punoni me numra të plotë (teknikisht ne përdorim pak hapësirë shtesë për një kontroll). I mirë për instruksionet GUI ju mundëson të bëni Instructables që kërkojnë vetëm përbërësit kryesorë. Komponentët shtesë si potmeters etj mund të bëhen virtualisht përmes gui. Kufizimet dhe planet e ardhshme Tani për tani aplikacioni është përpiluar në platformën Mac OSX dhe Windows. Isshtë shkruar në Openframeworks kështu që duhet të jetë në gjendje të ekzekutohet edhe në platforma të tjera. Meqenëse aplikacioni po përdor portin serik, nuk do të jeni në gjendje të lidhni programe të tjera me Arduino. Kjo do të zgjidhet në një lëshim të ardhshëm i cili do të përfshijë një Kontroll të Zërit të Hapur dhe një urë Midi. Kredite: Programim dhe ide nga: Biblioteka Mads Hobye Easytransfer nga: Bill Porter biblioteka GUI nga: Reza Ali

Hapi 1: Fillimi

Fillimi
Fillimi
Fillimi
Fillimi
  • Shkarkoni dhe shpaketoni paketën GUINO.
  • Shkarkoni Arduino
  • Kopjoni dosjen e bibliotekave në dosjen tuaj të bibliotekave Arduino (si ta bëni këtu)
  • Rinisni Arduino.
  • Hapni një nga shembujt brenda Arduino. (Menyja: Skedarët -> Shembuj -> Guino -> zgjidhni një)
  • Nëse përdorni shembullin e thjeshtë atëherë bëni një qark siç ilustrohet më sipër.
  • Ngarko shembullin.
  • Drejtoni aplikacionin Guino.
  • Zgjidhni portën serike (zakonisht e fundit)
  • Shtyp lidh.

Burimi mund të gjendet këtu.

E RORTNDSISHME: Kur e përdorni në platformën Windows ju duhet të përdorni një port com i cili është më i ulët ose i barabartë me 10. Nëse përdorni një port që është 10 ose më i lartë sistemi nuk do të funksionojë. Ky është një defekt në kornizat e hapura.

Hapi 2: Si të modifikoni kodin

Si të modifikoni kodin
Si të modifikoni kodin

Që biblioteka të funksionojë me skicën tuaj, keni nevojë për disa metoda shtesë. Unë i kam përshkruar më poshtë: gInit () këtu ju përcaktoni paraqitjen tuaj. Kjo metodë përcakton paraqitjen duke shtuar komponentët në mënyrë radhazi. Komponentët që mund të ndryshohen (rrëshqitës, butona etj.) Kanë një variabël të bashkangjitur me të. & Para variablës do të thotë që ne nuk duam të kalojmë vlerën në variabël, por duam të kalojmë një referencë (tregues) te ndryshorja. Në këtë mënyrë sistemi Guino i përditëson ato automatikisht kur ndryshimet ndodhin në GUI. void gInit () {gAddLabel ("SLIDERS", 1); gAddSpacer (1); gAddSlider (3, 200, "WIDTH", & width); gAddSlider (3, 200, "HEIGHT", & height); gAddSlider (0, 255, "BRIGHTNESS LED", & ledLight); // Rrëshqitësit rrotullues gAddLabel ("Rrëshqitës rrotullues", 1); gAddSpacer (1); [………….] GAddColumn (); // Shtoni më shumë gjëra këtu. gSetColor (r, g, b); // Vendosni ngjyrën e ndërfaqes gui. } GButtonPressed (int id) kjo quhet sa herë që është shtypur një buton Në përgjithësi variablat mund të përditësohen automatikisht, por në rastin e një butoni duhet të jetë një ngjarje për të cilën kujdeseni. Në këtë shembull ne vendosim ndryshoren e lartësisë në 100 kur dikush shtyp butonin. void gButtonPressed (int id) {if (buttonId == id) {height = 100; gUpdateValue (& lartësia); }} gItemUpdated (int id) Kjo thirret sa herë dhe artikulli është përditësuar Zakonisht nuk është e nevojshme ta përdorni këtë pasi sistemi do të përditësojë variablat automatikisht. Nëse dëshironi të reagoni ndaj një ndryshimi, mund ta përdorni si të tillë. Në këtë rast ne po përditësojmë ngjyrën e sfondit sa herë që një nga 3 rrëshqitësit rrotullues është ndryshuar. void gItemUpdated (int id) {if (rotaryRID = id || rotaryGID == id || rotaryBID == id) {gSetColor (r, g, b); }}

Hapi 3: Disa Këshilla të Shpejta

Mos harroni të shkëputeni kur ngarkoni një skicë të re Ju nuk mund ta përdorni Guino -n gjatë ngarkimit të një skice të re në tabelën Arduino, sepse ata përdorin të njëjtën lidhje serike. Kjo kërkon që ju të shkëputeni sa herë që ngarkoni një skicë të re. Nëse ju (dhe do të përpiqeni) të ngarkoni ndërsa keni Guino të lidhur, bordi mund të kalojë në një gjendje të çuditshme ku funksionon, por jo plotësisht. Në këtë pikë, opsioni juaj i vetëm është të rivendosni bordin duke shtypur butonin e rivendosjes ose duke shkëputur dhe rilidhur kabllon usb. Gabimet e njohura Deri tani sistemi është duke punuar dhe i qëndrueshëm. Më poshtë janë gabimet që duhet të keni parasysh:

  • setMin nuk funksionon në një Graf lëvizës (duket se ka një defekt në bibliotekën GUI që duhet të rregullohet). Pra, minimumi qëndron në zero.
  • Lista seriale ngarkohet kur fillon programi. Arduino duhet të lidhet para fillimit të programit. Rifreskimi i listës serike gjatë ekzekutimit shkakton një ngjarje të keqe. Ende nuk është zgjidhur.
  • Përleshje me listën serike - ndonjëherë e bën programin të rrëzohet (e njëjta ngjarje gui si rifreskimi - duhet të gjesh burimin)
  • Ndryshimi i sfondit të butonave bëhet i zi në varësi të fillimit. Më duhet ta vendos sfondin me dorë.
  • Në disa platforma të dritareve porti com nuk shfaqet. Mund të jetë një çështje e shoferit ftdi.

Hapi 4: Rastet e përdorimit

Raste te perdorimit
Raste te perdorimit

Nëse dëshironi të shihni disa raste përdorimi me ndërfaqen Guino, shkoni te kjo Instructable.

Recommended: