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

Մշակման և Arduino- ի միացում և Make 7 Segment և Servo GUI վերահսկիչ ՝ 4 քայլ
Մշակման և Arduino- ի միացում և Make 7 Segment և Servo GUI վերահսկիչ ՝ 4 քայլ

Video: Մշակման և Arduino- ի միացում և Make 7 Segment և Servo GUI վերահսկիչ ՝ 4 քայլ

Video: Մշակման և Arduino- ի միացում և Make 7 Segment և Servo GUI վերահսկիչ ՝ 4 քայլ
Video: #1 FLProg Overview | Arduino Visual Embedded Programming 2024, Նոյեմբեր
Anonim
Processing- ի և Arduino- ի միացում և Make 7 Segment և Servo GUI վերահսկիչ
Processing- ի և Arduino- ի միացում և Make 7 Segment և Servo GUI վերահսկիչ

Ձեր պատրաստած որոշ նախագծերի համար անհրաժեշտ է օգտագործել 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 -ը կանխադրված է)

Կարևոր մեթոդներ.

  1. myPort.available () - վերադարձնում է մատչելի բայթերի քանակը:
  2. myPort.clear () - դատարկում է բուֆերը և հեռացնում այնտեղ պահված բոլոր տվյալները:
  3. myPort.read () - Վերադարձնում է 0 -ից 255 թիվը հաջորդ բայթի համար, որը սպասում է բուֆերում:
  4. myPort.readString () - Բուֆերից բոլոր տվյալները վերադարձնում է որպես տող կամ null, եթե հասանելի ոչինչ չկա:
  5. myPort.write («թեստ») - գրում է բայթեր, նշաններ, ints, բայթեր , տողեր դեպի սերիական նավահանգիստ:
  6. 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 հատվածի վերահսկիչ

Կառուցեք GUI 7 հատվածի վերահսկիչ
Կառուցեք GUI 7 հատվածի վերահսկիչ
Կառուցեք GUI 7 հատվածի վերահսկիչ
Կառուցեք GUI 7 հատվածի վերահսկիչ
Կառուցեք GUI 7 հատվածի վերահսկիչ
Կառուցեք GUI 7 հատվածի վերահսկիչ

Ֆայլերը կցված են այստեղ: Նշում. Մշակման համար անհրաժեշտ կլինի նաև տեղադրել p5 գրադարան, որը ես օգտագործել եմ GUI ինտերակտիվ կոճակներ ստեղծելու համար:

Ամրացնել համարները

7 հատվածը (այբբենական կարգով) վերաբերում է պատկերին

a - թվային քորոց 2

b - թվային կապ 3

գ - թվային կապում 4

d - թվային փին 5

e - թվային կապ 6

f - թվային փին 7

g - թվային փին 8

dp - թվային կապ 9

Ամբողջ բովանդակությունն ու կոդը հասանելի են նաև իմ github- ում այստեղ

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