Բովանդակություն:
- Քայլ 1: Օգտագործելով Processing.serial
- Քայլ 2. Հասկացեք սերիայի դասը
- Քայլ 3. Arduino սերիական դաս
- Քայլ 4. Կառուցեք GUI 7 հատվածի վերահսկիչ
Video: Մշակման և Arduino- ի միացում և Make 7 Segment և Servo GUI վերահսկիչ ՝ 4 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:46
Ձեր պատրաստած որոշ նախագծերի համար անհրաժեշտ է օգտագործել Arduino- ն, քանի որ այն ապահովում է նախատիպերի պատրաստման հեշտ հարթակ, սակայն Arduino- ի սերիական մոնիտորի վրա գրաֆիկայի ցուցադրումը կարող է բավականին երկար տևել և նույնիսկ դժվար է անել: Դուք կարող եք գրաֆիկներ ցուցադրել Arduino սերիալային մոնիտորի վրա, բայց գրաֆիկները միակ բանը չեն, որ կարող է անհրաժեշտ լինել ցուցադրելու համար: Բոլոր ինտերակտիվ օբյեկտները, ինչպիսիք են սահիչները, կոճակները, 2D, 3D, PDF կամ SVG արտադրանք ունեցող ծրագրերը, ինչպես նաև կարող եք հեշտությամբ ստեղծել անիմացիաներ: Մշակման համար կանխադրված ծրագրավորման ռեժիմը Java է, բայց կարող եք այն փոխել Android, p5.js, REPL, CoffeeScript և JavaScript: Այս Instructable- ում մենք, այնուամենայնիվ, կօգտագործենք Java ծրագրավորման ռեժիմը:
Ամբողջ բովանդակությունն ու կոդը հասանելի են նաև իմ github- ում այստեղ:
Քայլ 1: Օգտագործելով Processing.serial
Մշակման ծածկագիր
Կոդի առաջին երկու տողերը կլինեն
ներմուծման մշակում. սերիա:*; Սերիական myPort;
Այստեղ առաջին տողում մենք ներմուծում ենք գրադարանը `մշակում, իսկ երկրորդ տողում մենք ստեղծում ենք myPort անունով սերիայի դասի օբյեկտ:
Մշակման ժամանակ մենք ունենք void setup () և void draw (), որտեղ void- ը ֆունկցիայի վերադարձի տեսակն է, որը կարող եք նաև փոխել int int setup () և int draw () կամ այլ տվյալների տիպի, որոնք ձեզ դուր են գալիս, բայց ձեզ հարկավոր է վերադարձնել արժեք, որն ունի տվյալների նույն տեսակը, ինչ տվյալների տեսակը, որն օգտագործում եք գործառույթներից առաջ:
setup- ում () մենք գրում ենք այն հայտարարությունները, որոնք մենք պետք է կատարենք մեկ անգամ, մինչդեռ ոչ ոքիում () մենք գրում ենք այն հայտարարությունները, որոնք մենք պետք է կատարենք մի քանի անգամ: Վերոնշյալ կոդի երկու տողերը պետք է գրված լինեն void setup () վերևում, քանի որ դրանք պետք է գլոբալ հասանելիություն ունենան:
Void setup- ում () մենք նախաստորագրելու ենք myPort օբյեկտը:
void setup () {
չափը (800, 800);
myPort = նոր Սերիա (սա, «COM18», 9600);
}
Գծի չափը (800, 800); սահմանում է էկրանի չափը, որը 800 պիքսել է 800 պիքսել:
Երկրորդ տողի նոր բառը օգտագործվում է հիշողության մեջ օբյեկտի համար տարածք պահելու համար, փաստարկը սա տեղեկատու փոփոխական է, որը վերաբերում է ընթացիկ օբյեկտին: Փաստարկը COM18- ը Arduino- ի նավահանգիստն է, դա մեզ պետք է, քանի որ տվյալները փոխադրելու ենք սերիական ինտերֆեյսի միջոցով: Ձեր դեպքում 18 թիվը կարող է տարբեր լինել, այն կարող եք գտնել Գործիքներ> Պորտ Arduino IDE- ում, իսկ 9600 -ը `բաուդ արագություն, որը կարող եք փոխել ինչպես Arduino- ում, այնպես էլ Processing- ում:
Քայլ 2. Հասկացեք սերիայի դասը
Սերիալի համար կառուցող
Սերիա (ծնող, նավահանգստի անվանում, baudRate, հավասարություն, dataBits, stopBits)
Փաստարկներ:
ծնող. սովորաբար օգտագործում են «սա»
baudRate (int). 9600 -ը կանխադրված է
portName (String). նավահանգստի անունը (COM1- ը կանխադրված է)
հավասարություն (նշան) `ոչ մեկի համար 'N', զույգի համար 'E', կենտ 'O', նշանի համար 'M', տարածության համար 'S' (կանխադրված 'N')
dataBits (int): 8 -ը կանխադրված է
stopBits (float) ՝ 1.0, 1.5 կամ 2.0 (1.0 -ը կանխադրված է)
Կարևոր մեթոդներ.
- myPort.available () - վերադարձնում է մատչելի բայթերի քանակը:
- myPort.clear () - դատարկում է բուֆերը և հեռացնում այնտեղ պահված բոլոր տվյալները:
- myPort.read () - Վերադարձնում է 0 -ից 255 թիվը հաջորդ բայթի համար, որը սպասում է բուֆերում:
- myPort.readString () - Բուֆերից բոլոր տվյալները վերադարձնում է որպես տող կամ null, եթե հասանելի ոչինչ չկա:
- myPort.write («թեստ») - գրում է բայթեր, նշաններ, ints, բայթեր , տողեր դեպի սերիական նավահանգիստ:
- myPort.stop () - Տեղադրում է տվյալների հաղորդումը նավահանգստում:
Քայլ 3. Arduino սերիական դաս
Օգտագործելուց առաջ ձեզ հարկավոր չէ Arduino- ի սերիական դասը ներմուծել:
Arduino- ում կան 2 գործառույթ, որոնք կոչվում են setup () և loop (): կարգավորումը գործում է միայն մեկ անգամ, բայց օղակը մի քանի անգամ է գործում: Տեղադրման մեջ () մենք պետք է գրենք օգտագործել սկզբնական () մեթոդը ՝ սերիական հաղորդակցություն սկսելու համար: Ի տարբերություն մշակման, մենք կարիք չունենք նավահանգիստը նշելու որպես սկզբնական () մեթոդի արգումենտներ, քանի որ մենք արդեն նշում ենք նավահանգիստը Arduino- ում էսքիզը բեռնելիս:
Այսպիսով, տեղադրումը () նման կլինի.
void setup () {
Serial.begin (9600); // սկսել սերիական հաղորդակցությունը
}
9600 այստեղ նշվում է բաուդ արագությունը, որը մենք նույնպես նշել էինք մշակման ֆայլում: Properիշտ հաղորդակցության համար երկուսն էլ բաուդ արագությունները պետք է հավասար լինեն, կամ դուք կարող եք սերիական թողարկումը դիտել որպես ինչ -որ անհեթեթություն:
Այժմ տեսնենք loop () մասը: Կոդի այս հատվածը մի քանի անգամ գործարկվում է: Եթե մենք ուզում ենք որոշ տվյալներ կարդալ նավահանգստով, մենք կօգտագործենք Serial.read () մեթոդը: Այս ֆունկցիան անվավեր է դառնում, եթե տվյալներ չկան, ուստի մենք կանվանենք այս մեթոդը միայն այն դեպքում, երբ սերիական հոսքում առկա որոշ տվյալներ ունենանք:
Ստուգելու համար, թե արդյոք առկա են որոշ տվյալներ, մենք կօգտագործենք Serial.available () մեթոդը: Եթե այն վերադարձնում է 0 -ից մեծ արժեք, որոշ տվյալներ կան:
Այսպիսով, loop () մասը կունենա հետևյալ տեսքը.
դատարկ շրջան () {
if (Serial.available ()> 0) {// եթե սերիական նավահանգստում առկա են որոշ տվյալներ
char state = Serial.read (); // կարդալ արժեքը
// եթե հայտարարությունները կամ գործի անցումը
}
}
Այժմ մենք կարող ենք օգտագործել եթե սանդուղք կամ եթե հնարավոր շատ արդյունքներ կան, մենք կարող ենք օգտագործել նաև անջատիչ գործը փոփոխական վիճակի համար:
Քայլ 4. Կառուցեք GUI 7 հատվածի վերահսկիչ
Ֆայլերը կցված են այստեղ: Նշում. Մշակման համար անհրաժեշտ կլինի նաև տեղադրել p5 գրադարան, որը ես օգտագործել եմ GUI ինտերակտիվ կոճակներ ստեղծելու համար:
Ամրացնել համարները
7 հատվածը (այբբենական կարգով) վերաբերում է պատկերին
a - թվային քորոց 2
b - թվային կապ 3
գ - թվային կապում 4
d - թվային փին 5
e - թվային կապ 6
f - թվային փին 7
g - թվային փին 8
dp - թվային կապ 9
Ամբողջ բովանդակությունն ու կոդը հասանելի են նաև իմ github- ում այստեղ
Խորհուրդ ենք տալիս:
Arduino մշակման գրաֆիկական անցում `5 քայլ
Arduino Processing Graphic Transition: Բարև, այս նախագիծը նախատեսված է անտեսանելի մասնիկներից տեսանելի գրաֆիկա պատրաստելու համար, որը կարող է զգացվել սենսորների միջոցով: Այս դեպքում ես օգտագործել եմ ուլտրաձայնային տվիչ և ֆոտոռեզիստոր ՝ լույսը և հեռավորությունը վերահսկելու համար: Ես այն պատկերացնում եմ ՝ փոփոխականները դարձնելով
DIY վոլտմետր Arduino- ի և մշակման միջոցով. 4 քայլ
DIY Voltmeter- ը Arduino- ի և մշակման միջոցով. Բարև և բարի գալուստ այսօրվա նախագիծ: Ես Սարվեշն եմ, և այսօր մենք պատրաստելու ենք arduino- ի վրա հիմնված վոլտմետր: Բայց այս մեկի տարբերությունն այն է, որ այն իր արդյունքը ցույց կտա մշակման ծրագրաշարի վրա: Այժմ իմ նախորդ ձեռնարկից մեկում մենք պատրաստեցինք գործընթաց
Bանր բաս վերահսկիչ միացում `8 քայլ
Heavy Bass Controller Circuit. Hii, ընկեր, երաժշտական համակարգում մենք ցանկանում ենք բարձր բաս ձայն: Եթե ձեր երաժշտական համակարգում բասը շատ ցածր է, ապա այս բլոգը ձեզ համար շատ օգտակար կլինի: Այսօր ես պատրաստվում եմ կատարել ծանր բասի միացում: Դուք կարող եք կատարել հեշտությամբ այս միացումը: Այս միացումը չի
Պոմպի պարզ վերահսկիչ և միացում. 13 քայլ (նկարներով)
Պոմպի պարզ վերահսկիչ և միացում. Աշխատանքի վերջին նախագիծը պահանջում էր, որ ես պարբերաբար ջուրը երկու տանկից թափեմ: Քանի որ բաքի երկու ջրահեռացումները գտնվում են սենյակի բոլոր ջրահեռացման մակարդակից ցածր, ես լցնում էի դույլերը և ջուրը ձեռքով փոխանցում էի ջրահեռացումներին: Շուտով ես
Ինչպես վերահսկել պարզ մշակման խաղը Arduino- ով. 6 քայլ
Ինչպես վերահսկել պարզ մշակման խաղը Arduino- ով. Ողջույն, այս հրահանգում մենք կտեսնենք, թե ինչպես ստեղծել " հղում " Processing ուրվագծի և Arduino քարտի միջև: Այս օրինակում ուլտրաձայնային մոդուլը կօգտագործվի պարզ խաղի մեջ ինքնաթիռ կառավարելու համար: Կրկին, այս ձեռնարկը պարզապես քննություն է