Мазмұны:
- 1 -қадам: Не істеу керек
- 2 -қадам: Ұғымдарды түсіну
- 3 -қадам: Қажетті құралдар
- 4 -қадам: AVR кодтау түсінігі
- 5 -қадам: Аппараттық қосылулар:
- 6 -қадам: код
- 7 -қадам: бейне
Бейне: Arduino қолданатын ультрадыбыстық робот: 7 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Бұл оқулықта мен сізге роботты болдырмайтын кедергілерді қалай жасау керектігін көрсетемін! Біз Arduino UNO тақтасын және ультрадыбыстық сенсорды қолданамыз. Егер робот кіші сервоқозғалтқыштың көмегімен алдында тұрған затты анықтаса, айналудың оңтайлы жолын табу үшін сол және оң жақ аймағын сканерлейді. Сондай -ақ, хабарландыру диоды, объект анықталған кезде дыбысты ойнайтын дыбыстық сигнал және роботтың функциясын өзгертуге арналған түйме (тоқтап/алға жылжу) бар.
Оны жасау өте оңай!
1 -қадам: Не істеу керек
Бұл жоба үшін сізге қажет:
- Arduino UNO (оны gearbest.com сайтынан сатып алыңыз)
- Шағын нан тақтасы (оны gearbest.com сайтынан сатып алыңыз)
- L298 мотор драйвер модулі (оны gearbest.com сайтынан сатып алыңыз)
- HC-SR04 дөңгелегі бар 2х тұрақты ток қозғалтқыштары ультрадыбыстық сенсор (оны gearbest.com сайтынан сатып алыңыз)
- Микросерво қозғалтқышы (оны gearbest.com сайтынан сатып алыңыз)
- Қызыл LED түймесі 220 Ом резистор 9 В батарея ұстағы (қуат ұясы бар немесе жоқ)
- 8 аралық (еркек-әйел),
- 8 жаңғақ пен 8 бұранда сізге бір үлкен (металл) қажет болады.
артқы тірек дөңгелегін жасау үшін қыстырғыш пен бисер.
Робот базасы үшін мен Aliexpress -тен акрилді Chasis қолдандым. Сіз сондай -ақ ағаштан немесе металлдан жасалған бөлікті (немесе екі электр плитасын) пайдалана аласыз.
Барлық жобаның құны шамамен 20 доллар
Құралдар: Бұрғылау машинасы супер желім экипажы жүргізушісі ыстық тапанша желімі (міндетті емес) Қуат:
Біз роботты қосу үшін 9В батареяны қолданамыз, себебі ол шағын және арзан, бірақ ол өте қуатты емес және шамамен бір сағаттан кейін бос болады. Қайта зарядталатын батареяны (минимум 6В, максимум 7В) қолданғыңыз келетінін қарастырыңыз, ол қуатты болады, бірақ ол 9В батареядан да қымбат және үлкен болады.
2 -қадам: Ұғымдарды түсіну
Мақсаты - роботты алдында тұрған кедергілер туралы хабардар ету, сондықтан ол бағытын өзгерте алады және олардан аулақ болады. Алдыңғы мақалада біз роботты қозғалттық - енді біз оған автономия береміз.
Ультрадыбыстық сенсор
HC-SR04-ультрадыбыстық толқындардың көмегімен объектілерге дейінгі қашықтықты 4 метрге дейін өлшеуге қабілетті тізбек. Ол пинг жібереді (сүңгуір қайық сияқты) және кез келген нәрсені қайтару мен алу арасындағы уақытты (микросекундтарда) өлшейді. Бұл уақыт толқынның алға -артқа қозғалуына қарай 2 -ге бөлінеді. Содан кейін қашықтықты сантиметрмен (немесе дюйм үшін 74) алу үшін 29 -ға бөліңіз, себебі дыбыс сантиметрге 29,4 мкс (340 м/с) таралады. Сенсор ~ 3 мм төзімділікпен өте дәл және Arduino -мен оңай қосылады.
AVR микроконтроллері бар ультрадыбыстық сенсор
Кез келген автономды роботта кедергілерден аулақ болу және қашықтық өлшеу датчигі болуы керек. IR қабылдағыш жұбы немесе сұр шкалалы сенсор 1см-10см аралығында кедергілерді анықтау үшін оңай жұмыс істейді. Инфрақызыл диапазонды анықтаушылар (мысалы, өткірден) жақын қашықтыққа 100см дейінгі қашықтыққа дейінгі қашықтықты өлшей алады. Алайда, IR сенсорларына күн сәулесі мен басқа жарық көздері әсер етеді. IR диапазонының диапазоны аз, сонымен қатар ол істегені үшін қымбат. Ультрадыбыстық датчиктер (сондай -ақ ультрадыбыстық жақындық сенсорлары немесе геиктер үшін дыбыс деп аталады) бұл міндеттерді ақылға қонымды баға мен ерекше дәлдікпен орындайды. 3 см -ден 350 см -ге дейінгі диапазон ~ 3 мм дәлдікпен. Осы ультрадыбыстық датчиктердің бірін біздің роботқа байлап, ол кедергілерді болдырмайтын да, қашықтықты өлшейтін сенсор да бола алады.
«Ультрадыбыстық» дыбыс естілетін дыбыс жиілігінен асатын нәрсені білдіреді және номиналды түрде 20 000 Гц немесе 20 кГц -тен жоғары нәрсені қамтиды! Робототехника үшін қолданылатын арзан ультрадыбыстық датчиктер әдетте 40 кГц -тен 250 кГц диапазонында жұмыс істейді, ал медициналық жабдықтарда қолданылатындар 10 МГц -ке дейін жетеді.
3 -қадам: Қажетті құралдар
- Мультиметр
- Нан тақтасы
- Мұрын инелері
- Сым тартқыш
- Сым кескіш
- Желім мылтық
Мультиметр - бұл кернеу мен қарсылықты өлшеу және тізбектің жабылғанын анықтау үшін қолданылатын қарапайым құрылғы. Компьютерлік кодты жөндеуге ұқсас, мультиметр электронды схемаларды «жөндеуге» көмектеседі.
Құрылыс материалдары
Механикалық жақтауды жасау үшін жіңішке ағаштан және/немесе плексигласпен қамтамасыз ету өте пайдалы. Алюминий мен болат сияқты металдар көбінесе механикалық цехқа кіретіндермен шектеледі, бірақ жіңішке алюминийді қайшылармен кесуге және қолмен бүгуге болады. Механикалық рамаларды пластикалық контейнерлер сияқты тұрмыстық заттардан да салуға болады.
Пластмассадан басқа басқа материалдар (плексигладан басқа) немесе шыны талшық пен көміртекті талшық сияқты экзотикалық материалдар мүмкін болса да, олар бұл нұсқаулықта қарастырылмайды. Бірнеше өндірушілер әуесқойлардың көпшілігіне өздерінің механикалық бөлшектерін жасау оңай емес екенін және модульдік механикалық бөлшектерді құрғанын атап өтті. Бұл бағытта Lynxmotion көшбасшы болып табылады, ол роботтық конструкциялардың кең спектрін, сондай -ақ жеке роботтарды жасауға қажетті бөлшектерді ұсынады.
Қол құралдары
Түрлі және көлемді бұрағыштар мен қысқыштар (зергерлік құралдар жиынтығын қосқанда: долларлық дүкендерде жиі сатылатын шағын бұрағыштар) қажет. Бұрғылау (түзу тесіктерге арналған бұрғылау қондырғысы жақсырақ) да маңызды. Құрылыс материалдарын (немесе маршрутизаторды) кесуге арналған қол ара да маңызды актив болып табылады. Егер бюджет рұқсат етсе, үстелдің үстіңгі тақтайшасы ($ 200 диапазоны), әрине, ескеру құралы болып табылады.
Дәнекерленген тақта
Дәнекерленген тақта сіздің орналасуыңызды оңтайландыруға және компоненттерді оңай қосуға мүмкіндік береді. Дәнекерлемейтін тақтамен қатар, сіз дәнекерлемейтін тақтаймен пайдалануға арналған алдын ала кесілген және иілген сымдардан тұратын алдын ала дайындалған қосқыш сым жинағын сатып алуыңыз керек. Бұл қосылыстарды өте оңай етеді.
Шағын бұрағыш жиынтығы
Бұл шағын бұрағыштар электроникамен жұмыс кезінде қажет. Оларды тым көп мәжбүрлемеңіз - олардың мөлшері оларды нәзік етеді.
Кәдімгі бұрағыш жиынтығы
Барлық шеберханаларға жалпақ / Филлипс және басқа бұрағыш бастары бар мульти құралдар немесе құралдар жиынтығы қажет.
Мұрын инелері
ине тістеуіштерінің жиынтығы ұсақ бөлшектермен және бөлшектермен жұмыс жасау кезінде өте пайдалы және сіздің құралдар қорабына өте қымбат емес қосымша болып табылады. Олар қарапайым қысқыштардан ерекшеленеді, себебі олар кішкене аудандарға енетін нүктеге келеді.
Сымды тазартқыштар/кескіштер
Сіз кез келген сымдарды кесуді жоспарлап отырсыз, сым тазартқыш сізге көп уақыт пен күш үнемдейді. Сымды тазартқыш дұрыс қолданылғанда кабель оқшаулауын ғана алып тастайды және ешқандай бұрылыс жасамайды және өткізгіштерді зақымдамайды. Сым тазартқыштың басқа баламасы - қайшы, бірақ түпкілікті нәтиже нашар болуы мүмкін. Қайшы, сызғыш, қалам, маркер қарындаш, Exacto пышағы (немесе басқа қолмен кесетін құрал) Бұл кез келген кеңседе қажет.
4 -қадам: AVR кодтау түсінігі
Ультрадыбыстық датчиктерге қатысты дыбыс жылдамдығын есептеу
Кішкене математика, бірақ қорықпаңыз. Бұл сіз ойлағаннан да қарапайым.
Бөлме температурасындағы құрғақ ауадағы дыбыс жылдамдығы (~ 20 ° C) = 343 метр/секунд
Дыбыс толқыны жақын маңдағы объектіге бару үшін = 343/2 = 171,5 м құрайды, себебі арзан ультрадыбыстық датчиктің максималды диапазоны 5 метрден аспайды (айналмалы сапар), бірліктерді сантиметр мен микросекундқа ауыстырыңыз.
1 метр = 100 сантиметр1 секунд = 10^6 микросекунд = (с/171,5) x (м/100 см) x ((1x10^6)/с) = (1/171,5) х (1/100) x (1000000/ 1) = 58.30903790087464 us/cm = 58.31 us/cm (есептеулерді жеңілдету үшін екі санға дейін дөңгелектеу)Демек, импульстің объектке өтуіне және 1 сантиметрге кері қайтуына кететін уақыт - 58,31 микросекунд.
AVR сағаттарының шағын фоны
AVR сағаттарының циклін түсіну үшін мүлдем басқа тарау қажет, бірақ біз есептеулерді жеңілдету үшін оның қалай жұмыс істейтінін қысқаша түсінеміз.
Біздің мысал үшін біз 8 биттік AVR-Atmega328P микроконтроллері бар AVR Draco тақтасын қолданамыз. Қарапайым болу үшін біз микроконтроллердің параметрлерін өзгертпейміз. Ешқандай сақтандырғыш битке қол тигізбеді; Сыртқы кристалл қосылмаған; Бас ауруы жоқ. Зауыттық параметрлерде ол 8 МГц ішкі осцилляторда жұмыс істейді /8 prescaler; Егер сіз мұның бәрін түсінбесеңіз, бұл микроконтроллердің 1 МГц ішкі RC осцилляторында жұмыс істейтінін және әрбір сағат циклінің 1 микросекундқа созылатынын білдіреді.
1 2 1МГц = секундына 1000000 цикл
AVR сағаттары және қашықтықты түрлендіру
Біз жақындамыз! AVR сағаттарын дыбыс толқындары арқылы өтетін қашықтыққа қалай түрлендіру керектігін білгеннен кейін, логиканы бағдарламада енгізу оңай.
Біз ультрадыбыстық дыбыстың идеалды ортадағы жылдамдығын білеміз: 58,31 АҚШ доллары/см
Біз AVR микроконтроллерінің ажыратымдылығы 1ус/сағаттық цикл (CLK) екенін білеміз.
Демек, дыбыс сағаттық циклге (CLK) баратын қашықтық:
1 2 3 = (58,31 us/ cm) x (1us/ clk) = 58,31 сағат циклы/ см немесе = 1/ 58,31 см/ клк
Егер дыбыстың таралуы мен кері қайтуына қажетті сағат циклдерінің саны белгілі болса, біз қашықтықты оңай есептей аламыз. Мысалы, егер сенсорға 1000 сағаттық цикл қажет болса, онда сенсордан жақын объектке дейінгі қашықтық = 1000/58.31 = 17.15 см (шамамен)
Қазір бәрі мағынасы бар ма? Жоқ? Қайта оқыңыз
Егер сіз жоғарыда айтылған логиканы түсінетін болсаңыз, біз оны AVR Arduino тақтасына қымбат емес HC-SR04 ультрадыбыстық сенсорды қосу арқылы нақты сценарийде іске асырамыз.
5 -қадам: Аппараттық қосылулар:
Arduino Board кез келген сыртқы сенсорларды қосуды жеңілдетеді, сонымен қатар СКД нәтижелерін көруге мүмкіндік береді. Ультрадыбыстық диапазонды анықтау үшін біз арзан HC-SR04 модулін қолданамыз. Модульде микроконтроллер тақтасына қосуға болатын 4 түйреуіш бар: VCC, TRIG, ECHO және GND.
VCC түйреуішін Arduino тақтасында жерге қосу үшін 5V және GND шнурына қосыңыз.
TRIG және ECHO түйреуіштерін тақтада бар кез келген түйреуіштерге қосуға болады. Іске қосу үшін минимум 10us «жоғары» сигналын жіберу 40 кГц сегіз дыбыс толқынын жібереді және жаңғырықты жоғары тартады. Егер дыбыс жақын жердегі объектіден шығып, қайтып оралса, ол түрлендіргішті қабылдайды және жаңғырық «төмен» тартылады.
Ультрадыбыстық сенсорлық модульдердің басқа нұсқалары 3 түйреуішпен де қол жетімді. Жұмыс принципі бұрынғыдай, бірақ триггер мен эхо түйреуіштердің функционалдығы бір түйреуішке біріктірілген.
Қосылғаннан кейін Trigger және Echo Pins бағдарламалық қамтамасыз ету арқылы конфигурациялануы мүмкін. Бұл мысалды қарапайым ұстау үшін біз бұл мысалда үзіліс түйреуіштерін (немесе кірісті түсіру түйреуішін) қолданбаймыз. Белгіленген үзу түйреуіштерін пайдаланбау бізге модульді тақтадағы кез келген түйреуішке қосуға еркіндік береді.
6 -қадам: код
Код Төмендегі кодта алдыңғы мақаладағы H-Bridge көмегімен тұрақты ток қозғалтқышты басқарудың «ультрадыбыстық» кеңейтімі ғана бар. Робот алдында тұрған кедергіні анықтағанда, ол айналады (кездейсоқ дәреже) және алға қарай жылжуын жалғастырады. Бұл функцияны бір уақытта бұру мен кедергілерді анықтау үшін оңай кеңейтуге болады, сондықтан робот кездейсоқ бұрылмайды, бірақ объект анықталмаған кезде ғана алға қарай жылжи бастайды.
Кодты түсіндіру үшін арнада көрсетілген Youtube бейнесін қараңыз.
7 -қадам: бейне
Толық процесс туралы бейнені қараңыз.
Ұсынылған:
Arduino, ультрадыбыстық сенсор мен сервоприводты қолданатын ақылды қоқыс жәшігі: 3 қадам
Ақылды қоқыс жәшігі Arduino, ультрадыбыстық сенсор және серво қозғалтқышы арқылы: Мен сізге Arduino көмегімен ақылды қоқыс жәшігін қалай жасау керектігін көрсетемін, онда қоқыс жәшігінің қақпағы автоматты түрде ашылады. Бұл ақылды қоқыс жәшігін жасау үшін қолданылатын басқа маңызды компоненттер-HC-04 ультрадыбыстық сенсоры
ARDUINO қолданатын ультрадыбыстық левитация машинасы: 8 қадам (суреттермен)
ARDUINO қолданатын ультрадыбыстық левитация машинасы: ауада немесе бөтен ғарыш кемесі сияқты бос кеңістікте жүзіп бара жатқан нәрсені көру өте қызықты. бұл гравитацияға қарсы жоба. Нысан (негізінен кішкене қағаз немесе термокольт) екі ультрадыбыстық транс
Arduino қолданатын ультрадыбыстық сенсор оқулығы: 6 қадам
Arduino қолданатын ультрадыбыстық сенсор оқулығы: Бұл нұсқаулық ультрадыбыстық сенсор HC - SR04 туралы нұсқаулық болып табылады. Мен оның қалай жұмыс істейтінін түсіндіремін, сізге оның кейбір ерекшеліктерін көрсетемін және сіздің жобаларыңызға кіру үшін қолдануға болатын Arduino жобасының мысалымен бөлісемін. Біз схеманы ұсынамыз
Arduino мен ультрадыбыстық сенсорды қолданатын жол белгісі: 4 қадам
Ардуино мен ультрадыбыстық сенсорды қолданатын жол белгісі: Ақылды технологиялар дәуірінде бәрі ақылды болып келеді және ақылды көлік жүйесі біздің өмірімізге үлкен әсер ететін салалардың бірі болып табылады. Оригиналды түрде жарияланған: https://highvoltages.co/tutorial/arduino-tutorial/traffic-sig
Ультрадыбыстық сенсорды қолданатын Arduino негізіндегі автономды бот: 5 қадам (суреттермен)
Ультрадыбыстық сенсорды қолдана отырып Arduino негізіндегі автономды бот: ультрадыбыстық сенсорды қолдана отырып, өзіңіздің Arduino негізіндегі автономды бот жасаңыз. Бұл бот еш кедергісіз соқтығыспай өздігінен жүре алады. Негізінде бұл оның жолындағы кез келген кедергілерді анықтайды және ең жақсы шешімді шешеді