Мазмуну:
- 1 -кадам: Сизге эмне керек
- 2 -кадам: Документтер
- 3 -кадам: Ultrasonic Sensor колдоо даярдоо
- 4 -кадам: Бардыгын прототиптөө тактасына орнотуңуз
- 5 -кадам: Акыркы байланыштарды түзүү
- 6 -кадам: Программаны жүктөө
- 7 -кадам: C кодун түшүнүү
- 8 -кадам: Java кодун түшүнүү
- 9 -кадам: Жыйынтык
Video: Долбоор 3: SonarDuino: 9 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:41
Урматтуу Хоббист жолдошум, Бул долбоордо биз объекттерди аныктоо үчүн 360 градустук радар системасына ээ болуу мүмкүнчүлүгүн изилдейбиз. Бул модулдун өзүнчө болушу сиздин локомотив роботуңузга анын тегерегинин чектерин аныктоого мүмкүндүк берет. Ал ошондой эле караңгыда навигациялык курал катары кызмат кыла алат, бирок сиз жай басканда гана; б
1 -кадам: Сизге эмне керек
Бул курулушту жасоо үчүн төмөнкүлөрдү сатып алышыңыз керек:
Arduino Nano: https://www.ebay.com/itm/USB-Nano-V3-0-ATmega328-16M-5V-Micro-controller-CH340G-board-For-Arduino/201601613488?hash=item2ef0647eb0:g:DkoAAOSw0YZZp: rk: 2: pf: 0
Прототиптоочу такталар: https://www.ebay.com/itm/20pcs-set-4Size-Double-Side-Protoboard-Circuit-Universal-DIY-Prototype-PCB-Board/192076517108?epid=506557101&hash=item2cb8a70 ~ Zbl232: rk: 13: pf: 0
Servo Motors: https://www.ebay.com/itm/5pcs-POP-9G-SG90-Micro-Servo-motor-RC-Robot-Helicopter-Airplane-Control-Car-Boat/142931003420?hash=item21475a081c:rk: 16: pf: 0 & var
УЗИ сенсорлору: https://www.ebay.com/itm/5PCS-Ultrasonic-Sensor-Module-HC-SR04-Distance-Measuring-Sensor-for-arduino-SR04/170897438205?epid=18020663283&hash=it27 ~ IAAOSw-xbD5Fp: rk: 2: pf: 0
2 -кадам: Документтер
Муну кээ бирөөлөр билиши мүмкүн эле, бул долбоор "Мехатроникага кантип" @ Дежан тарабынан жасалган "Arduino Radar Project" деп аталган дагы башка ачык булактан алынган долбоордон шыктандырылган @ https://howtomechatronics.com/projects/arduino -радар долбоору/
Документтерди талап кылган дагы бир жагдай - бул эки китепкананы иштеп чыгуу чөйрөңүзгө жүктөө:
Adafruit-GFX-Китепкана:
Adafruit_SSD1306:
Бул айтылгандай, C кодун чындап түшүнүү үчүн жогорудагы эки китепкананын документтерин жасоо керек болот. Мындан тышкары, менин кодумда колдонгон функциялар эмне кылганын айтып бере турган аталыштарга ээ.
3 -кадам: Ultrasonic Sensor колдоо даярдоо
Картондун каалаган бөлүгүн алып, биринчи сүрөттө көрсөтүлгөндөй сенсорго тиркелген туташтыруучу кабелдердин өлчөмүнө жараша кесип алыңыз. Андан кийин, бул акыркы бүктөп жана servo мотор колдоо аны клей. Муну аткаргандан кийин, акыркы сүрөттөгүдөй эки УЗИ сенсорун клей менен жабыштырыңыз. Белгилей кетчү нерсе, сенсорлордун башы кабелдин сенсордун алдына сыртка чыгып кетиши үчүн ширетилиши керек. Бул 360 градус айлануу ишке ашырылганда сенсор кабелдер бири -бирине тоскоолдук кылбоого мүмкүндүк берет.
4 -кадам: Бардыгын прототиптөө тактасына орнотуңуз
Бул кадамда сиз мурунку баскычта даярдалган баштыкты тийиштүү servo моторуна орнотуудан баштайсыз. Серво мотору кылдат көнгөндөн кийин, сиз бардыгын прототипдөө тактасына бириктиресиз. Сиз Arduino Nano ширетүүдөн баштайсыз, андан кийин анын жанындагы сервону чаптоо менен. Акыр -аягы, тактанын башка четиндеги кичинекей OLED дисплейин ширетесиз.
5 -кадам: Акыркы байланыштарды түзүү
Бул кадам бул долбоордун аппараттык жагын жыйынтыктайт. Бардык керектүү байланыштарды орнотуу үчүн сиз берилген схемаларды аткарышыңыз керек.
6 -кадам: Программаны жүктөө
Сиз жүктөөңүз керек болгон эки код бар
Arduino (C):
Иштетүү (java):
Кодду иштетип жатканда, тандоонун эки варианты болот:
1 -вариант: OLED дисплейин колдонуу үчүн, C кодундагы MODE өзгөрмөсүн 0 коюңуз.
2 -вариант: Мониторуңузду колдонуп, ал үчүн C кодундагы MODE өзгөрмөсүн 1ге коюшуңуз керек болот. Мындан тышкары, Processing development чөйрөсүн жүктөп, орнотуп, бул шилтемеден радардын шрифтин жүктөп алышыңыз керек болот: https:// github.com/lastralab/ArduinoRadar/blob/ma…
Ал файлды иштетүү кодуңузга кошуп коюңуз, ошондо java кодуңуз шрифтти тааныйт.
7 -кадам: C кодун түшүнүү
Код негизинен эки "for" циклинен турат. Бири алдыга өтүү менен, экинчиси артка өтүү менен байланыштуу. Экөөнүн ичинде экранда радардын сызыктарын тарта турган draw_scanner () негизги функциясы көп жолу аталат. Бир нече конфигурацияны текшергенден кийин, мен аларды жок кылуу үчүн t+1 убагында кара түстөгү ошол эле радар сызыктары менен ак радар сызыктарын кайра жазуу керек деген жыйынтыкка келдим. Болбосо, жаңы пикселдик торду түртүүдөн мурун "clearDisplay ()" функциясын колдонуп, дисплейди тазалаган сайын жылтылдап турат. Мен 7 линия менен иштеп жатканымда- дизайн максаттары үчүн- мен 7 элементтен турган бүтүн массивди сактоону улантууга туура келди, анда ар бир элемент радардын борборунун ортосундагы радиусту, эгер бар болсо. Муну эске алуу менен, коддун калган бөлүгү түшүнүү үчүн түз болушу керек.
8 -кадам: Java кодун түшүнүү
Иштетүүдө мен COME сериялык порттору менен гана иштеген serialEvent () функциясынын чакыруусун айланып өтүүгө туура келди. Мен Macта иштеп жатканымда, менин сериялык портторум башка ат менен аталды. Айтор, мен бул функцияны "draw ()" иштетүүдө негизги функцияга коштум. Калган нерселерге байланыштуу, мен толук революция дизайнына жооп берүү үчүн тиркемени жаңырттым. Акыр -аягы, мен бардык тартылган формаларды жана тексттерди экрандын туурасына карата жаңырттым, ошондо акыркы продукт ар кандай экран токтомдоруна туура келет. Мен аны жеке 1000X1000 жана 500X500 токтомдору үчүн сынап көрдүм жана ал жакшы иштеди:).
9 -кадам: Жыйынтык
Бул иш 3 УЗИ сенсорлоруна ээ боло алат, алардын ар бири 120 көрүү бурчун камтыйт, же 4 сенсор (90 градус*4) -> 360 градус тезирээк. сканерлөө.
Сиз ошондой эле радардын диапазонун 40 смден 60 смге, ал тургай 80 смге чейин узарта аласыз. Мен жеке эле pulseIn функциясын сынап көрдүм жана 40 см ге карата TIMEOUT өзгөрмөсүн жөнгө салдым. Бул өзгөрмө көптөгөн факторлорго, анын ичинде импульстун узундугуна жана импульс чагылдырылган нерсенин бетине көз каранды.
Акыры, мурда айтылгандай, кийинки кадам - айланасындагы периметрди сканерлөө үчүн локомотив роботу менен radarDuino киргизүү.
Сунушталууда:
Жайкы долбоор 2020: 8 кадам
Жайкы долбоор 2020: Менин 2020 -жылдын жайкы проектиси үчүн мен бир эле шасси менен эки робот машина жасадым. Бир робот машинанын алдында турган объектилерди аныктоо үчүн УЗИ сенсорун колдонуп, анан багытын автоматтык түрдө өзгөртүшү керек болчу. Башка унаа болсо керек
Дем алыш күндөрү үчүн кызыктуу долбоор, FishCam !: 4 кадам
Дем алыш күндөрү үчүн кызыктуу долбоор, FishCam !: Мен бир нече ай мурун учкучсуз учагымды кыйраттым жана мен кыла турган жалгыз акылга сыярлык нерсе - аны ажыратуу. Көрсө, менде эмне кылсам болот деген көптөгөн идеялар бар болчу. Мен эч качан алган эмесмин, бирок биздин ранчого барганда менде бир ой пайда болду. Камерада W бар
Heartbeat Game-Долбоор: 4 кадам
Heartbeat Game-Project: Бүгүн баарыбыз билгендей 20-май. Бул мурунтан эле салттуу кытай Валентин күнүнө айланган. (520 кытай тилинде мен сени сүйөм дегенди билдирет). Эми жубайлардын үнсүз түшүнүгүн текшерүү үчүн жүрөктүн согушу лабораториясы деп аталган интерактивдүү түзмөк жасайбыз. Бул сыноо
4 -долбоор - Электрондук карта: 9 кадам
4 -долбоор - Электрондук картаны картага түшүрүү: Бул проект мен жакшы ниеттен тапкан Raptor New Bright F -150 RC оюнчугуна багытталган. Бул долбоордо мен оюнчуктун ичинде эмне болуп жатканын карап, оюнчуктун ар бир бөлүгүн кантип ажыратып салганымды көрсөтөм. Бул оюнчук туура эмес болгонун да белгилей кетүү керек
Arc Reactor a La Smogdog, абдан жеке долбоор : 13 кадам (сүрөттөр менен)
Arc Reactor a La Smogdog, Абдан Жеке Проект …: Бул эки жигит менен менин кандай жалпылыгым бар? Бул жолу сакал эмес! Баарыбыздын көкүрөгүбүздө тешик бар, мен жана Лео Pectus Excavatum менен төрөлгөнбүз, Старк анын акчасын табышы керек болчу :-) Pectus Excavatum (бул жерден караңыз: https: // en .wikipedia.org/wik