Мазмуну:

Bluetooth, камера жана MIT App Inventor менен робот унаа2: 12 кадам (сүрөттөр менен)
Bluetooth, камера жана MIT App Inventor менен робот унаа2: 12 кадам (сүрөттөр менен)

Video: Bluetooth, камера жана MIT App Inventor менен робот унаа2: 12 кадам (сүрөттөр менен)

Video: Bluetooth, камера жана MIT App Inventor менен робот унаа2: 12 кадам (сүрөттөр менен)
Video: ТОП 1 САМАЯ ПРОДАВАЕМАЯ В 2023 ГОДУ КАМЕРА ВИДЕОНАБЛЮДЕНИЯ!!! 2024, Ноябрь
Anonim
Image
Image
Бөлүктөр жана Программалык камсыздоо
Бөлүктөр жана Программалык камсыздоо

Сиз качандыр бир кезде өзүңүздүн робот машинаңызды жасагыңыз келди беле? Мейли … бул сиздин мүмкүнчүлүгүңүз !!

Бул нускамада мен сизге Bluetooth жана MIT App Inventor2 аркылуу башкарылган робот машинасын кантип жасоону үйрөтөм. Мен жаңы келген адам экенимди жана бул менин биринчи сабагым экенин билиңиз, андыктан комментарийге жумшак болуңуз.

Ал жерде көптөгөн көрсөтмөлөр бар, бирок бул жерде мен көптөгөн функцияларды айкалыштырууга аракет кылдым: камера агымы, тоскоолдуктарды болтурбоо, УЗИ диапазону сенсору, Ларсон сканери (charlieplexing менен) жана Android колдонмосуна батареяны көзөмөлдөө !!

Келгиле, Фрэнки менен таанышууну баштайлы (ал көптөгөн жерлерден идеяларды колдонот ….hence Robo Frankenstein)

1 -кадам: Бөлүктөр жана Программалык камсыздоо

Бөлүктөр жана Программалык камсыздоо
Бөлүктөр жана Программалык камсыздоо
Бөлүктөр жана Программалык камсыздоо
Бөлүктөр жана Программалык камсыздоо

Бул жерде, менин шаарымда, бардык тетиктерди алуу кыйын, ошондуктан мен алардын көпчүлүгүн www.aliexpress.com сайтынан ала алдым.

Мен долбоорду эски уюлдук телефонду эске албастан 25-30 долларга курса болот деп эсептейм.

  • Унаа шасси: 3 дөңгөлөк, 2 мотор 6V (USD 9)
  • Arduino Nano (2 АКШ доллары)
  • Bluetooth HC-05 (USD 3төн 4кө чейин)
  • L293D мотор айдоочусу дөңгөлөктүү моторду айдайт (5 даана үчүн 1.50 АКШ доллары)
  • Камера жана Wi-Fi менен эски уюлдук
  • УЗИ сенсор HC-SR04 жакын объектке өлчөө үчүн (USD 1)
  • Ларсон сканери үчүн 6 светодиод
  • ATtiny85 Ларсон сканери үчүн (USD 1)
  • Нан тактасы (1 АКШ доллары)
  • Зымдар
  • 100K Ohm каршылыгы (4)
  • 1K Ом каршылыгы (2)
  • 2K Ом каршылыгы (1)
  • 270 Ом каршылыгы (3)
  • Коңгуроо

Программалык камсыздоо:

  • Arduino IDE
  • IP веб -камерасы (эски уюлдук Android үчүн)
  • MIT App Inventor2: Бул колдонмо эң сонун, бирок Android операциялык тутуму үчүн гана иштейт (Iphone жок … кечиресиз!)

2 -кадам: Курулуш процесси

Курулуш процесси
Курулуш процесси
Курулуш процесси
Курулуш процесси
Курулуш процесси
Курулуш процесси
Курулуш процесси
Курулуш процесси

Унаа шасси чогултуу үчүн абдан оңой; анын арткы дөңгөлөктөрүн кубаттоочу 2 мотор 6В жана 4 батарея пакети бар.

Робот унаа Bluetooth жана Wi-Fi аркылуу башкарылат. Bluetooth Машина менен MIT App ойлоп табуучунун ортосундагы сериялык байланышты башкарат2 жана Wi-Fi машинанын алдына орнотулган камера (эски уюлдук телефон) менен байланышуу үчүн колдонулат.

Бул долбоор үчүн мен эки батарейка топтомун колдондум: arduino 9В батарейка менен иштейт жана машинанын моторлору 6В (төрт 1.5V АА батареялары) менен иштейт.

Arduino Nano-бул долбоордун мээси, ал машинаны, ызылдакты, HC-SR04 ультрадыбыштуу сенсорун, Bluetooth HC-05, Ларсон сканерин (ATtiny85) башкарат жана батареяларды көзөмөлдөйт. 9V батарейкасы Винге барат (пин 30) жана Ардуинонун пини 27 нанга 5В жөнгө салынган кубатты берет. Бардык ICлерди жана батарейкаларды бириктирүү керек.

Тиркелген, схема Excelде жасалган (Кечиресиз …. Кийинки жолу мен Фритзингди сынап көрөм). Мен бардыгын нан жана эркектин жардамы менен эркек зым туташтыргычтарына коштум, меники келемиштердин уясына окшош.

3 -кадам: L293D мотор айдоочусу

L293D мотор айдоочу
L293D мотор айдоочу
L293D мотор айдоочу
L293D мотор айдоочу

L293D-бул 4,5Втан 36Вга чейинки чыңалууда 600 мАга чейин эки багыттуу диск агымын камсыз кылуу үчүн иштелип чыккан төрт эсе жогорку токтун жарым драйвери. Бул машинанын дөңгөлөктөрүн айдоо үчүн колдонулат.

Бул моторлор үчүн 6В батарейка (төрт 1.5V AA) менен иштейт жана Arduino Nanoдогу 5V (пин 27) жөнгө салынган логика үчүн 5V колдонот. Байланыштар тиркелген схемада көрсөтүлгөн.

Аны жылыткычка орнотуунун кажети жок болчу.

4-кадам: HC-05 Bluetooth

HC-05 Bluetooth
HC-05 Bluetooth

HC-05 Bluetooth 5V (arduino pin 27) менен иштейт, бирок логикалык деңгээл 3.3V, башкача айтканда 3.3V менен байланыштар (Tx жана Rx) экенин түшүнүү маанилүү. Мына ошондуктан Rxти максималдуу 3.3V менен конфигурациялоо керек, ага деңгээлди которгучтун которгучу менен же чынжырда көрүнгөн 1K жана 2K каршылыгын колдонуу менен чыңалуу бөлүштүргүч менен жетишүүгө болот.

5 -кадам: Батарея монитору

Батареянын деңгээлин көзөмөлдөө үчүн, мен чыңалуу бөлгүчтөрүн 5В (Arduino максималдуу диапазону) астына түшүрүү үчүн койдум. Чыңалуу бөлүштүргүч чыңалууну Arduino аналогдук кирүү чегинде азайтат.

А4 жана А6 аналогдук кирүүлөр колдонулат жана өлчөө процессинде батарейкаларды өтө көп сарптабоо үчүн жогорку резисторлор (100K ом) колдонулат. Биз, эгерде резисторлор өтө эле төмөн болсо (10К Ом), жүктөө эффекти аз болсо, чыңалуу көрсөткүчү такыраак, бирок ток чиймеси көбүрөөк; эгер алар өтө бийик болсо (1М ом), көбүрөөк жүктөө эффекти, чыңалуу көрсөткүчү анча так эмес, бирок азыраак чийме.

Батареяны көзөмөлдөө ар бир 10 секундада жүргүзүлөт жана түздөн -түз контроллер уюлдук телефонуңузда көрсөтүлөт.

Мен ишенем, бул бөлүктү өркүндөтүүгө көп мүмкүнчүлүктөр бар, анткени мен эки аналогдук казыктан окуп жатам жана ички MUX алардын ортосунда алмашып жатат. Мен бир нече өлчөөнү орточо алган жокмун жана, балким, мен эмне кылышым керек эле.

Келгиле, төмөнкү формуланы түшүндүрүп берейин:

// А4 аналогдук пинден чыңалууну окуп, Arduino үчүн калибрлөө:

Voltage1 = (analogRead (A4)*5.0/1024.0)*2.0; //8.0V

Arduino нано тактасында 8 канал, санариптик конвертерге 10 биттик аналог бар. AnalogRead () функциясы пинге колдонулган чыңалууга пропорционалдуу 0 менен 1023 ортосундагы санды кайтарат. Бул көрсөткүчтөрдүн ортосунда чечим чыгарат: 5 вольт / 1024 бирдик же.0049 вольт (4.9 мВ) бирдикке.

Чыңалуу бөлүштүргүч чыңалууну эки эсе азайтат жана чыныгы чыңалууга жетүү үчүн 2ге көбөйтүү керек !!

МААНИЛҮҮ: Ардуинону кубаттоо үчүн мен жасаганга караганда эффективдүү жол бар экенине ишенем !! Жаңы келген адам катары мен кыйын жолду үйрөндүм. Arduino Vin пин сызыктуу чыңалуу жөндөгүчүн колдонот, демек 9В батарея менен сиз сызыктуу жөндөгүчтүн чоң бөлүгүн күйгүзөсүз! Жакшы эмес. Мен муну мындай кылдым, анткени бул тез жана мен жакшы билген эмесмин … бирок Robo Frankie 2.0 версиясында мен, албетте, башкача кылам.

Мен DC үнөмдөөчү кубаттуулукту жана Li-ion аккумулятордук батареясын жакшыраак жол деп ойлоп жатам. Сиздин жылуу сунушуңуз кабыл алынат …

6-кадам: HC-SR04 Ultrasonic Range Sensor

HC-SR04 Ultrasonic Range Sensor
HC-SR04 Ultrasonic Range Sensor

HC-SR04 УЗИ диапазону сенсор болуп саналат. Бул сенсор 2смден 400смге чейин 3ммге чейин тактык менен өлчөөнү камсыздайт. Бул долбоордо ал 20см же андан аз болгондо тоскоолдукту болтурбоо үчүн жана уюлдук телефонуңузга кайра жөнөтүлгөн объектке чейинки аралыкты өлчөө үчүн колдонулат.

Уюлдук телефонуңуздун экранында баскыч бар, аны жакынкы объектке аралыкты сураш үчүн басуу керек.

7 -кадам: Ларсон сканери

Ларсон Сканер
Ларсон Сканер
Ларсон Сканер
Ларсон Сканер
Ларсон Сканер
Ларсон Сканер

Мен кызыктуу нерсени киргизгим келди, ошондуктан мен K. I. T. T окшош Ларсон сканерин коштум. Knight Riderден.

Ларсон сканери үчүн мен charlieplexing менен ATtiny85ти колдондум. Charlieplexing - бул мультиплекстүү дисплейди айдоонун ыкмасы, мында микроконтроллердеги салыштырмалуу аз эле I/O төөнөгүчтөрү LED диапазонун айдоо үчүн колдонулат. Бул ыкма салттуу мультиплекстөөнүн натыйжалуулугуна жетүү үчүн микроконтроллерлердин үч штаттык логикалык мүмкүнчүлүктөрүн колдонот.

Бул учурда мен ATtiny85тен 6 светодиодду күйгүзүү үчүн 3 төөнөгүчтү колдонуп жатам !!

Сиз "X" LEDлерин N казыктары менен күйгүзө аласыз. Канча светодиод айдай ала турганыңызды билүү үчүн төмөнкү формуланы колдонуңуз:

X = N (N-1) LEDлер N казыктары менен:

3 казык: 6 LED;

4 казык: 12 LED;

5 казык: 20 светодиод… сиз идеяны аласыз;-)

Позитивден (аноддон) терске (катод) агат. Жебенин учу - катод.

Белгилей кетчү нерсе, пин 1 (Arduino IDE кодунда) ATtiny85теги физикалык 6 -пинге тиешелүү (тиркелген pinoutту караңыз).

Ларсон сканерин башкарган ATtiny85ке жүктөлүшү керек болгон кодду табыңыз. Мен ATtiny85ке кодду кантип жүктөө керектигин сүрөттөп жаткан жокмун, анткени буга окшош көптөгөн көрсөтмөлөр бар.

8 -кадам: Код

Code
Code

Мен Larson сканерин башкарган ATtiny85ке жүктөлүшү керек болгон кодду жана Arduino нанонун кодун тиркеп жатам.

Arduino наносуна келсек, мен башка көрсөтмөлөрдүн коддорунун бир бөлүгүн колдондум (бул жерде) жана муктаждыктарыма ылайык өзгөртүүлөрдү киргиздим. Switch - Case кантип иштээрин жакшыраак түшүнүү үчүн, мен коддун блок -схемасын (дагы айкыныраак сүрөт үчүн) киргиздим.

Маанилүү: CarBluetooth кодун Arduino наного жүктөө үчүн, RC жана Txти HC-05 Bluetooth модулунан ажыратуу керек!

9 -кадам: Камера

Камера
Камера
Камера
Камера

IP веб -камера тиркемеси оюн дүкөнүнөн жүктөлүп, эски телефонуңузга орнотулушу керек. Видео тандоолорун текшериңиз, чечимди ошого жараша тууралаңыз жана акыры берүүнү баштоо үчүн "Серверди башта" деген акыркы буйрукка өтүңүз. Wi-Fi'ды уюлдук телефонго которууну унутпаңыз !!

10 -кадам: MIT App Inventor2

MIT App Inventor2
MIT App Inventor2

