
Բովանդակություն:
- Քայլ 1: Կառուցեք IR ստացողի միացում
- Քայլ 2: Միացրեք Servo- ն, սյունակը և հեռախոսի սեփականատերը
- Քայլ 3: Միացրեք LCD էկրանը Servo Readout- ի համար
- Քայլ 4: Օգտագործեք կոդը և գրադարանները, որոնք կցված են Arduino- ին ծրագրավորելու համար
- Քայլ 5. Միացրեք ցանկալի էներգիայի աղբյուրը Arduino- ին և օգտագործեք հեռակառավարիչը ՝ սարը պտտելու համար:
- Քայլ 6: Կարդացեք սա ՝ սկզբնաղբյուրի բացատրության համար
- Քայլ 7: Դիտեք իմ YouTube- ի օգնության տեսանյութը
2025 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2025-01-23 14:48

Այս ձեռնարկը ստեղծվել է Հարավային Ֆլորիդայի համալսարանի Makecourse- ի նախագծի պահանջի կատարման համար (www.makecourse.com):
Wantանկանու՞մ եք պտտել հեռախոսի հենարանը, որպեսզի կարողանաք դիտել ձեր հեռախոսի բովանդակությունը դիմանկարային կամ լանդշաֆտային կողմնորոշմամբ ՝ առանց այն պահելու: Հետո, այլևս մի նայեք:
Այս նախագիծը ստեղծելու համար ձեզ հարկավոր է.
- Arduino միկրոկառավարիչ և IDE
- USB մալուխ ՝ ծածկագիրը վերբեռնելու համար
- Breadboard
- Jumper լարերը
- LCD էկրան
- Սերվո
- Սյունակ, որը կարող է կցվել սերվոյին
- IR հեռակառավարիչ
- IR ընդունիչ
- 10k ohm դիմադրություն
- Kenu Airframe+ հեռախոսի սեղմիչ (կամ հեռախոսը տեղում պահելու ինչ -որ բան)
- 9 Վ մարտկոց շարժական էներգիայի կամ պարզապես USB սնուցող Arduino- ի համար
Քայլ 1: Կառուցեք IR ստացողի միացում


Նախ, Arduino- ից GND և +5V ցատկեք դեպի ձեր հացահատիկի վահանակը: Այնուհետև ձեր 10k ohm դիմադրիչը +5V հոսանքի ռելսից ցատկեք դեպի ձեր IR ընդունիչի ֆոտոտրանսիստորի ելքային փին: Հաջորդը, օգտագործեք jumper մետաղալար `IR ընդունիչի ելքային փինից Arduino- ի 11 -րդ կապին միանալու համար: Այնուհետև օգտագործեք երկու ցատկող լար `գետնին և +5V- ին IR ընդունիչի համապատասխան կապումներին ուղարկելու համար: Վերոնշյալ սխեմատիկայում պատկերված RC զտիչն անհրաժեշտ չէ: Ի վերջո, ես չեմ կատարել այս քայլում ցուցադրված սխեմատիկ պատկերը, և դրա աղբյուրը ներկա է նկարում:
Քայլ 2: Միացրեք Servo- ն, սյունակը և հեռախոսի սեփականատերը



Այժմ, գետնից ցատկելու համար օգտագործեք երկու ցատկող մետաղալար և սեղանի հոսանքի ռելսերի +5V համապատասխանաբար սերվոյի դարչնագույն և կարմիր լարերի մեջ: Այնուհետև օգտագործեք մեկ ցատկիչ մետաղալար ՝ Arduino- ի 9 -րդ կապը ամրացնելու համար servo- ի նարնջագույն մետաղալարին:
Այնուհետև, սերվոյի գլխին կցեք սյունակ, ինչպես ցույց է տրված երկրորդ նկարում:
Վերջապես, հեռախոսին սյունակին պահելու համար ինչ -որ բան կցեք, ինչպես Kenu Airframe+ - ը, ինչպես ցույց է տրված երրորդ նկարում:
Քայլ 3: Միացրեք LCD էկրանը Servo Readout- ի համար

