Съдържание:
- Стъпка 1: Какво ще ви трябва
- Стъпка 2: Документация
- Стъпка 3: Подгответе опората за ултразвуков сензор
- Стъпка 4: Монтирайте всичко в дъска за прототипи
- Стъпка 5: Осъществяване на окончателните връзки
- Стъпка 6: Стартиране на програмата
- Стъпка 7: Разбиране на C кода
- Стъпка 8: Разбиране на Java кода
- Стъпка 9: Заключение
Видео: Проект 3: SonarDuino: 9 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:53
Уважаеми колеги любители, В този проект ще изследваме възможността да имаме 360 градусова радарна система за откриване на обекти. Поставянето на този модул отделно ще позволи на вашия двигателен робот да открие границите на заобикалящата го среда. Може да служи и като навигационен инструмент при тъмно, но само когато ходите достатъчно бавно; стр
Стъпка 1: Какво ще ви трябва
За да направите тази конструкция, ще трябва да закупите следното:
Arduino Nano: https://www.ebay.com/itm/USB-Nano-V3-0-ATmega328-16M-5V-Micro-контролер-CH340G-board-For-Arduino/201601613488?hash=item2ef0647eb0:g:DkoAAOSwvYZZpO: 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=item2cb8a70ef4:gAOS4Ag4Ag4Ag4Ag4Ag4Ag4Ag4Ag4Ag4Ag4A: ~ Zbl232: rk: 13: pf: 0
Серво двигатели: 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=item27ca47f5d ~ IAAOSw-xbD5Fp: rk: 2: pf: 0
Стъпка 2: Документация
Тъй като някои от вас може би вече знаят това, този проект е вдъхновен от друг проект с отворен код, наречен „Arduino Radar Project“, направен от Dejan от „How to Mechatronics“@ на следната връзка: https://howtomechatronics.com/projects/arduino -radar-проект/
Друг момент, който изисква документация, е да изтеглите следните две библиотеки във вашата среда за разработка:
Adafruit-GFX-Library:
Adafruit_SSD1306:
Като се има предвид това, за да разберете наистина C кода, ще трябва да направите някаква документация и за двете горепосочени библиотеки. Освен това, функциите, които използвах в кода си, имат имена, които са показателни за това, което правят.
Стъпка 3: Подгответе опората за ултразвуков сензор
Вземете всяко парче картон и го изрежете според размера на свързващите кабели, прикрепени към сензора, както е показано на първата снимка. След това сгънете последното и го залепете към опората на серво мотора. След като това стане, залепете двата ултразвукови сензора според последната снимка. Обърнете внимание, че заглавката на сензорите трябва да бъде запоена по такъв начин, че кабелите да излизат навън пред сензора. Това ще позволи на сензорните кабели да не се намесват помежду си, когато се осъществи въртенето на 360 градуса.
Стъпка 4: Монтирайте всичко в дъска за прототипи
В тази стъпка ще започнете, като монтирате заглавката, подготвена в предишната стъпка, в съответния й серво мотор. След като сервомоторът бъде внимателно свикнат, ще монтирате всичко заедно в прототипна платка. Ще започнете със запояване на Arduino Nano, след което залепете сервото точно до него. Накрая ще запоите малкия OLED дисплей в другия край на платката.
Стъпка 5: Осъществяване на окончателните връзки
Тази стъпка ще завърши хардуерната страна на този проект. Ще трябва да следвате предоставените схеми, за да установите всички необходими връзки.
Стъпка 6: Стартиране на програмата
Има два кода, които ще трябва да стартирате
Arduino (C):
Обработка (java):
Когато стартирате кода, ще имате две възможности за избор:
Вариант 1: Използвайки OLED дисплея, за това ще трябва да зададете променливата MODE в C кода на 0.
Вариант 2: Използвайки монитора си, за това ще трябва да зададете променливата MODE в C кода на 1. Освен това ще трябва да изтеглите и инсталирате среда за разработка Processing и да изтеглите шрифта на радара от тази връзка: https:// github.com/lastralab/ArduinoRadar/blob/ma…
И добавете този файл към вашия код за обработка, така че вашият Java код да разпознае шрифта при извикване.
Стъпка 7: Разбиране на C кода
Кодът се състои главно от два цикъла „за“. Единият е свързан с прохода напред, а другият с прохода назад. Вътре и в двете, основната функция draw_scanner (), която ще изтегли линиите на радара върху екрана, се извиква много пъти. След тестване на множество конфигурации стигнах до заключението, че трябва да презапишем белите радарни линии в момент t със същите тези радарни линии в черно в момент t+1, за да ги изтрием. В противен случай трептенето ще възникне всеки път, когато почиствате дисплея, като използвате функцията „clearDisplay ()“, преди да натиснете новата решетка на пикселите. Тъй като се занимавах със 7 реда- за целите на проектирането- трябваше да продължа да запазвам и да предавам цяло число от 7 елемента, където всеки елемент представлява радиуса между центъра на радара до открития обект, ако има такъв. Имайки предвид това, останалата част от кода трябва да бъде ясна за разбиране.
Стъпка 8: Разбиране на Java кода
В Processing трябваше да заобиколя извикването на функция за serialEvent (), което работи само със серийни портове с име COM. Докато работех на Mac, серийните ми портове бяха под друго име. Като се има предвид това, разопаковах тази функция в основната функция при обработката на „draw ()“. Що се отнася до всичко останало, актуализирах приложението, за да отговаря на дизайна на пълната революция. Накрая актуализирах всички нарисувани форми и текстове по отношение на ширината на екрана, така че крайният продукт да пасне на различни разделителни способности на екрана. Лично съм го тествал както за резолюции 1000X1000, така и за 500X500 и работи добре:).
Стъпка 9: Заключение
Тази работа може да бъде надстроена до 3 ултразвукови сензора, всеки от които покрива ъгъл на видимост 120, или дори 4 сензора (90 градуса*4) -> по -бързи 360 градуса. сканиране.
Можете също така да разширите обхвата на радара от 40 см до 60 см или дори 80 см. Аз лично съм тествал функцията pulseIn и коригирах променливата TIMEOUT по отношение на 40 cm. Тази променлива зависи от много фактори, включително дължината на изпращането на импулса и повърхността на обекта, където импулсът се отразява.
И накрая, както бе посочено по -горе, следващата стъпка е да се включи radarDuino с робот за придвижване, за да сканира околния периметър.
Препоръчано:
Проект за стабилизатор на кардан: 9 стъпки (със снимки)
Проект за стабилизатор на кардана: Как да направите кардан Научете как да направите двуосен кардан за вашата екшън камера В днешната култура всички обичаме да записваме видео и да улавяме моментите, особено когато сте създател на съдържание като мен, със сигурност сте се сблъскали с проблема толкова треперещо видео
Автоматизиран ЕКГ- BME 305 Окончателен проект Допълнителен кредит: 7 стъпки
Автоматизирана ЕКГ- BME 305 Окончателен проект Допълнителен кредит: Електрокардиограма (ЕКГ или ЕКГ) се използва за измерване на електрическите сигнали, произведени от биещо сърце и играе голяма роля в диагностиката и прогнозата на сърдечно-съдови заболявания. Част от информацията, получена от ЕКГ, включва ритъма
Автоматизиран проект за купа за домашни любимци: 13 стъпки
Автоматизиран проект за купа за храна за домашни любимци: Тази инструкция ще изобрази и обясни как да се изгради автоматизирана, програмируема хранилка за домашни любимци с прикрепени купи за храна. Тук съм приложил видеоклип, описващ как функционират продуктите и как изглеждат
Първи стъпки с ESP32 CAM - Поточно предаване на видео с помощта на ESP CAM през Wifi - Проект за охранителна камера ESP32: 8 стъпки
Първи стъпки с ESP32 CAM | Поточно предаване на видео с помощта на ESP CAM през Wifi | Проект за камера за сигурност ESP32: Днес ще научим как да използваме тази нова ESP32 CAM платка и как можем да я кодираме и използваме като камера за сигурност и да получим поточно видео през wifi
Горелка с USB захранване! Този проект може да изгори чрез пластмаса / дърво / хартия (забавният проект също трябва да бъде много фино дърво): 3 стъпки
Горелка с USB захранване! Този проект може да изгори чрез пластмаси / дърво / хартия (забавният проект също трябва да бъде много фин дървен материал): НЕ ПРАВЕТЕ ТОВА С ИЗПОЛЗВАНЕ НА USB !!!! разбрах, че може да повреди компютъра ви от всички коментари. компютъра ми е добре. Използвайте зарядно устройство за телефон 600ma 5v. Използвах това и работи добре и нищо не може да се повреди, ако използвате предпазен щепсел, за да спрете захранването