Мазмұны:
- 1 -қадам: Бұл қалай жұмыс істейді?
- 2 -қадам: Үш сенсорлық станция мен объектілерді қалай конфигурациялау керек
- 3 -қадам: Негізгі станцияны қалай конфигурациялау керек
- 4 -қадам: материалдар тізімі
Бейне: Ультрадыбыстық позициялау жүйесі: 4 қадам (суреттермен)
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:24
Мен arduino құрылғыларына арналған ультрадыбыстық радарлардың барлық нұсқалары (Arduino - Radar/Ultrasonic Detector, Arduino Ultrasonic Radar Project) өте жақсы радарлар, бірақ олардың барлығы «соқыр». Айтайын дегенім, радар бір нәрсені анықтайды, бірақ ол нені анықтайды?
Сондықтан мен өзіме объектілерді анықтай алатын және оларды анықтай алатын жүйе құруды ұсынамын. Басқаша айтқанда, GPS қондырғыларын пайдаланбай, ультрадыбыстық детекторларды анықтайтын позициялау жүйесі.
Бұл нәтиже сізге ұнайды деп үміттенемін.
1 -қадам: Бұл қалай жұмыс істейді?
Орналастыру жүйелері ультрадыбыстық детекторлары мен id_node 1, 2 және 3 бар үш датчиктер станциясынан тұрады, олар 90º бұрышты және төртбұрышты құрайды және олардың арасындағы қашықтық 1 суретте көрсетілгендей белгілі.
const float distancebetween1and2 = 60.0;
const float distancebetween2and3 = 75.0;
Бұл датчиктер id_node 3 -тен үлкен басқа объектілердің қашықтығы мен бұрышын өлшейді, сонымен қатар ультрадыбыстық детекторы бар, ол 170 ° бұрылады.
Олардың барлығы қашықтықты, өлшенген бұрыштарды және id_node -ды басқа магистральдық станцияға сымсыз байланыс көмегімен жібереді, тригонометрия көмегімен объектілердің орнын есептейді және анықтайды.
Кедергілерді болдырмау үшін негізгі станция барлық ультрадыбыстық детекторларды синхрондайды, осылайша әрбір ультрадыбыстық детектор өлшейді.
Осыдан кейін және сериялық байланысты қолдана отырып, магистральдық станция нәтижелерді сызу үшін ақпаратты (бұрыш, қашықтық, id_object) өңдеу нобайына жібереді.
2 -қадам: Үш сенсорлық станция мен объектілерді қалай конфигурациялау керек
Әрбір сенсорлық станцияның жалғыз функциясы - объектілерді анықтау және өлшенген қашықтық, бұрыш және идентификаторлық түйіндердің тізімін негізгі станцияға жіберу.
Анықтауды жақсарту және анықтау аймағын шектеу үшін рұқсат етілген анықтаудың максималды қашықтығын («valid_max_distance») және ең кішісін («valid_min_distance») (сантиметр) жаңарту қажет:
int valid_max_distance = 80;
int valid_min_distance = 1;
Бұл сенсорлық станциялардың идентификатор түйіні (төмендегі кодтағы «this_node») 1, 2 және 3, ал негізгі станцияның идентификаторлық түйіні 0.
const uint16_t this_node = 01; // Octal форматындағы біздің түйіннің мекен -жайы (Node01, Node02, Node03)
const uint16_t other_node = 00; // Сегіздік форматтағы негізгі түйіннің (Node00) адресі
Әрбір сенсорлық станция сыпырылады және 100º бұрыш жасайды (төмендегі кодта «max_angle»)
#мини_бұрышты анықтау 0
#максималды_бұрышты анықтау 100
Жоғарыда айтылғандай, объектінің жалғыз функциясы - объектілерді анықтау және өлшенетін қашықтықтар, бұрыштар мен идентификатор объектілерінің тізімін негізгі станцияға жіберу. Бір нысанның идентификаторы (төмендегі кодтағы «this_node») 3 -тен үлкен болуы керек.
Әрбір объект 170 ° бұрышпен сыпырады және жоғарыдағыдай, анықтаудың максималды және минималды қашықтығын жаңартуға болады.
const uint16_t this_node = 04; // Біздің түйіннің сегіздік форматтағы мекен -жайы (Node04, Node05,…)
const uint16_t other_node = 00; // Негізгі түйіннің мекенжайы (Node00) сегіздік форматта int valid_max_distance = 80; int valid_min_distance = 1; 170
3 -қадам: Негізгі станцияны қалай конфигурациялау керек
Негізгі станцияның функциясы - сенсорлық станциялар мен объектілердің жіберулерін алу және нәтижелерді сериялық порт арқылы өңдеу схемасына оларды салу үшін жіберу. Бұған қоса, барлық объектілер мен үш сенсорлық станция синхрондалады, осылайша олардың біреуі ғана кедергі жасайды, сондықтан әр уақытта өлшенеді.
Біріншіден, сенсор 1 мен 2 арасындағы қашықтықты (сантиметр) және 2 мен 3 арасындағы қашықтықты жаңарту қажет.
const float distancebetween1and2 = 60.0;
const float distancebetween2and3 = 70.0;
Эскиз объектілердің орнын келесі жолмен есептейді:
- Нысандардың барлық берілулері үшін (id_node 3 -тен үлкен) ультрадыбыстық датчиктердің әрбір берілісінде бірдей қашықтықты іздеңіз (id_node 1, 2 немесе 3).
- Бұл нүктелердің барлығы бір кандидаттардың тізімін құрайды (қашықтық, бұрыш, id_node) бір объектінің орналасуы (эскиздегі «process_pointobject_with_pointssensor»).
- Алдыңғы тізімдегі әрбір «үміткер» үшін «кандидат_салынды_бет арасында_сенсор2 мен3» функциясы ультрадыбыстық датчик 2 мен 3 тұрғысынан олардың қайсысы келесі тригонометриялық шартқа сәйкес келетінін есептейді (2 және 3 суреттерді қараңыз)
жүзу қашықтығы2 = sin (радиандар (бұрыш)) * қашықтық;
қалқымалы қашықтық3 = cos (радиандар (бұрыш_кандидаты)) * қашықтық_кандидаты; // Тригонометрия шарты 1 абс (қашықтық 2 + қашықтық 3 - арақашықтық 2 мен 3) <= өзгермелі (максималды_әйелдік_ашықтығы)
Жоғарыда айтылғандай, алдыңғы тізімдегі әрбір «үміткер» үшін «кандидат_салынды_арасында_сенсор1 мен2» функциясы ультрадыбыстық датчик 1 мен 2 тұрғысынан есептейді, олардың қайсысы келесі тригонометриялық қатынасқа сәйкес келеді (2 және 3 суретті қараңыз)
қалқымалы қашықтық1 = sin (радиан (бұрыш)) * арақашықтық; қалқымалы қашықтық2 = cos (радиан (бұрыш_кандидаты)) * қашықтық_кандидат; // Тригонометрия шарты 2 абс (арақашықтық1 + арақашықтық2 - арақашықтық1 мен2) <= өзгермелі
1 және 2 тригонометрия шарттарына сәйкес келетін кандидаттар (қашықтық, бұрыш, id_node) сенсорлық станциялар 1, 2 және 3 анықтаған объектілер болып табылады
Осыдан кейін нәтижелер басты станция оларды өңдеу үшін эскизге жібереді.
4 -қадам: материалдар тізімі
Бір сенсорлық станцияға немесе бір объектіге қажетті материалдардың тізімі келесідей:
- Нано тақта
- Ультрадыбыстық сенсор
- Микросерво қозғалтқышы
- NRF24L01 сымсыз модулі
- NRF24L01 адаптері
және негізгі станцияға арналған материалдар тізімі келесідей:
- Нано тақта
- NRF24L01 сымсыз модулі
- NRF24L01 адаптері
Ұсынылған:
Ультрадыбыстық москит өлтіруші: 3 қадам (суреттермен)
Ультрадыбыстық москиттерді өлтіруші: масалар СҰРАҚ! Тітіркендіретін қышымалы бөртпелерден басқа, бұл қан соратын гастрендер адамдарға ең қауіпті ауруларды әкеледі; Денге, безгек, чикунгуня вирусы … тізім жалғасуда! Жыл сайын бір миллионға жуық адам қайтыс болады
ARDUINO қолданатын ультрадыбыстық левитация машинасы: 8 қадам (суреттермен)
ARDUINO қолданатын ультрадыбыстық левитация машинасы: ауада немесе бөтен ғарыш кемесі сияқты бос кеңістікте жүзіп бара жатқан нәрсені көру өте қызықты. бұл гравитацияға қарсы жоба. Нысан (негізінен кішкене қағаз немесе термокольт) екі ультрадыбыстық транс
Ультрадыбыстық сенсор реттелетін бекітпе: 9 қадам (суреттермен)
Ультрадыбыстық сенсор реттелетін қондырғы: Сәлеметсіз бе! Мен Алехандро. Мен 8 -сыныпта оқимын, мен IITA технологиялық институтының студентімін. Бұл конкурс үшін мен роботқа ультрадыбыстық сенсордың реттелетін қондырғысын жасадым, оны роботқа тікелей немесе сервоға қосуға болады, мен
Ультрадыбыстық сенсорды қолданатын DIY радар жүйесі: 3 қадам
Ультрадыбыстық сенсорды қолданатын DIY радар жүйесі: Мен сіздермен бұл жобаны бөлісемін, ол ультрадыбыстық сенсорлы arduino мен серво қозғалтқышының көмегімен жасалады
Ультрадыбыстық кіру жүйесі: 6 қадам (суреттермен)
Ультрадыбыстық кіру жүйесі: Бұл жолы мен сізге ультрадыбыстық негіздегі кіру жүйесін ұсынамын, ол қызықты болуы мүмкін деп ойлаймын, ол ультрадыбыстық толқындарға негізделген, сондықтан ол басқа электронды құрылғыны қажет етпейтін контактісіз қатынау жүйесі, бірақ сіздің қолыңызда қандай зат болса да тырысу үшін