MIT App ойлоп табуучу2 - булутка негизделген курал, ал веб -браузериңизде колдонмолорду түзүүгө жардам берет. Бул колдонмо (бир гана Android негизделген уюлдук үчүн), анда сиздин клеткага жүктөлүп, робот машинаңызды башкара алат.

Мен.apk жана.aia коддорун тиркеп жатам, андыктан сиз менин кылган иштеримди көрүп, аны каалагандай өзгөртө аласыз. Мен интернеттен кодду (MIT App) колдондум жана өзүмө өзгөртүүлөрдү киргиздим. Бул код робот машинанын кыймылын көзөмөлдөйт, ультрадыбыштуу сенсордон сигнал алат, жарыкты күйгүзөт жана коңгуроо сигналын берет. Ал ошондой эле батарейкалардан бизге чыңалуу деңгээлин билдирүүчү сигналды алат.

Бул код менен биз машинадан эки башка сигналды ала алабыз: 1) жакынкы объектке чейинки аралык жана 2) мотор жана ардуино батареяларынан чыңалуу.

Алынган сериялык сапты аныктоо үчүн, Arduino кодуна жөнөтүлгөн саптын түрүн көрсөткөн желекти киргиздим. Эгерде Arduino УЗИ сенсорунан ченелген аралыкты жөнөтсө, анда ал жиптин алдына "А" тамгасын жөнөтөт. Ардуино Батарея деңгээлин жөнөткөндө, ал "B" белгиси бар желекти жөнөтөт. MIT App ойлоп табуучулар2 кодунда мен Arduinoдон келген сериялык сапты талдадым жана бул желектерди текшердим. Мен айткандай, мен жаңы келген адаммын жана муну жасоонун эффективдүү жолдору бар экенине ишенем жана кимдир бирөө мени жакшы жол менен жарыктандырат деп үмүттөнөм.

Arduino_Bluetooth_Car.apkти мобилдик телефонуңузга жөнөтүңүз (электрондук почта же Google Drive аркылуу) жана аны орнотуңуз.

11 -кадам: Уюлдук телефонуңузду RC унааңызга туташтырыңыз

Уюлдук телефонуңузду RC унааңызга туташтырыңыз
Уюлдук телефонуңузду RC унааңызга туташтырыңыз
Уюлдук телефонуңузду RC унааңызга туташтырыңыз
Уюлдук телефонуңузду RC унааңызга туташтырыңыз

Биринчиден, эски уюлдук телефондогу wi-fi күйгүзүңүз (RC роботунда).

Контролёр уюлдук телефонуңузда Wi-Fi, Bluetooth күйгүзүңүз жана жаңы эле орнотулган Arduino_Bluetooth_Car.apkти ачыңыз. Экрандын аягында (эгер сиз аны көрө албасаңыз, ылдый жылдырыңыз) эки баскычты көрөсүз: Түзмөктөр жана БАЙЛАНЫШ. Түзмөктөрдү чыкылдатып, RC Машинаңыздан Bluetooth'ду тандаңыз (HC 05 болушу керек), анан БАЙЛАНУУну чыкылдатыңыз жана экраныңыздын сол жагында БАЙЛАНЫШТУУ кабарды көрүшүңүз керек. Биринчи жолу сизден сырсөз суралат (0000 же 1234 киргизиңиз).

Эски уячаңыздын IP дарегин терүү керек болгон кутуча бар (сиздин RC Унааңыздагы уюлдук телефон), менин учурда бул

Бул IP номерин Wi-Fi роутериңизден билсе болот. Сиз роутериңиздин конфигурациясына кирип, Түзмөктөр тизмесин тандап алышыңыз керек (же роутериңиздин маркасына жараша) жана эски уюлдук түзмөгүңүздү көрүп, аны чыкылдатып, бул кутуга IP номерин киргизиңиз.

Андан кийин КАМЕРАны тандап, камераңызды RC Машинаңыздан көрүп башташыңыз керек.

12 -кадам: Сиз бүттүңүз

Сиз Бүттүңүз!
Сиз Бүттүңүз!

Сиз бүттүңүз! Аны менен ойноп баштаңыз

Келечектеги өзгөрүүлөр: Мен 9В батареяны Li-ion батарейкалары менен алмаштырам жана аларды DC-DC күчөтүүчү чыңалуу жөндөгүчүн колдонуу үчүн алмаштырам, ошондой эле аналогдук көрсөткүчтөрдү тегиздөө (орточо) менен батарейканын мониторун жакшыртууну каалайм. А. И. дагы …;-)

Мен биринчи көрсөтмө конкурсума катыштым … андыктан добуш бериңиз;-)

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