Բովանդակություն:

Guino: Ձեր Arduino- ի վահանակ. 4 քայլ (նկարներով)
Guino: Ձեր Arduino- ի վահանակ. 4 քայլ (նկարներով)

Video: Guino: Ձեր Arduino- ի վահանակ. 4 քայլ (նկարներով)

Video: Guino: Ձեր Arduino- ի վահանակ. 4 քայլ (նկարներով)
Video: № 147: Ներդրվող ծրագրեր: Լյառվաներ: Աստրալ մակաբույծներ: 2024, Նոյեմբեր
Anonim
Guino: Ձեր Arduino- ի վահանակ
Guino: Ձեր Arduino- ի վահանակ
Guino: Ձեր Arduino- ի վահանակ
Guino: Ձեր Arduino- ի վահանակ
Guino: Ձեր Arduino- ի վահանակ
Guino: Ձեր Arduino- ի վահանակ
Guino: Ձեր Arduino- ի վահանակ
Guino: Ձեր Arduino- ի վահանակ

Այս նախագիծը փորձերի մի մասն է, որը կատարվել է Instructables- ում բնակվող նկարիչ կատարելիս: Մյուս նախագծերը կարող եք տեսնել այստեղ: Arduino- ի տախտակի վրա իրական ժամանակում տվյալները կարգաբերելն ու պատկերացնելը կարող է բարդ խնդիր լինել: Դուք սովորաբար խրված եք ստանդարտ սերիական թողարկման հետ, քանի որ ձեր Arduino կոդի բարդությունը մեծանում է, ինչը անհնար է դարձնում հասկանալ, թե ինչ է իրականում կատարվում տախտակի ներսում: Սա լուծելու համար ես ստեղծել եմ մի փոքրիկ գրադարան, որը հնարավորություն կտա ձեզ ստեղծել ձեր անհատականացված GUI ձեր Arduino նախագծերի համար: Դիտեք այս տեսահոլովակը ՝ ցուցադրելու համար հիմնական բարև աշխարհի զարկերակաչափով և դիոդով: Այս պահի դրությամբ ծրագիրը ունի հետևյալ հնարավորություններն ու հնարավորությունները. Պատվերով ձևավորեք ձեր ինտերֆեյսը Arduino- ի տախտակից: Դուք սահմանում եք, թե որ սլայդներ, գծապատկերներ և կոճակներ են ձեզ անհրաժեշտ: ձեր ինտերֆեյսի համար: Դուք դա անում եք ձեր Arduino ուրվագծում, ինչը նշանակում է, որ gui ծրագիրը գործում է որպես ուրվագծի ստրուկ: Ամբողջ տեղեկատվությունը պահվում է ձեր տախտակում: Պատկերացրեք և շահարկեք իրական ժամանակի տվյալները: Անկախ նրանից, թե դուք պատրաստում եք RGB լույսի վերահսկիչ կամ ռոբոտի թև, գրաֆիկական հետադարձ կապ ստանալը շատ կարևոր է հասկանալու համար, թե ինչ է կատարվում տախտակի ներսում: Սա հնարավորություն է տալիս հասկանալ ՝ դա ձեր սարքավորումն է, թե՞ կոդը, որը խնդիր է առաջացնում: Ավելին, սահողներն ու կոճակները հնարավորություն են տալիս իրական ժամանակում փոփոխել առանձին պարամետրերը: Այս կերպ Դուք կարող եք տեսնել, թե ինչ ազդեցություն են ունենում տարբեր շեմերը փոխազդեցության վրա: Պահպանեք պարամետրերը տախտակների հիշողության մեջ: Պարամետրերը շտկելուց հետո կարող եք դրանք պահել խորհրդի EEP- ից: Պարամետրերը ինքնաբերաբար կբեռնվեն տախտակին միացնելուց հետո, նույնիսկ եթե համակարգիչը միացված չէ: Օգտագործեք նույն ծրագիրը ձեր բոլոր Arduino նախագծերի համար, որոնք պատրաստել եմ բազմաթիվ փոքր ծրագրեր տարբեր նախագծերի համար: Իմ խնդիրը միշտ մեկ տարի անց դրանք նորից գտնելն է: Քանի որ մենք պահպանում ենք ամեն ինչ Arduino- ում, ինձ մնում է միայն մեկ ծրագիր պահել Arduino- ում, որն ինքնաբերաբար կկարգավորի ծրագիրը ընթացիկ նախագծի համար: Նախածանց ինտերֆեյը նախքան զոդման երկաթը միացնելը, որովհետև կարող եք ձևավորել gui- ն, ինչպես ցանկանում եք (ողջամիտ սահմաններում սահմանափակումներ), կարող եք նախատիպ ստեղծել ինտերֆեյսի նախքան ֆիզիկական ինտերֆեյս պատրաստելը: Սա նաև հնարավորություն է տալիս առաջադրանքները բաժանել բազմաթիվ մարդկանց միջև, օրինակ. մեկ մարդ աշխատում է ապարատային սարքավորման վրա, իսկ մեկ այլ անձ աշխատում է ծածկագրի վրա: Երբ կազմեք ֆիզիկական ինտերֆեյսը, Guino- ն անթերի կմիավորվի: Օգտագործեք այն որպես ամբողջ էկրանով կառավարման վահանակ Կարող եք այն օգտագործել որպես ամբողջ էկրանով կառավարման վահանակ ՝ սեղմելով F- ն և T- ն սեղմելով ՝ միացնում է կարգավորումների վահանակի տեսանելիությունը: Սրանով դուք ներկայացնում եք միայն ձեր հարմարեցված ինտերֆեյսը շրջակա աշխարհի համար: Կառավարեք ֆոնի գույնը Ֆոնի գույնը կարելի է կառավարել Arduino- ից, ինչը հնարավորություն է տալիս ստեղծել տարբեր գույներ տարբեր էսքիզների համար: Այն կարող է օգտագործվել նաև ահազանգեր կատարելու համար, երբ ինչ -որ բան այն չէ: Այն կարող է կանաչ լինել, երբ ամեն ինչ կարգին է, և կարմիր, երբ ինչ -որ բան այն չէ: Արագ և բարակ Ես մեծ ուշադրություն եմ դարձրել Arduino- ի վրա ոտնահետքը հնարավորինս փոքր դարձնելու վրա: Այն հիշողության մեջ պահում է միայն նվազագույն քանակությամբ տվյալներ (կոնկրետ ցուցիչ 100 միավորի ցուցակ): Այս պարամետրը կարող է փոխվել ավելի ցածրի կամ ավելիի ՝ կախված gui տարրերի քանակից, որոնք մտադիր եք ունենալ ձեր ինտերֆեյսում: Հետագայում համակարգը հենվում է EasyTransfer գրադարանի վրա, որը տեղեկատվությունը փոխանցում է երկուական տեսքով: Յուրաքանչյուր փաթեթ բաղկացած է հրամանի համար բայտ, # կետի համար `բայթ և արժեքի համար` ամբողջական թվից: Իդեալում, ձեր բոլոր տվյալները պետք է նորմալացվեն մինչև 16 բիթանոց ստորագրված ամբողջական միջակայք: Սա նշանակում է սերիական պորտի օպտիմալ օգտագործում ամբողջ թվերի հետ աշխատելիս (տեխնիկապես մենք ստուգման գումարի համար օգտագործում ենք մի փոքր լրացուցիչ տարածք): Լավ Instructables- ի համար GUI- ն հնարավորություն է տալիս պատրաստել Instructables, որոնք պահանջում են միայն հիմնական բաղադրիչները: Լրացուցիչ բաղադրիչները, ինչպիսիք են potmeters և այլն, կարող են գործնականում կատարվել gui- ի միջոցով: Սահմանափակումներն ու ապագա ծրագրերը Հենց հիմա ծրագիրը կազմված է Mac OSX և Windows հարթակի վրա: Այն գրված է Openframeworks- ում, այնպես որ այն պետք է կարողանա գործարկել նաև այլ հարթակներում: Քանի որ ծրագիրը օգտագործում է սերիական նավահանգիստ, դուք չեք կարողանա այլ ծրագրեր միացնել Arduino- ին: Սա կլուծվի ապագա թողարկման մեջ, որը կներառի Open Sound Control և Midi կամուրջ: Վարկեր. Mingրագրավորում և գաղափար ՝ Mads Hobye Easytrans- ի գրադարան ՝ Բիլ Պորտերի GUI գրադարան ՝ Ռեզա Ալի

