Мазмуну:

Bluetooth RC Car STM32F103C жана L293D менен - Арзан: 5 кадам
Bluetooth RC Car STM32F103C жана L293D менен - Арзан: 5 кадам

Video: Bluetooth RC Car STM32F103C жана L293D менен - Арзан: 5 кадам

Video: Bluetooth RC Car STM32F103C жана L293D менен - Арзан: 5 кадам
Video: RC car with STM32 + WLAN module ESP8266 2024, Июнь
Anonim
Image
Image
Батарея жегичти жок кылыңыз!
Батарея жегичти жок кылыңыз!

Мен Ardumotive_com тарабынан сүрөттөлгөндөй Bluetooth Arduino Унаасын жасадым. Менде болгон көйгөй батареялар жана алардын салмагы, ошондой эле алардын чыгымы болчу. Ошондон бери уюлдук телефондор үчүн арзан энергетикалык банктар абдан жеткиликтүү болуп калды. Мага салмагын азайтуу гана керек болчу. Мен арзан болгондуктан STM32F103C микроконтроллерине которулдум. STM32F103C Микроконтроллерди 2 доллардан азыраак сатып алууга болот жана Arduinoдон бир топ кичине. Мен кодировканы бир аз өзгөртүп, STM32F103C менен иштедим.

Жабдуулар

  • Аккумуляторлорду жеген арзан алыстан башкаруу машинасы. Ооба, Ardumotive_com колдонгон сыяктуу. Сиз системаны өчүрүп, анын ордуна телефон кубат банкын колдоносуз. Эгерде сизде өзүңүздүн шассиңизди курууга ресурстарыңыз болсо, ага ээ болуңуз. Көчөдөгү оюнчуктар дүкөнүнө барып, 10 долларга жетпеген арзан машина сатып алдым. Унаа батарейканы жейт, алыстан башкаруу батареяны жейт-жакшыртуу үчүн эң сонун.
  • Телефондук банк- Алар супер арзан, азыр. Капталында кубат баскычы бар электр банктарынан адашыңыз. Сиз машинаңызды ээрчип, баскычты басып коё албайсыз. Бул акылсыздык.
  • A L293D чипи-Бул электр кыймылдаткычтарын башкара турган кош H-Bridge.
  • HC-06 Bluetooth модулу
  • Которуу- Мен жөнөкөй күйгүзүү/өчүрүү которгучун колдондум.
  • Кээ бир Wire -телефон зымы жакшы болмок, бирок бир аз чоңураак 20 калибр жакшы болмок.
  • Blue Pill жана L293D орнотуу үчүн Proto Board же пластмассадан же картондон. Мен арзанмын, ошондуктан лампочка кутусунан жука гофр картон менен бир аз башкача системаны ойлоп таптым.
  • Эки арзан USB кубаттоо кабели-Буларды доллар дарагынан сатып алса болот. Жакшы программалоо кабелин колдонбоңуз. Бири күйгүзүү/өчүрүү үчүн кесилет, экинчиси батареяны кубаттайт.

Милдеттүү эмес

  • 4 светодиод -эгер сиз фараларды жана арткы фонарларды кааласаңыз.
  • 4 220 Ом резисторлору- 3.3v системасындагы светодиоддор үчүн.
  • Мүйүз үчүн пьезо же кичине динамик.

Куралдар

  • Паяльник жана Лайк
  • Hot Glue Gun- Менин кызым Hot Glue Gun Ninja!
  • Зымдан тазалоочу жана кесүүчү
  • ЭСКЕРТҮҮ: эгер сиз протон тактасына караганда мен колдонгон картон техникасын колдонсоңуз, анда сизге Dremel же кичине бургулоо керек болот

1 -кадам: Батарея жегичти жок кылыңыз

Батарея жегичти жок кылыңыз!
Батарея жегичти жок кылыңыз!

Батарея жегичти жок кылуу менен көңүл ачууга убакыт келди! Ооба, бул нерсени түшүнөм! Дүйнөнү жашылдандыруу үчүн өз салымыңызды кошуп жатканыңызды сыймыктануу менен сезиңиз- Макул, бул созулган нерсе, бирок баары бир… Кадрга өтүңүз.

Жогоруда мен Arduino версиясын түзгөн бирдик. Arduino версиясы батарейканын олуттуу кубатын колдонуп, машинаны оорлотту. Ошентип, мен аны кайра кадрга түшүрдүм. Мен желим бөтөлкөдөн жана ысык желимден бир нече канат куйгузуп, корпусун ыңгайлаштырып койгом. Дене жөнүндө кийинчерээк.

Кыймылдаткычтары менен рулду жылаңачтап алгандан кийин, мотор терминалдарынын кайсы тарабы экенин табыңыз. Моторду текшерүү үчүн батареяны же 5v кубаттагычты колдонуңуз.

Рулдагы мотордо дөңгөлөктөр оңго бурулганда, оң батарейканын зымын "3" жана терс зымды "6" деп белгилеңиз.

Айдоочу мотордо, дөңгөлөктөр алдыга бурулганда, батареянын оң зымын "14" жана терс зымды "11" деп белгилеңиз.

2 -кадам: Arduino IDEдеги код

Код Arduino IDEде
Код Arduino IDEде
Код Arduino IDEде
Код Arduino IDEде

Эгер эң биринчи машинаңыздын электроникасын протоколдоп койсоңуз жакшы болмок.

Макул, бул татаал бөлүктөрдүн бири. "Көк таблетканы" USB порт аркылуу программалоо мүмкүн эмес. Мен "Көк таблетканын" программалоо түшүндүрмөсүн Жооп Броккингдин Youtube видеосуна караганда тапкан жокмун. Бул Роджер Кларктын STMduino китепканасы, анын ичинде билишиңиз керек болгон нерселердин бардыгын түшүндүрөт. Жүктөгүчтү орнотуунун бир жолу бар, андыктан USBди "Көк таблетканы" программалоо үчүн колдонсоңуз болот, бирок баары бир сериялык автобус аркылуу жүктөгүчтү программалашыңыз керек.

Тилекке каршы, Serial Bus Bluetooth адаптери тарабынан да колдонулат. Программа биринчи FTDI аркылуу Serial Bus, PA9 жана PA10 казыктары аркылуу орнотулушу керек, андан кийин Bluetooth адаптери менен бардык жөндөөлөрүңүздү текшере аласыз.

Нан тактасын колдонуңуз жана нан үстүндөгү нерселердин бардыгын жогорудагы фризинг эскизиндей эле жайгаштырыңыз. STM32F103Cнин PA9 жана PA10 төөнөгүчтөрүндөгү Bluetooth адаптеринин Serial TX жана RX линияларын ажыратыңыз. Сиздин FTDIге жана программаңызга илинип коюңуз. Сериялык Автобус линиялары кесилгенин тактаңыз, RX - Tx жана Tx - RX. Бири алат, экинчиси берет.

Программа жүктөлгөндөн кийин, сериялык консолун ачып, жөнөтө аласыз

чырактар иштеп жаткандыгын көрүү үчүн. Жарыктар иштеп жатса, жөнөтсөңүз болот

кайра аларды өчүрүү үчүн.

Дөңгөлөктөрдү көтөрүп, жөнөтүү үчүн машинаңызды блокко коюңуз

Дөңгөлөктөр алдыга жылышы керек. Антпесе, зымдарды артка кайтарыңыз. Зымдарды мурда кантип белгилегенибизди унутпаңыз. L293D тиешелүү казыктары дал келиши керек.

Токтотуу үчүн жөнөтүңүз

Кодекстеги олуттуу өзгөрүүлөрдү карап көрөлү.

Комментарийленген бөлүмдө, башында, сиз Ardumotiveден файлдардын түптөөчүсүн көрүшүңүз керек. Кийинки бир нече комментарийлер STM32F103C чагылдыруу үчүн бир аз өзгөргөнүмдү түшүндүрөт.

/ * * Василакис Михалис тарабынан түзүлгөн // 12-12-2014 ver.2

