Мазмұны:
- 1 -қадам: Сізге не қажет
- 2 -қадам: құжаттама
- 3 -қадам: Ультрадыбыстық сенсордың қолдауын дайындаңыз
- 4 -қадам: Барлығын прототиптеу тақтасына салыңыз
- 5 -қадам: Соңғы байланыстарды орнату
- 6 -қадам: Бағдарламаны жүктеу
- 7 -қадам: С кодын түсіну
- 8 -қадам: Java кодын түсіну
- 9 -қадам: Қорытынды
Бейне: 3 -жоба: SonarDuino: 9 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Құрметті әуесқой әріптес, Бұл жобада біз объектілерді анықтауға арналған 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=item4cg8a70 ~ 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 -қадам: Ультрадыбыстық сенсордың қолдауын дайындаңыз
Картонның кез келген бөлігін алыңыз және бірінші суретте көрсетілгендей сенсорға бекітілген жалғағыш кабельдердің өлшеміне сәйкес кесіңіз. Осыдан кейін, оны соңғы бүктеп, оны серво қозғалтқышының тірегіне жабыстырыңыз. Мұны жасағаннан кейін, соңғы ультрадыбыстық датчиктерді соңғы суретке сәйкес жабыстырыңыз. Датчиктердің басы сенсордың алдында кабельдердің сыртқа шығуына мүмкіндік беретін етіп дәнекерленген болуы керек екенін ескеріңіз. Бұл 360 градусқа айналу кезінде сенсорлық кабельдердің бір -біріне кедергі жасамауына мүмкіндік береді.
4 -қадам: Барлығын прототиптеу тақтасына салыңыз
Бұл қадамда сіз алдыңғы қадамда дайындалған тақырыпты тиісті серво қозғалтқышына орнатудан бастайсыз. Серво қозғалтқышы мұқият үйренгеннен кейін, сіз бәрін прототип тақтасына біріктіресіз. Сіз 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 -қадам: С кодын түсіну
Код негізінен екі «for» ілмегінен тұрады. Біреуі алға өтуімен, ал екіншісі артқа өтуімен байланысты. Олардың екеуінде де радардың сызықтарын экранға шығаратын draw_scanner () негізгі функциясы бірнеше рет аталады. Бірнеше конфигурацияны тексергеннен кейін, мен оларды жою үшін t+1 уақытында ақ түсті радар сызықтарын t+1 уақытында қара түсті радармен қайта жазу керек деген қорытындыға келдім. Олай болмаған жағдайда, жаңа пиксельдік торды итермес бұрын дисплейді «clearDisplay ()» функциясын қолданып тазалаған сайын жыпылықтау пайда болады. Мен 7 жолмен жұмыс істегенде- дизайнерлік мақсатта- мен 7 элементтен тұратын бүтін массивті сақтап, беруді жалғастыруға тура келді, онда әрбір элемент радиолокатордың ортасы арасындағы радиусты анықталған объектіге дейін көрсетеді. Осыны ескере отырып, кодтың қалған бөлігі түсінікті болуы керек.
8 -қадам: Java кодын түсіну
Өңдеу кезінде мен тек COM деп аталатын сериялық порттармен жұмыс істейтін serialEvent () функциясының шақыруын айналып өтуге тура келді. Мен Mac -де жұмыс істеп жүргенде, менің сериялық порттарым басқа атаумен аталды. Айтпақшы, мен бұл функцияны «draw ()» өңдеудегі негізгі функцияға шығардым. Қалғанының бәріне қатысты мен революцияның толық дизайнына сай болу үшін қосымшаны жаңарттым. Ақырында, мен барлық сызылған пішіндер мен мәтіндерді экранның еніне қатысты жаңарттым, осылайша соңғы өнім экранның әр түрлі ажыратымдылықтарына сәйкес келеді. Мен оны 1000X1000 және 500X500 ажыратымдылықтары үшін жеке тексердім және ол жақсы жұмыс істеді:).
9 -қадам: Қорытынды
Бұл жұмысты 3 ультрадыбыстық сенсорға дейін жаңартуға болады, олардың әрқайсысы 120 көру бұрышын немесе тіпті 4 датчикті (90 градус*4) -> 360 градусқа жылдамырақ болады. сканерлеу
Сондай -ақ, радардың ауқымын 40 см -ден 60 см -ге дейін, тіпті 80 см -ге дейін кеңейтуге болады. Мен pulseIn функциясын жеке тексердім және 40 см -ге қатысты TIMEOUT айнымалысын реттедім. Бұл айнымалы көптеген факторларға байланысты, оның ішінде импульстің ұзақтығы мен импульс шағылатын объектінің беті.
Ақырында, бұрын айтылғандай, келесі қадам - айналадағы периметрді сканерлеу үшін локомотивті роботпен бірге radarDuino қосу.
Ұсынылған:
Arduino басқарылатын робот - екі қадам: 13 қадам (суреттермен)
Arduino басқарылатын роботты екіжақты: Мен әрқашан роботтарға қызығатынмын, әсіресе адамның іс -әрекетіне еліктеуге тырысатын. Бұл қызығушылық мені жаяу жүруге және жүгіруге еліктей алатын екіжақты робот құрастыруға және дамытуға талпындырды. Бұл нұсқаулықта мен сізге көрсетемін
Arduino Uno көмегімен акустикалық левитация Қадамдық қадам (8 қадам): 8 қадам
Акустикалық левитация Arduino Uno Қадамдық қадаммен (8-қадам): ультрадыбыстық дыбыс түрлендіргіштері L298N Dc әйелдер адаптерінің ток көзі еркек тоқ сымымен Arduino UNOBreadboard Бұл қалай жұмыс істейді: Біріншіден, сіз кодты Arduino Uno-ға жүктейсіз (бұл сандық жүйемен жабдықталған микроконтроллер) және кодты түрлендіру үшін аналогтық порттар (C ++)
Түймені іске қосатын қадам реттегіші: 4 қадам
Түймені іске қосатын қадам реттегіші:
Тікелей 4G/5G HD бейне ағыны DJI Drone -ден төмен кідірісте [3 қадам]: 3 қадам
Тікелей 4G/5G HD бейне ағыны DJI Drone-ден төмен кідірісте [3 қадам]: Келесі нұсқаулық кез-келген DJI дронынан HD сапалы бейне ағындарын алуға көмектеседі. FlytOS мобильді қосымшасы мен FlytNow веб -қосымшасының көмегімен сіз дроннан бейне ағынды бастай аласыз
Болт - DIY сымсыз зарядтау түнгі сағаты (6 қадам): 6 қадам (суреттермен)
Болт - DIY сымсыз зарядтау түнгі сағаты (6 қадам): Индуктивті зарядтау (сымсыз зарядтау немесе сымсыз зарядтау деп те аталады) - сымсыз қуат беру түрі. Ол портативті құрылғыларды электрмен қамтамасыз ету үшін электромагниттік индукцияны қолданады. Ең көп таралған қолданба - Qi сымсыз зарядтау