Անցնել գետնին և +5 Վ -ից ձեր տախտակի հոսանքի ռելսերից դեպի LCD էկրանին համապատասխան կապում: Բացի այդ, SDA և SCL կապումներն LCD- ից ցատկեք Ardiuno- ի վրա: Arduino- ի SDA և SCL կապումներն կարելի է նույնացնել Arduino- ի տախտակի հետևի մասից և հանդիսանում են երկու կապում AREF- ի և Ground- ի վերևում `13. կապի վերևում: SCL- ի քորոցը ամենաբարձրն է: Սա թույլ է տալիս LCD էկրանին կարդալ ընթացիկ սերվոյի դիրքը:
Քայլ 4: Օգտագործեք կոդը և գրադարանները, որոնք կցված են Arduino- ին ծրագրավորելու համար

Ներբեռնեք RotatingMountCode.zip ֆայլը: Տեղադրեք Arduino IDE- ն և ներբեռնված ֆայլը բացեք Documents / Arduino- ում: Համոզվեք, որ պատճենեք իմ ուրվագծերի և գրադարանների պանակի բովանդակությունը ձեր ուրվագծերի և գրադարանների պանակում: Բացեք ServoIRandLCD էսքիզը և վերբեռնեք այն ձեր Arduino- ում:
Կոդի բացատրության համար տես հետագա քայլերը:
Քայլ 5. Միացրեք ցանկալի էներգիայի աղբյուրը Arduino- ին և օգտագործեք հեռակառավարիչը ՝ սարը պտտելու համար:


Կամ թողեք Arduino- ն միացված ձեր համակարգչին, կամ միացրեք այն ձեր համակարգչից և օգտագործեք 9 Վ մարտկոց ՝ Arduino- ին DC սնուցում ապահովելու համար: Վերջապես, օգտագործեք էժան IR հեռակառավարիչ ՝ սերվոն և, հետևաբար, հեռախոսի տեղադրման կողմնորոշումը վերահսկելու համար:
Հեռակառավարման վահանակի 1 թիվը պետք է սահմանի սերվոյի դիրքը 0 աստիճանի, համարը 2 -ից 90 աստիճանի, իսկ թիվը 3 -ից 180 աստիճանի: Մինչդեռ հեռակառավարման վահանակի + և - կոճակները պետք է համապատասխանաբար բարձրացնեն կամ նվազեցնեն սերվոյի անկյունը 1 աստիճանով:
Նշում. Եթե օգտագործում եք տարբեր IR հեռակառավարիչ, քան այստեղ պատկերվածը, հնարավոր է, որ տարբեր կոճակներին համապատասխանող IR կոդերը փոխվեն: Եթե այո, ապա փոփոխեք ServoIRandLCD էսքիզը ՝ փոխարենը այդ IR կոդերն օգտագործելու համար:
Քայլ 6: Կարդացեք սա ՝ սկզբնաղբյուրի բացատրության համար


Arduino էսքիզի աղբյուրի կոդը կարելի է գտնել ստորև կամ նախկինում կցված.zip ֆայլում: Պահանջվող գրադարանները կարող եք գտնել միայն նախկինում կցված.zip ֆայլում `4 -րդ քայլում:
Առաջին բանը, որ անում է ծածկագիրը, ներառում է անհրաժեշտ գրադարանները, որոնք անհրաժեշտ են էսքիզի բոլոր գործառույթները գործարկելու համար: Հաջորդը, Arduino- ի 9-րդ կապը հայտարարում է սերվոյի PWM- ով միացված ազդանշանային փին: Այն նաև Arduino- ի 11 -րդ կապն է դարձնում IR ընդունիչի համար օգտագործվող քորոցը: Հաջորդը, այն հայտարարում է մի ամբողջ փոփոխական, որն օգտագործվում է սերվոյի դիրքը աստիճաններով հետևելու համար և այն սկզբում սահմանում է 0 աստիճանի: Այնուհետև այն ակնթարթորեն ներկայացնում է IRrecv օբյեկտի, servo օբյեկտի և myDisplay LCD օբյեկտի համար անհրաժեշտ օբյեկտները (որոնք նույնպես կազմաձևված են նույն տողում), որպեսզի այդ օբյեկտները հետագայում օգտագործվեն:
Հաջորդը, տեղադրման գործառույթում սերիական պորտը սկսվում է 9600 բիթ/վրկ արագությամբ, այնպես որ սերիական մոնիտորը կարող է օգտագործվել `ցանկության դեպքում սերվոյի դիրքը հետևելու համար: Այն նաև ամրացնում է myservo օբյեկտը 9 -ի կապում, սկսում IR ընդունիչը և նախաստորագրում LCD էկրանը:
Հիմնական հանգույցի գործառույթում, որի մարմինը կատարվում է միայն այն դեպքում, երբ IR հաղորդիչ է ստացվում IR ընդունիչից, IR ընդունիչն ապակոդավորում է IR հեռակառավարիչից իրեն ուղարկված ազդանշանը ՝ օգտագործելով ապակոդավորման (և արդյունքների) գործառույթը, այնուհետև, եթե հայտարարությունները որոշում են, թե ինչ servo- ն սահմանել կախված ստացված IR արժեքից: Գրելու գործառույթը օգտագործվում է servo- ն իր համապատասխան աստիճաններին դնելու համար, իսկ read գործառույթը `servo- ի ընթացիկ անկյունը գտնելու և ըստ անհրաժեշտության ավելացնելու կամ նվազեցնելու համար:
Վերջապես, սերվոյի ընթացիկ անկյունը ուղարկվում է ինչպես սերիական մոնիտորին, այնպես էլ LCD էկրանին ՝ օգտագործելով myservo.read () գործառույթը, և հիմնական օղակները կրկնում են անորոշ ժամանակով:
Աղբյուրի կոդը:
#ներառել // Arduino ստանդարտ գրադարան #ներառել // IR գրադարան #ներառել «Wire.h» //Wire.h LCD- ի համար (երբեմն անհրաժեշտ է) #ներառել «LiquidCrystal_I2C.h» // LCD գրադարան
#սահմանել սերվոպին 9 // սա սահմանում է 9 -ը ՝ որպես սերվոյի կառավարման կապարի համար օգտագործվող քորոց (նարնջագույն)
int RECV_PIN = 11; // IR ֆոտո-տրանզիստորը ելքն ուղարկում է 11-րդ փին
int currentAngle = 0; // հայտարարեք currentAngle ամբողջ փոփոխական և սահմանեք 0
IRrecv irrecv (RECV_PIN); // առաջացնել IR ստացողի օբյեկտի decode_results results; // instantiate decode_results օբյեկտ: Այս օբյեկտը առանձին է IR ընդունիչից:
Servo myservo; // instantiate Servo օբյեկտ ՝ «myservo» անունով // կարող է ստեղծվել առավելագույնը ութ servo օբյեկտ
LiquidCrystal_I2C myDisplay (0x27, 16, 2); // ակնթարթային LCD օբյեկտի ստեղծում և կազմաձևում
void setup () {
Serial.begin (9600); // սկսել սերիական նավահանգիստ
myservo.attach (servopin); // ամրացնում է servo- ն 9 -րդ կապի վրա servo օբյեկտին
irrecv.enableIRIn (); // գործարկեք ընդունիչը
myDisplay.init (); // LCD- ի նախաստորագրում
myDisplay.backlight (); // միացրեք LCD լուսարձակը
}
դատարկ շրջան () {
եթե (irrecv.decode (& արդյունքները)) // եթե փոխանցումը ստացվել է …
{Serial.print ("IR արժեքը ստացվել է.");
Serial.println (results.value); // ցուցադրել ստացված արժեքը
// մեկնաբանել ստացված հրամանները… if (results.value == 16724175) // 1 {// left myservo.write (0); }
եթե (results.value == 16718055) // 2 {// միջին myservo.write (90); }
if (results.value == 16743045) // 3 {// right myservo.write (180); }
if (results.value == 16754775) //+ {// increment currentAngle = myservo.read (); myservo.write (currentAngle + 1); } if (results.value == 16769055) //- {// նվազեցում currentAngle = myservo.read (); myservo.write (currentAngle - 1); }}
irrecv.resume (); // Ստացեք հաջորդ արժեքը
// Սերիայի մոնիտորի տպում Serial.print ("Սերվոյի ընթացիկ դիրքը.");
Serial.println (myservo.read ()); // սա վերցնում է servo դիրքը և ուղարկում այն սերիական մոնիտոր
// LCD տպագիր myDisplay.clear ();
myDisplay.print ("Servo deg.:");
myDisplay.print (myservo.read ());
ուշացում (200); // սերվոյի ակտիվացումը կայուն դարձնելու հետաձգում
}
Քայլ 7: Դիտեք իմ YouTube- ի օգնության տեսանյութը

Դիտեք իմ չհրապարակված YouTube տեսանյութը, որն ամբողջությամբ քննարկում և ցուցադրում է նախագիծը, եթե ունեք հարցեր:
Խորհուրդ ենք տալիս:
Հեռախոսի տեղադրում շարժական լիցքավորիչով `5 քայլ

Հեռախոսի տեղադրում դյուրակիր լիցքավորիչով
Toուգարանի թղթի գլան հեռախոսի տեղադրում ՝ 7 քայլ (նկարներով)

Toուգարանի թղթի գլանափաթեթ հեռախոսի տեղադրում. Ձեզ անհրաժեշտ է որևէ տեղ, որ ձեր հեռախոսը լիցքավորվի, որպեսզի այն դեռ ուղղահայաց լինի: Սրա պատասխանը հեռախոսի տեղադրումն է: Ունե՞ք մի քանի պահեստային զուգարանի թուղթ ձեր տան շուրջը, և ընդամենը մի փոքր ստվարաթուղթ: Եթե դա անես, ուրեմն
Google Home անլար լիցքավորման փայտյա մեքենայի հեռախոսի տեղադրում ՝ 7 քայլ (նկարներով)

Google Home անլար լիցքավորման փայտյա մեքենայի հեռախոսի տեղադրում. Բարի գալուստ: Երբևէ ցանկացե՞լ եք Google- ին հարցեր տալ ՝ առանց ձեր հեռախոսը բացելու մեքենա վարելիս: Google Assistant- ը հիանալի ծրագիր է ՝ հիանալի գործառույթներով, սակայն այն պահանջում է, որ ձեր հեռախոսն ապակողպված լինի և ծրագիրը բաց լինի, կամ պահեք ձեր տունը
Պատրաստեք USB հեռախոսի լիցքավորիչ գրեթե ցանկացած բջջային հեռախոսի համար: 4 քայլ

Պատրաստեք USB հեռախոսի լիցքավորիչ գրեթե ցանկացած բջջային հեռախոսի համար :: Լիցքավորիչս այրվեց, ուստի ես մտածեցի
Smapler V0002- ի տեղադրում քայլ առ քայլ ՝ 5 քայլ

Smapler V0002- ի տեղադրում քայլ առ քայլ. A Smapler- ը մի շրջան է, որը նվիրված է BlushingBoy.org- ից Դեյվիդ Կուարտիելի և Ինո Շլաուչերի ստեղծած գեներացնող ձայնի արտադրությանը: Smapler v0002 - աակա Սինգապուրի հրատարակություն - ոչ այլ ինչ է, քան Arduino վահան, որը պետք է օգտագործվի ֆանտաստիկ խաղալու համար