* Долбоор: Android Смартфону менен Bluetooth аркылуу RC Унаасын көзөмөлдөңүз * Көбүрөөк маалымат https://www.ardumotive.com сайтынан * * Бул кодду STM32F103 форматына ылайыкташтырып өзгөрткөн, Jim Garbe, [email protected] * Көбүрөөк маалымат https:// github.com/jgarbe/RCCAR_STM32F103C*Эскертүү, 8-биттик 0-255*16-биттик маанилерди чагылдыруу үчүн өзгөртүлгөн 0-65535*//****************** **********STM32де аналогдук жазуу дагы эле 8-бит 255те иштейт,*Бирок сиз PWM диапазонун жарыялоо менен PWM диапазонунун толук функциясын ала аласыз, 0-65535*ЖАНА analogWrite () ордуна pwmWrite () колдонуу **************************/

Белгилей кетчү нерсе, төөнөгүчтөр Arduino менен STM32F103C ортосунда бирдей аталышка ээ эмес. Биз казыктарды кийинки саптар топтомун колдонуу менен жарыялайбыз. Укурукта жарыяланган бир пин калды. 197 -сапта, PA5 батарейканын деңгээлин окуу үчүн колдонулат.

//// L293 Connection

const int motorA1 = PB6; // L293 const int motorA2 = PB7нин 15 пинине; // L293 const int motorB1 = PB8 10 -пинге; // L293 const int motorB2 = PB9 7 -пинге; // L293 -тин 2 -пинге // STM32F103C Pin A12 const инт чырактарына туташкан Leds = PA12; // Buzzer /Speaker to Arduino UNO Pin A8 const int buzzer = PA8; // Bluetooth (HC-06 JY-MCU) STM32F103C const int BTState = A11 пин A11 абалындагы пин;

Ошондой эле, analogWrite () колдонуу; дагы эле "BluePill" боюнча иштей берет. Бирок PWM төөнөгүчтөрүн колдонуу менен жарыялоо жакшы, pinMode (, PWM);

Андан кийин колдонуңуз

pwmWrite (,);

ЭСКЕРТҮҮ: 8-бит = 0-255, 16-бит = 0-65535

32-44-саптар батарейкага киргизилген өзгөртүүлөр. Эгерде сиз батарейканын деңгээлин текшерүүнү колдоно турган болсоңуз, анда сизде болгон батарея үчүн добуш бөлүштүргүчтү колдонуу керек. Бул бөлүк Fritzing эскизинде чагылдырылган эмес. Youtubeда чыңалуу бөлүштүргүчтү түзүү боюнча көптөгөн түшүндүрмөлөр бар. STM32F103C 3.3v чипи болгондуктан, мен бул жерге кодду физикалык түрдө чыңалуу бөлүштүргүчтү колдонуу үчүн бекиттим. Arduino берилген ADC аркылуу кээ бир жогорку чыңалууга чыдай алат, бирок "Көк таблетка" чыдай албайт.

/* Батарейканын деңгээли Pin PA5те текшерилет

* STM32F103C үчүн кийинки линияны өзгөрттү, анткени ADC 3.3v ашпаган нерсени башкара албайт * Мен жөн гана комментарий бердим * Чыңалуу бөлүштүргүч, эки резисторду колдонуп, ADC киргизүүнү өлчөө үчүн колдонулушу керек * * мисал: * GND --- 2K каршылыгы ----------------- 1K каршылыгы ------ 5v * | * | * 3.3v */ // const float maxBattery = 3.3; // Батареяңыздын максималдуу чыңалуусунун маанисин өзгөртүңүз!

3 -кадам: Бардыгын бириктирүү

Баарын бирге кой
Баарын бирге кой
Баарын бирге кой
Баарын бирге кой
Баарын бирге кой
Баарын бирге кой
Баарын бирге кой
Баарын бирге кой

Мен, адатта, бардыгын туташтыруу үчүн тешиктердин ортосуна тетиктерди жана ширетүүлөрдү коюу үчүн прото тактаны колдоном. Кээде мен Франкенштейндин 3D форматындагы ширетүү үчүн бардыгын чогуу "чайкайм".

Мен бул гибрид ыкмасын шайманды таза жана жеңил кылуу үчүн тандадым- жана, албетте, АРЗАН!

Бул ыкма маркалоого да мүмкүнчүлүк берет. Deadbug ширетүүнүн эң начар бөлүктөрүнүн бири - бул IC чипин астынан карап, кайсы пин эмне экенин унутуу.

Жогорудагы сүрөттөр өзүнчө түшүнүктүү. Менин оюмча, кыйын бөлүгү - ошол эле учурда чөгүп кете турган жана каттуу боло турган ичке картон табуу. Пластикти да колдонсоңуз болот, бирок аны белгилөө бир аз кыйыныраак. Мен казыктарды тактага басып, чуңкурларды белгилегенден кийин, мен Dremel аркылуу ар бир тешикти тешип өтөм.

Эгерде сиз буга чейин байкай элек болсоңуз, менде чырактар тактада кошумча аксессуар катары гана бар. Мен батарейканын индикаторун же сигналын колдонбойм. Себеби менин долбоорум башка максатта. Бул машинанын кузову менен даяр натыйжаны көргөндөн кийин өзү түшүндүрмө берет. … бирок бул дагы бир идеяны алып келет, бул долбоордо колдонулбаган төөнөгүчтөр көп. Балким, багажды ачуучу, машинанын эшигин ачуучу, өрткө каршы детонатор,…… же мини-Галвани-Эдисон жаркыраган эфирдин бузулуу генератору!

Бардык ширетүү иштери аяктагандан кийин, зымдарга стресстен арылуу үчүн муундарды ысык клейден мурун текшерип көрүңүз.

Мен Ardumotive сыяктуу эле Android колдонмосун колдондум, аны https://play.google.com/store/apps/details?id=braulio.calle.bluetoothRCcontroller дарегинен тапса болот

Унаанын функцияларын текшергенден кийин, батарейканы коюп, которуштурууга убакыт келди. Кийинки кадамга өтүү.

4 -кадам: Батарея жана которуштуруу

Макул, бул жерде менин планымды так аткара албайсың.

Кандайдыр бир жол менен, батарейкаңызды машинага салуу үчүн жакшы жерди табышыңыз керек, батарейканы банкадан кубаттоо жолу же батарейканын сайгычын түз заряддоо жолу. Киришүү видеосунда мен жөн эле батареяны жана микроконтроллерди кадрга скотч менен чаптап койгом. Токтогум келгенде, батарейканы сууруп салдым. Бул орнотуунун көйгөйү - USB кабелиңиздеги жана/же кубат банкыңыздагы сайгычтардын бузулушу. Которгуч болгону жакшы.

Сиз ошондой эле машинанын кузову дагы кирүүгө уруксат бере турган которгуч үчүн жакшы жерди табышыңыз керек болот. Мен жөнөкөй баскычты которгучту колдонгом (бир заматта эмес), жана аны баштапкы батарея бөлүмү жайгашкан алкактын түбүнө орноттум.

Сиз USB кабелин экиге бөлүп, батарейка менен STM32F103C USB портун ортосундагы которууну коюшуңуз керек. Ооба, сиз USB порту менен STM32F103C иштете аласыз. Сиз аны USB порт аркылуу программалай албайсыз. Мен дагы бир Дремелди колдонуп, которгучтун ширетүүчү казыктары үчүн тешиктерди бургуладым. Бир жолу ширетилгенден кийин, мен Hot Glue колдондум, дагы байланыштарды бекемдөө үчүн.

5 -кадам: Унааңыздын тулкусун алкакка коюңуз

Макул, мен бул машинанын баштапкы Arduino версиясын кайра ойлоп тапканымды айттым. Чыныгы акыркы продукт, анда биздин жергиликтүү балет компаниясы тарабынан аткарылган "Щелкунчик" балетинин сахналык таянычы болгон. Ачылыш сахнасында, чычкан Дросселмейердин кокустук сыйкыры менен сахнанын артынан чуркап өттү. Мен IKEA чычкан колдондум жана аны рамканын үстүнө, Arduino жана бир топ чоң батарейкага орноттум. Таяк оор болчу жана кайра заряддалбайт. Бул алда канча жакшыраак!

Унааңыз менен көңүл ачыңыз. STM32F103Cде колдонууга боло турган дагы көптөгөн төөнөгүчтөр бар экенин унутпаңыз. Балким, "Оюнчуктар окуясы 4" те окшош скунка.

Сунушталууда: