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

Bluetooth RC ավտոմեքենա STM32F103C- ով և L293D- ով - էժան ՝ 5 քայլ
Bluetooth RC ավտոմեքենա STM32F103C- ով և L293D- ով - էժան ՝ 5 քայլ

Video: Bluetooth RC ավտոմեքենա STM32F103C- ով և L293D- ով - էժան ՝ 5 քայլ

Video: Bluetooth RC ավտոմեքենա STM32F103C- ով և L293D- ով - էժան ՝ 5 քայլ
Video: STM32F103C8T6 BLUETOOTH CONTROLLED CAR 2024, Հունիսի
Anonim
Image
Image
Ոչնչացրեք մարտկոց ուտողը
Ոչնչացրեք մարտկոց ուտողը

Ես պատրաստել եմ Bluetooth Arduino մեքենա, ինչպես այստեղ պատկերվածը, Ardumotive_com- ի կողմից: Խնդիրը, որ ես ունեի, մարտկոցներն էին և դրանց քաշը, ինչպես նաև ծախսերը: Այդ ժամանակից ի վեր բջջային հեռախոսների համար նախատեսված էժան սնուցման բանկերը դարձել են շատ մատչելի: Մնում էր միայն նիհարել: Էժան լինելով ՝ ես անցա STM32F103C միկրոկառավարիչի: STM32F103C միկրոկառավարիչը կարելի է գնել 2 դոլարից պակաս գնով և շատ ավելի փոքր է, քան Arduino- ն: Ես մի փոքր փոխեցի կոդավորումը `STM32F103C- ի հետ աշխատելու համար նույնպես:

Պարագաներ

  • Էժան հեռակառավարման մեքենա, որը մարտկոցներ է ուտում: Այո, ճիշտ այնպես, ինչպես Ardumotive_com- ն է օգտագործում: Դուք կանջատեք համակարգը և փոխարենը կօգտագործեք հեռախոսի հզորության բանկ: Եթե ունեք ռեսուրսներ ձեր սեփական շասսին կառուցելու համար, ունեցեք այն: Գնացի փողոցում գտնվող խաղալիքների խանութ և էժան մեքենա գնեցի մինչև 10 դոլարով: Մեքենան մարտկոցներ է ուտում, իսկ հեռակառավարման վահանակը ՝ կատարյալ կատարելագործման համար:
  • Հեռախոսային բանկ- այժմ դրանք չափազանց էժան են: Շեղված էներգիայի բանկերից, որոնց կողքին կա հոսանքի կոճակ: Դուք չեք կարողանա հետևել ձեր մեքենային և պահել կոճակը: Դա հիմարություն է:
  • L293D չիպ-Սա երկակի H-Bridge- ն է, որը վերահսկելու է էլեկտրական շարժիչները:
  • HC-06 Bluetooth մոդուլ
  • Անջատիչ- ես օգտագործեցի միացման/անջատման պարզ անջատիչ:
  • Որոշ Wire -հեռախոսի մետաղալարեր լավ կլիներ, բայց մի փոքր ավելի մեծ շղթայական 20 չափիչ ավելի լավ կլիներ:
  • Proto Board կամ պլաստմասե կամ ստվարաթղթե կտոր ՝ ձեր Blue Pill- ը և L293D- ը տեղադրելու համար: Ես էժան եմ, ուստի ես մի փոքր այլ համակարգ ստեղծեցի բարակ ծալքավոր ստվարաթղթով, ինչպես լամպի տուփից:
  • Երկու էժան USB լիցքավորման մալուխ-դրանք կարելի է ձեռք բերել Դոլարի ծառից: Մի օգտագործեք ձեր գեղեցիկ ծրագրավորման մալուխը: Մեկը կկտրվի միացման/անջատման անջատիչի համար, իսկ մյուսը ՝ մարտկոցը:

Ըստ ցանկության

  • 4 LED -եթե ցանկանում եք լուսարձակներ և հետևի լույսեր:
  • 4 220 Օմ դիմադրություն- LED- ների համար `3.3 վ համակարգով:
  • Պիեզո կամ փոքր բարձրախոս ՝ եղջյուրի համար:

Գործիքներ

  • Sոդման երկաթ և զոդիչ
  • Թեժ սոսինձ ատրճանակ- Աղջիկս տաք սոսինձ ատրճանակի նինջա է:
  • Հաղորդալարեր և մերկացուցիչներ
  • EԱՆՈԹՈԹՅՈՆ. Եթե դուք օգտագործում եք ստվարաթղթե տեխնիկան, որը ես օգտագործում եմ, այլ ոչ թե նախատախտակ, ձեզ հարկավոր կլինի Dremel կամ փոքր փորվածք:

Քայլ 1: Ոչնչացրեք մարտկոցը ուտողը:

Ոչնչացրեք մարտկոց ուտողը
Ոչնչացրեք մարտկոց ուտողը

It'sամանակն է զվարճանալու մարտկոց ուտողին ոչնչացնելով: Այո, ԱՅՍ ԲԱՆ! Proudգացեք հպարտ, որ դուք ձեր մասն եք անում աշխարհն ավելի կանաչ դարձնելու գործում: Լավ, դա երկարաձգվում է, բայց, ամեն դեպքում … Մոտեցեք շրջանակին:

Վերևում նույն միավորն է, որը ես պատրաստել եմ Arduino տարբերակը: Arduino- ի տարբերակն օգտագործում էր մարտկոցի լուրջ հզորություն, որը մեքենան ավելի ծանրացրեց: Այսպիսով, ես այն նորից հանեցի շրջանակ: Ես պլաստիկ շշից և տաք սոսինձից մի քանի թևեր էի ավելացրել և հարմարեցրել մարմինը: Մարմնի մասին ավելի ուշ:

Շարժիչներով և ղեկը մերկացնելով շրջանակը գտնելուց հետո գտեք, թե շարժիչի տերմինալների որ կողմն է: Շարժիչը փորձարկելու համար օգտագործեք մարտկոց կամ 5 վ լիցքավորիչ:

Theեկի շարժիչի վրա, երբ անիվները թեքվում են աջ, պիտակեք մարտկոցի դրական լարին «3», իսկ բացասականին ՝ «6»:

Շարժիչային շարժիչի վրա, երբ անիվները պտտվում են առաջ, պիտակավորեք մարտկոցի դրական լարը «14», իսկ բացասական մետաղալարը ՝ «11»:

Քայլ 2. Կոդ Arduino IDE- ում

Կոդ Arduino IDE- ում
Կոդ Arduino IDE- ում
Կոդ Arduino IDE- ում
Կոդ Arduino IDE- ում

Հնարավոր է, որ ամենալավը լինի, եթե նախ մեքենայի էլեկտրոնիկայի նախատիպը պատրաստեք հացահատիկի վրա:

Լավ, սա բարդ մասերից մեկն է: «Կապույտ դեղահատը» չի կարող ծրագրավորվել USB պորտի միջոցով: Ես չեմ գտել «Կապույտ դեղահատի» ավելի հեշտ ծրագրավորման բացատրություն, քան Յուպ Բրոկինգի Youtube տեսանյութը: Այն բացատրում է այն ամենը, ինչ դուք պետք է իմանաք, ներառյալ Ռոջեր Քլարկի STMduino գրադարանը: Կա մի տարբերակ, որը կարող է տեղադրել bootloader- ը, որպեսզի կարողանաք օգտագործել USB- ը `« Կապույտ դեղահատ »ծրագրավորելու համար, բայց ամեն դեպքում դուք պետք է ծրագրավորեք bootloader- ը Serial Bus- ի միջոցով:

Unfortunatelyավոք, Serial Bus- ն օգտագործվում է նաև Bluetooth ադապտերների կողմից: Programրագիրը պետք է տեղադրվի Serial Bus, PA9 և PA10 կապում, նախ FTDI- ի միջոցով, այնուհետև Bluetooth- ի ադապտերով կարող եք ստուգել ձեր բոլոր կարգավորումները:

Օգտագործեք տախտակ և ամեն ինչ դասավորեք տախտակի վրա, ինչպես վերևում ցնցող ուրվագիծը: Անջատեք Bluetooth ադապտերի Serial TX և RX տողերը STM32F103C- ի PA9 և PA10 կապում: Կապեք ձեր FTDI- ի և ծրագրի հետ: Համոզվեք, որ Սերիական ավտոբուսի գծերը հատված են ՝ RX- ից Tx և Tx- ից RX: Մեկը ստանում է, իսկ մյուսը տալիս:

Theրագիրը բեռնվելուց հետո կարող եք բացել սերիական վահանակը և ուղարկել

տեսնել, թե արդյոք լույսերը աշխատում են: Եթե լույսերը աշխատում են, կարող եք ուղարկել

կրկին դրանք անջատելու համար:

Տեղադրեք ձեր մեքենան բլոկի վրա `անվադողերը բարձրացնելու և ուղարկելու համար

Անիվները պետք է առաջ գնան: Եթե նրանք չեն անում, հակառակ ուղղությամբ լարերը: Հիշեք, թե ինչպես էինք մենք ավելի վաղ պիտակավորել լարերը: L293D- ի համապատասխան կապումներին պետք է համապատասխանեցնել:

Դադարեցնելու համար ուղարկեք

Եկեք նայենք օրենսգրքի էական փոփոխություններին:

Մեկնաբանվող բաժնում, սկզբից, պետք է տեսնեք ֆայլերի ստեղծողը ՝ Ardumotive- ից: Հաջորդ մի քանի մեկնաբանությունները բացատրում են, թե որտեղ եմ ես մի փոքր փոխվել ՝ STM32F103C- ն արտացոլելու համար:

/ * * Ստեղծեց Վասիլակիս Միխալիսը // 12-12-2014 ver.2

* Նախագիծ. Վերահսկեք RC մեքենան Bluetooth- ով ՝ Android սմարթֆոնով * Լրացուցիչ տեղեկություններ ՝ https://www.ardumotive.com * * Այս կոդը փոխեց, որպեսզի համապատասխանի Garիմ Գարբեի STM32F103- ին, [email protected] * Լրացուցիչ տեղեկություններ ՝ https:// github.com **********STM32- ում անալոգային գրելը դեռ աշխատում է 8-բիթ 255-ով,*Բայց դուք կարող եք ստանալ PWM տիրույթի ամբողջական գործառույթը ՝ 0-65535 ՝ Pin- ը հայտարարելով PWM*AND օգտագործելով analogwrite () փոխարեն pwmWrite () **************************/

Առավել ուշագրավ է, որ կապում Arduino- ի և STM32F103C- ի միջև նույն ձևով անուններ չեն տրվում: Մենք հայտարարում ենք կապում ՝ օգտագործելով տողերի հաջորդ փաթեթը: Մնացել է մեկ քորոց, որը հայտարարված է դեպի հանգույց: 197 տողում PA5- ն օգտագործվում է մարտկոցի մակարդակը կարդալու համար:

//// L293 Միացում

const int motorA1 = PB6; // դեպի L293 const int motorA2 = PB7- ի 15 -րդ կապը; // դեպի L293 const int motorB1 = PB8- ի Pin 10; // դեպի L293 const int motorB2 = PB9 կապում 7; // դեպի L293- ի 2 -րդ կապը // լուսարձակներ միացված STM32F103C Pin A12 const int lights = PA12; // Buzzer /Speaker to Arduino UNO Pin A8 const int buzzer = PA8; // Bluetooth (HC-06 JY-MCU) STM32F103C const int BTS ATS- ի P11- ի կապի վրա գտնվող պետական քորոց BTState = PA11;

Բացի այդ, օգտագործելով analogWrite (); դեռ աշխատելու է «BluePill» - ում: Բայց ավելի լավ է հայտարարել PWM կապում ՝ օգտագործելով, pinMode (, PWM);

Այնուհետեւ օգտագործեք

pwmWrite (,);

ՆՇՈՄ. 8-բիթ = 0-255, 16-բիթ = 0-65535

32-44 տողերը մարտկոցի փոփոխություններ են: Եթե դուք պատրաստվում եք օգտագործել մարտկոցի մակարդակի ստուգումը, ապա ձեր ունեցած մարտկոցի համար պետք է օգտագործեք քվեարկության բաժանարար: Այս մասը արտացոլված չէ Ֆրիտզինգի ուրվագծում: Կան բազմաթիվ բացատրություններ, թե ինչպես ստեղծել լարման բաժանարար Youtube- ում: Քանի որ STM32F103C- ն 3.3 վ չիպ է, ես այստեղ ամրագրեցի ծածկագիրը `ֆիզիկապես լարման բաժանարար օգտագործելու համար: Arduino- ն կարող է հանդուրժել որոշ ավելի բարձր լարման տրամադրված ADC- ների միջոցով, սակայն «Կապույտ դեղահատը» չի կարող:

/* Մարտկոցի մակարդակը ստուգվելու է Pin PA5- ում

* Փոխեց STM32F103C- ի հաջորդ տողը, քանի որ ADC- ն չի կարող կարգավորել * 3.3 վ -ից ավելի բան * ես հենց նոր մեկնաբանեցի դա * Լարման բաժանարարը, որն օգտագործում է երկու դիմադրիչ, պետք է հաշվարկվի և օգտագործվի * ՝ ADC մուտքագրումը ավելի ներքև չափելու համար: * օրինակ ` * GND --- 2K ռեզիստոր ----------------- 1K դիմադրություն ------ 5v * | * | * 3.3v */ // const float maxBattery = 3.3; // Փոխեք արժեքը մարտկոցի լարման առավելագույն մակարդակին:

Քայլ 3: Դրեք բոլորը միասին

Դրեք բոլորը միասին
Դրեք բոլորը միասին
Դրեք բոլորը միասին
Դրեք բոլորը միասին
Դրեք բոլորը միասին
Դրեք բոլորը միասին
Դրեք բոլորը միասին
Դրեք բոլորը միասին

Ես սովորաբար օգտագործում եմ նախատախտակ `կտորները տեղադրելու և զոդելու համար անցքերի միջև` ամեն ինչ միացնելու համար: Երբեմն ես «փչացնում եմ» ամեն ինչ միասին `ավելի շատ ֆրանկենշտեյնյան/եռակցման տեսք ունենալու համար:

Ես ընտրեցի այս հիբրիդային մեթոդը `սարքը մաքուր և թեթև դարձնելու համար, և, իհարկե, ԷEԱՆ:

Այս մեթոդը թույլ է տալիս նաև պիտակավորել: Deadbug զոդման ամենավատ մասերից մեկն այն է, երբ ներքևից նայում ես IC չիպին և մոռանում, թե որ քորոցն է ինչ:

Վերոնշյալ նկարները մի տեսակ ինքնաբացատրելի են: Կարծում եմ, որ ամենադժվար բանը բավական նիհար ստվարաթուղթ գտնելն է `միաժամանակ փորելու և կոշտ լինելու համար: Դուք կարող եք օգտագործել նաև պլաստմասսա, բայց դրա նշումը մի փոքր ավելի դժվար է: Երբ սեղմում եմ կապում գրատախտակին և նշում փոսերը, ես օգտագործում եմ «Դրեմել» ՝ յուրաքանչյուր քորոց անցք անցնելու համար:

Եթե դուք դեռ չեք նկատել, ապա ես տախտակի վրա ունեմ միայն լույսերը որպես լրացուցիչ պարագաներ: Ես չեմ օգտագործում մարտկոցի ցուցիչը, ոչ էլ ազդանշանը: Պատճառն այն է, որ իմ նախագիծը այլ նպատակի է: Մեքենայի թափքով ավարտված արդյունքը տեսնելուն պես դա ինքնին բացատրելի կլինի: … Բայց սա բերում է մեկ այլ գաղափար. Այս նախագծի վրա կան շատ չօգտագործված քորոցներ: Գուցե բեռնախցիկ բացող, մեքենայի դռների բացիչ, կրակ արձակող պայթուցիչ,…… կամ նույնիսկ մինի- Galvani-Edison Luminiferous Aether Disturbance Generator!

Բոլոր զոդման աշխատանքներն ավարտվելուց առաջ փորձարկեք լարերը սթրեսից ազատելու համար հոդերը տաք սոսնձելուց առաջ:

Ես օգտագործել եմ նույն Android հավելվածը, ինչ Ardumotive- ը, այն կարելի է գտնել https://play.google.com/store/apps/details?id=braulio.calle.bluetoothRCcontroller- ում

Մեքենայի գործառույթները ստուգելուց հետո ժամանակն է մարտկոցը տեղադրել և անջատել: Անցեք հաջորդ քայլին:

Քայլ 4: Մարտկոց և անջատիչ

Լավ, այստեղ դուք չեք կարող ճշգրիտ հետևել իմ ծրագրին:

Ինչ -որ կերպ, դուք պետք է լավ տեղ գտնեք մարտկոցը մեքենայի վրա դնելու համար, մարտկոցը լիցքավորող սարքից կամ մարտկոցի վարդակից ուղղակի լիցքավորման միջոց: Ներածական տեսանյութում ես պարզապես կպցրի մարտկոցը և միկրոկառավարիչը շրջանակին և գործարկեցի այն: Երբ ես ուզում էի կանգ առնել, ես պարզապես անջատեցի մարտկոցը: Այս կարգաբերման խնդիրը ձեր USB մալուխի և/կամ ձեր սնուցման բանկի խրոցակների փչացողությունն է: Ավելի լավ է անջատիչ ունենալ:

Նաև ստիպված կլինեք անջատիչի համար լավ տեղ գտնել, որտեղ մեքենայի թափքը դեռ թույլ կտա մուտք գործել: Ես օգտագործեցի պարզ կոճակի անջատիչ (ոչ մի ակնթարթային անջատիչ) և տեղադրեցի այն շրջանակի ներքևի մասում, որտեղ տեղակայված է մարտկոցի բնօրինակը:

Պետք է USB մալուխը կիսով չափ կտրեք և անջատիչը դրեք մարտկոցի և STM32F103C USB պորտի միջև: Այո, դուք կարող եք սնուցել STM32F103C- ն USB պորտով: Դուք պարզապես չեք կարող այն ծրագրավորել USB պորտի միջոցով: Ես նորից օգտագործեցի Dremel- ը `անջատիչի եռակցման կապում որոշ անցքեր հորատելու համար: Eredոդելուց հետո ես օգտագործեցի տաք սոսինձ, կրկին կապերը ամրացնելու համար:

Քայլ 5: Տեղադրեք ձեր մեքենայի մարմինը շրջանակի վրա

Լավ, ես ասացի, որ նորից մտադրվեցի այս մեքենայի օրիգինալ Arduino տարբերակը: Փաստացի վերջնական արտադրանքը բեմական հենարան էր «Շչելկունչիկ» բալետի համար ՝ մեր տեղական բալետային խմբի կատարմամբ: Բացման տեսարանում մի մուկ վազեց բեմի վրայով ՝ Դրոսսելմայերի պատահական կախարդանքով: Ես օգտագործեցի IKEA առնետ և տեղադրեցի այն շրջանակի վերևում ՝ Arduino և շատ ավելի մեծ մարտկոց: Հենարանը ծանր էր և վերալիցքավորվող: Սա շատ ավելի լավ է:

Haveվարճացեք ձեր մեքենայով: Հիշեք, որ STM32F103C- ում կան շատ այլ կապում, որոնք կարող են օգտագործվել: Միգուցե «Խաղալիքների պատմություն 4» -ում նման սկանդին:

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