Քայլ 1: Սկսելու համար

Սկսել
Սկսել
Սկսել
Սկսել
  • Ներբեռնեք և բացեք GUINO փաթեթը:
  • Ներբեռնեք Arduino- ն
  • Պատճենեք գրադարանների թղթապանակը ձեր Arduino գրադարանների պանակում (ինչպես այստեղ)
  • Վերագործարկեք Arduino- ն:
  • Բացեք Arduino- ի օրինակներից մեկը: (Մենյու. Ֆայլեր -> Օրինակներ -> Գինո -> ընտրեք մեկը)
  • Եթե դուք օգտագործում եք պարզ օրինակը, ապա կազմեք միացում, ինչպես ցույց է տրված վերևում:
  • Վերբեռնեք օրինակը:
  • Գործարկեք Guino ծրագիրը:
  • Ընտրեք սերիական նավահանգիստ (սովորաբար վերջին)
  • Կտտացրեք միացնել:

Աղբյուրը կարելի է գտնել այստեղ:

ԿԱՐԵՎՈՐ. Այն Windows հարթակում օգտագործելիս պետք է օգտագործել com պորտը, որը ցածր է կամ հավասար է 10. Եթե օգտագործում եք 10 և ավելի բարձր նավահանգիստ, համակարգը չի աշխատի: Սա սխալ է openframeworks- ում:

Քայլ 2. Ինչպես փոփոխել ծածկագիրը

Ինչպես փոփոխել ծածկագիրը
Ինչպես փոփոխել ծածկագիրը

Որպեսզի գրադարանը աշխատի ձեր ուրվագծով, ձեզ հարկավոր են մի քանի լրացուցիչ մեթոդներ: Ես դրանք նկարագրել եմ ստորև. GInit () սա այն է, որտեղ դուք սահմանում եք ձեր դասավորությունը: Բաղադրիչները, որոնք կարող են փոխվել (սահող, կոճակներ և այլն), դրան կցված են փոփոխականներ: & Փոփոխականի դիմաց նշանակում է, որ մենք չենք ցանկանում փոփոխականի արժեքը փոխանցել, այլ ուզում ենք փոփոխականին հղում (ցուցիչ) փոխանցել: Այս կերպ Guino համակարգը ինքնաբերաբար թարմացնում է դրանք, երբ փոփոխություններ են տեղի ունենում GUI- ում: void gInit () {gAddLabel («ՍԼԱՅԴԵՐ», 1); gAddSpacer (1); gAddSlider (3, 200, «Լայնություն» և լայնություն); gAddSlider (3, 200, "HEIGHT", & height); gAddSlider (0, 255, "LED BRIGHTNESS", & ledLight); // Պտտվող սահիչներ gAddLabel («Պտտվող սլայդեր», 1); gAddSpacer (1); [………….] GAddColumn (); // Ավելացրեք ավելի շատ նյութեր այստեղ: gSetColor (r, g, b); // Սահմանեք gui ինտերֆեյսի գույնը: } GButtonPressed (int id) սա կոչվում է ամեն անգամ, երբ սեղմվում է կոճակը: Ընդհանրապես փոփոխականները կարող են ինքնաբերաբար թարմացվել, սակայն կոճակի դեպքում այն պետք է լինի իրադարձություն, որի մասին դուք հոգ եք տանում: Այս օրինակում մենք սահմանում ենք բարձրության փոփոխականը 100, երբ ինչ -որ մեկը սեղմում է կոճակը: անվավեր gButtonPressed (int id) {if (buttonId == id) {height = 100; gUpdateValue (& բարձրություն); }} gItemUpdated (int id) Սա կոչվում է ամեն անգամ, և տարրը թարմացվում է: Սովորաբար դա անհրաժեշտ չէ օգտագործել, քանի որ համակարգը ինքնաբերաբար կթարմացնի փոփոխականները: Եթե ցանկանում եք արձագանքել փոփոխությանը, կարող եք այն օգտագործել որպես այդպիսին: Այս դեպքում մենք թարմացնում ենք ֆոնի գույնը, երբ 3 պտտվող սահողներից մեկը փոխվում է: void gItemUpdated (int id) {if (rotaryRID = id || rotaryGID == id || rotaryBID == id) {gSetColor (r, g, b); }}

Քայլ 3: Մի քանի արագ խորհուրդ

Հիշեք, որ նոր էսքիզ բեռնելիս անջատեք կապը: Դուք չեք կարող Guino- ն գործարկել Arduino- ի տախտակին նոր էսքիզ բեռնելիս, քանի որ նրանք օգտագործում են նույն սերիական կապը: Սա պահանջում է ձեզ անջատել ամեն անգամ, երբ նոր ուրվագիծ եք վերբեռնում: Եթե դուք (և դուք) փորձեք վերբեռնել Guino- ն միացված վիճակում, ապա տախտակը կարող է հայտնվել ինչ -որ տարօրինակ վիճակի մեջ, որտեղ այն մի տեսակ աշխատում է, բայց ոչ այնքան: Այս պահին ձեր միակ տարբերակն է վերականգնել տախտակը `սեղմելով վերականգնման կոճակը կամ անջատելով և միացնելով USB մալուխը: Հայտնի սխալներ Այս պահին համակարգը աշխատում և կայուն է: Հետևյալ սխալներն են, որոնց մասին պետք է տեղյակ լինել.

  • setMin- ը չի աշխատում moveGraph- ի վրա (կարծես GUI գրադարանում կա սխալ, որը պետք է շտկվի): Այսպիսով, նվազագույնը մնում է զրոյի:
  • Սերիական ցուցակը բեռնված է ծրագիրը սկսելիս: Arduino- ն պետք է միացված լինի ծրագիրը սկսելուց առաջ: Վազքի ընթացքում սերիական ցուցակի թարմացումը վատ իրադարձություն է առաջացնում: Այն դեռ պետք է լուծվի:
  • Սերիական ցուցակի հետ խառնաշփոթ - երբեմն ծրագիրը խափանում է (նույն gui իրադարձությունը, ինչպես նաև թարմացումը, պետք է գտնել աղբյուրը)
  • Փոխել կոճակների ֆոնը դառնում է սև ՝ կախված նախնական գործարկումից: Ես պետք է ֆոնը ձեռքով կարգավորեմ:
  • Որոշ պատուհանների հարթակներում com նավահանգիստը չի երևում: Կարող է լինել ftdi վարորդի խնդիր:

Քայլ 4: Օգտագործեք պատյաններ

Օգտագործեք պատյաններ
Օգտագործեք պատյաններ

Եթե ցանկանում եք տեսնել օգտագործման որոշ դեպքեր Guino ինտերֆեյսով, գնացեք այս հրահանգին:

Խորհուրդ ենք տալիս: