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

6 քայլ (նկարներով)
6 քայլ (նկարներով)

Video: 6 քայլ (նկարներով)

Video: 6 քայլ (նկարներով)
Video: Ինչպես վերադարձնել նախկին ընկերոջը 6 քայլով 2024, Նոյեմբեր
Anonim
Պատկեր
Պատկեր

Քայլ 1: Մասեր և գործիքներ

Մասեր և գործիքներ
Մասեր և գործիքներ
Մասեր և գործիքներ
Մասեր և գործիքներ

Մասեր. ~ 2 x Servo Motors - Տեղական էլեկտրոնիկայի խանութ ~ 4 x LDR's - Տեղական էլեկտրոնիկայի խանութ ~ 4 x 10k դիմադրողներ - Տեղական էլեկտրոնիկայի խանութ ~ Arduino Uno - Sparkfun.com ~ 2 x 50k փոփոխական դիմադրություն - Տեղական էլեկտրոնիկայի խանութ Գործիքներ ՝ old oldոդման երկաթ - Sparkfun.com ~ Solder Wire - Sparkfun.com ~ Jumper Wires - Sparkfun.com ~ Protoboard - Տեղական էլեկտրոնիկայի խանութ Բոլոր մասերը կարժենան ձեզ 30 $ -ից պակաս (առանց arduino- ի և բոլոր գործիքների)

Քայլ 2: Կառուցեք շրջանը

Կառուցեք շրջանագիծը
Կառուցեք շրջանագիծը
Կառուցեք շրջանագիծը
Կառուցեք շրջանագիծը
Կառուցեք շրջանագիծը
Կառուցեք շրջանագիծը

Շղթան բավականին պարզ է չորս LDR- ները համապատասխանաբար 0, 1, 2 և 3 համապատասխան անալոգային կապումներին ՝ 10k դիմադրիչի միջոցով: Միացրեք երկու սերվերը համապատասխանաբար 9 և 10 թվային կապումներին: Երկու փոփոխական դիմադրիչները միացրեք 4 և 5 անալոգային կապումներին: a Նայեք այն նկարներին, որոնք նրանք իսկապես օգնում են: Տեսեք սխեմայի վերջին պատկերը (Դա կարող է լինել ամենավատը, որ երբևէ տեսել եք):

Քայլ 3. Կառուցեք սենսորների հավաքածու

Կառուցեք սենսորների հավաքածու
Կառուցեք սենսորների հավաքածու
Կառուցեք սենսորների ժողովը
Կառուցեք սենսորների ժողովը
Կառուցեք սենսորների հավաքածու
Կառուցեք սենսորների հավաքածու

Սենսորային հավաքածուն կառուցելու համար վերցրեք ստվարաթղթի երկու ուղղանկյուն կտոր, կտրեք երկար ճեղքվածք առաջին ստվարաթղթե կտորի միջնամասում: Կտրեք կարճ ճեղքվածք երկրորդ ստվարաթղթե կտորի մեջտեղում, այնուհետև երկուսն էլ հատեք և լավ ամրացրեք դրանք օգտագործելով ժապավեն: Այն պետք է նմանվի 4 հատված ունեցող 3D խաչի: Մենք պետք է մեր չորս LDR- ները տեղադրենք խաչի այս չորս հատվածներում: Տեսեք, թե ինչ նկարներ են նրանք իսկապես օգնում:

Քայլ 4: Կարգավորեք այն

Կարգավորել այն
Կարգավորել այն

Գտեք հիմք (Nescafe- ի շիշը իմ դեպքում) և կպցրեք ձեր բռունցքի սերվոն դրան, այնուհետև առաջին servo- ի ռոտորին միացրեք երկրորդ servo- ն: Երկրորդ servo- ի ռոտորին միացրեք սենսորների հավաքածուն, որը մենք պատրաստել էինք ավելի վաղ: Ձեր ռոբոտը փորձարկելու համար հանել այն արևի տակ, և այն պետք է ինքնաբերաբար ուղղվի դեպի արևը: Եթե փակ տարածքներում այն կհամապատասխանի սենյակի լույսի ամենավառ աղբյուրին: Նայեք այն նկարներին, որոնք նրանք իսկապես օգնում են:

Քայլ 5: Կոդ

Ահա ձեր արեգակնային հետագծման ռոբոտի կոդը ՝ #ներառել // ներառել Servo գրադարան Servo horizontal; // հորիզոնական servo int servoh = 90; // կանգնել հորիզոնական servo Servo ուղղահայաց; // ուղղահայաց servo int servov = 90; // կանգնել ուղղահայաց servo // LDR կապի կապեր // անուն = analogpin; int ldrlt = 0; // LDR վերև ձախ int ldrrt = 1; // LDR top rigt int ldrld = 2; // LDR ներքև ձախ int ldrrd = 3; // ldr down rigt void setup () {Serial.begin (9600); // servo կապեր // name.attacht (pin); հորիզոնական: կցել (9); ուղղահայաց: կցել (10); } void loop () {int lt = analogRead (ldrlt); // վերև ձախ int rt = analogRead (ldrrt); // վերևից աջ int ld = analogRead (ldrld); // ներքև ձախ int rd = analogRead (ldrrd); // down rigt int dtime = analogRead (4)/20; // կարդալ պոտենցիոմետրեր int tol = analogRead (5)/4; int avt = (lt + rt) / 2; // միջին արժեք վերև int avd = (ld + rd) / 2; // միջին արժեքը նվազում է int avl = (lt + ld) / 2; // միջին արժեքը մնացել է int avr = (rt + rd) / 2; // միջին արժեքի իրավունք int dvert = avt - avd; // ստուգեք վեր և վար int- ի տարբերությունը int dhoriz = avl - avr; // ստուգեք ձախ և rigt տարբերությունը, եթե (-1*tol> dvert || dvert> tol) // ստուգեք, թե արդյոք տարբերությունն այլ հանդուրժողականության մեջ է փոխել ուղղահայաց անկյունը {if (avt> avd) {servov = ++ servov; if (servov> 180) {servov = 180; }} այլ դեպքում (avt <avd) {servov = --servov; if (servov <0) {servov = 0; }} vertical.write (servov); } if (-1*tol> dhoriz || dhoriz> tol) // ստուգեք, թե արդյոք տարբերությունը հանդուրժողականության մեջ է, այլապես փոխեք հորիզոնական անկյունը {if (avl> avr) {servoh = --servoh; if (servoh <0) {servoh = 0; }} այլ դեպքում (avl <avr) {servoh = ++ servoh; if (servoh> 180) {servoh = 180; }} else if (avl = avr) {// ոչինչ} horizontal.write (servoh); } ուշացում (ժամանակ); }

Քայլ 6: Ամեն ինչ արված է:

Ամեն ինչ արված է!
Ամեն ինչ արված է!

Հուսով եմ, որ այս նախագիծը ոգեշնչում է հետագա փորձերին: Arduino- ի տախտակն աներևակայելիորեն բազմակողմանի է, էժան և հասանելի բոլոր սիրահարներին: Սա ընդամենը բազմաթիվ պարզ նախագծերից մեկն է, որը կարելի է կառուցել arduino- ի միջոցով: Շարունակեք խորհել:

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