Мазмұны:

Arduino қолданатын ультрадыбыстық робот: 7 қадам
Arduino қолданатын ультрадыбыстық робот: 7 қадам

Бейне: Arduino қолданатын ультрадыбыстық робот: 7 қадам

Бейне: Arduino қолданатын ультрадыбыстық робот: 7 қадам
Бейне: Lesson 07: Getting Additional 5V and GND from Arduino 2024, Қараша
Anonim
Image
Image
Ардуиноны қолданатын ультрадыбыстық робот
Ардуиноны қолданатын ультрадыбыстық робот

Бұл оқулықта мен сізге роботты болдырмайтын кедергілерді қалай жасау керектігін көрсетемін! Біз Arduino UNO тақтасын және ультрадыбыстық сенсорды қолданамыз. Егер робот кіші сервоқозғалтқыштың көмегімен алдында тұрған затты анықтаса, айналудың оңтайлы жолын табу үшін сол және оң жақ аймағын сканерлейді. Сондай -ақ, хабарландыру диоды, объект анықталған кезде дыбысты ойнайтын дыбыстық сигнал және роботтың функциясын өзгертуге арналған түйме (тоқтап/алға жылжу) бар.

Оны жасау өте оңай!

1 -қадам: Не істеу керек

Жасалуы керек нәрселер!
Жасалуы керек нәрселер!
Жасалуы керек нәрселер!
Жасалуы керек нәрселер!
Жасалуы керек нәрселер!
Жасалуы керек нәрселер!
Жасалуы керек нәрселер!
Жасалуы керек нәрселер!

Бұл жоба үшін сізге қажет:

  1. Arduino UNO (оны gearbest.com сайтынан сатып алыңыз)
  2. Шағын нан тақтасы (оны gearbest.com сайтынан сатып алыңыз)
  3. L298 мотор драйвер модулі (оны gearbest.com сайтынан сатып алыңыз)
  4. HC-SR04 дөңгелегі бар 2х тұрақты ток қозғалтқыштары ультрадыбыстық сенсор (оны gearbest.com сайтынан сатып алыңыз)
  5. Микросерво қозғалтқышы (оны gearbest.com сайтынан сатып алыңыз)
  6. Қызыл LED түймесі 220 Ом резистор 9 В батарея ұстағы (қуат ұясы бар немесе жоқ)
  7. 8 аралық (еркек-әйел),
  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 -қадам: Қажетті құралдар

Қажетті құралдар
Қажетті құралдар
Қажетті құралдар
Қажетті құралдар
Қажетті құралдар
Қажетті құралдар
Қажетті құралдар
Қажетті құралдар
  1. Мультиметр
  2. Нан тақтасы
  3. Мұрын инелері
  4. Сым тартқыш
  5. Сым кескіш
  6. Желім мылтық

Мультиметр - бұл кернеу мен қарсылықты өлшеу және тізбектің жабылғанын анықтау үшін қолданылатын қарапайым құрылғы. Компьютерлік кодты жөндеуге ұқсас, мультиметр электронды схемаларды «жөндеуге» көмектеседі.

Құрылыс материалдары

Механикалық жақтауды жасау үшін жіңішке ағаштан және/немесе плексигласпен қамтамасыз ету өте пайдалы. Алюминий мен болат сияқты металдар көбінесе механикалық цехқа кіретіндермен шектеледі, бірақ жіңішке алюминийді қайшылармен кесуге және қолмен бүгуге болады. Механикалық рамаларды пластикалық контейнерлер сияқты тұрмыстық заттардан да салуға болады.

Пластмассадан басқа басқа материалдар (плексигладан басқа) немесе шыны талшық пен көміртекті талшық сияқты экзотикалық материалдар мүмкін болса да, олар бұл нұсқаулықта қарастырылмайды. Бірнеше өндірушілер әуесқойлардың көпшілігіне өздерінің механикалық бөлшектерін жасау оңай емес екенін және модульдік механикалық бөлшектерді құрғанын атап өтті. Бұл бағытта Lynxmotion көшбасшы болып табылады, ол роботтық конструкциялардың кең спектрін, сондай -ақ жеке роботтарды жасауға қажетті бөлшектерді ұсынады.

Қол құралдары

Түрлі және көлемді бұрағыштар мен қысқыштар (зергерлік құралдар жиынтығын қосқанда: долларлық дүкендерде жиі сатылатын шағын бұрағыштар) қажет. Бұрғылау (түзу тесіктерге арналған бұрғылау қондырғысы жақсырақ) да маңызды. Құрылыс материалдарын (немесе маршрутизаторды) кесуге арналған қол ара да маңызды актив болып табылады. Егер бюджет рұқсат етсе, үстелдің үстіңгі тақтайшасы ($ 200 диапазоны), әрине, ескеру құралы болып табылады.

Дәнекерленген тақта

Дәнекерленген тақта сіздің орналасуыңызды оңтайландыруға және компоненттерді оңай қосуға мүмкіндік береді. Дәнекерлемейтін тақтамен қатар, сіз дәнекерлемейтін тақтаймен пайдалануға арналған алдын ала кесілген және иілген сымдардан тұратын алдын ала дайындалған қосқыш сым жинағын сатып алуыңыз керек. Бұл қосылыстарды өте оңай етеді.

Шағын бұрағыш жиынтығы

Бұл шағын бұрағыштар электроникамен жұмыс кезінде қажет. Оларды тым көп мәжбүрлемеңіз - олардың мөлшері оларды нәзік етеді.

Кәдімгі бұрағыш жиынтығы

Барлық шеберханаларға жалпақ / Филлипс және басқа бұрағыш бастары бар мульти құралдар немесе құралдар жиынтығы қажет.

Мұрын инелері

ине тістеуіштерінің жиынтығы ұсақ бөлшектермен және бөлшектермен жұмыс жасау кезінде өте пайдалы және сіздің құралдар қорабына өте қымбат емес қосымша болып табылады. Олар қарапайым қысқыштардан ерекшеленеді, себебі олар кішкене аудандарға енетін нүктеге келеді.

Сымды тазартқыштар/кескіштер

Сіз кез келген сымдарды кесуді жоспарлап отырсыз, сым тазартқыш сізге көп уақыт пен күш үнемдейді. Сымды тазартқыш дұрыс қолданылғанда кабель оқшаулауын ғана алып тастайды және ешқандай бұрылыс жасамайды және өткізгіштерді зақымдамайды. Сым тазартқыштың басқа баламасы - қайшы, бірақ түпкілікті нәтиже нашар болуы мүмкін. Қайшы, сызғыш, қалам, маркер қарындаш, Exacto пышағы (немесе басқа қолмен кесетін құрал) Бұл кез келген кеңседе қажет.

4 -қадам: AVR кодтау түсінігі

AVR кодтау үшін түсініктер
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 -қадам: бейне

Толық процесс туралы бейнені қараңыз.

Ұсынылған: