Съдържание:
- Стъпка 1: Как работи?
- Стъпка 2: Как да конфигурирате трите сензорни станции и обектите
- Стъпка 3: Как да конфигурирате главната станция
- Стъпка 4: Списък на материалите
Видео: Ултразвукова система за позициониране: 4 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Всички версии на ултразвукови радари, които открих за устройства arduino (Arduino - Radar/Ultrasonic Detector, Arduino Ultrasonic Radar Project) са много хубави радари, но всички те са „слепи“. Искам да кажа, радарът открива нещо, но какво открива?
Затова предлагам да разработя система, способна да открива обекти и да ги идентифицира. С други думи, система за позициониране без използване на GPS устройства, а ултразвукови детектори.
Това е резултатът, надявам се да ви хареса.
Стъпка 1: Как работи?
Системите за позициониране се образуват от три сензорни станции с ултразвукови детектори и id_node 1, 2 и 3, образуващи правоъгълник или квадрат, които преминават под ъгъл от 90º и където разстоянията между тях са известни, както е показано на снимка 1.
const плаващо разстояние между 1 и 2 = 60,0;
const плаващо разстояние между 2 и 3 = 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; // Адрес на нашия възел в осмичен формат (Node01, Node02, Node03)
const uint16_t other_node = 00; // Адрес на главния възел (Node00) в осмичен формат
Всяка сензорна станция преминава под ъгъл от 100º („max_angle“в кода по -долу)
#define min_angle 0
#дефинирайте max_angle 100
Както по -горе единствената функция на обекта е да открива обекти и да изпраща списъка с разстояния, ъгли и id обект, измерен до главната станция. Идентификаторът на един обект („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; #define min_angle 0 #define max_angle 170
Стъпка 3: Как да конфигурирате главната станция
Функцията на главната станция е да приема предаванията на сензорните станции и обектите и да изпраща резултатите, използвайки серийния порт, до скица за обработка, за да ги начертае. Освен това синхронизира всички обекти и трите сензорни станции по такъв начин, че само един от тях измерва всеки път, за да се избегнат смущения.
Първо трябва да актуализирате разстоянието (сантиметри) между сензор 1 и 2 и разстоянието между 2 и 3.
const плаващо разстояние между 1 и 2 = 60,0;
const плаващо разстояние между 2 и 3 = 70,0;
Скицата изчислява позицията на обектите по следния начин:
- За всички предавания на обектите (id_node по -голям от 3) потърсете същото разстояние във всяко предаване на ултразвуковите сензори (id_node 1, 2 или 3).
- Всички тези точки образуват списък с „кандидати“(разстояние, ъгъл, id_node), които да бъдат позицията на един обект („process_pointobject_with_pointssensor“в скицата).
- За всеки „кандидат“от предишния списък функцията „kandidat_selected_between_sensor2and3“изчислява от гледна точка на ултразвуковия сензор 2 и 3 кое от тях отговаря на следното условие на тригонометрия (вижте снимките 2 и 3)
плаващо разстояние от2 = sin (радиани (ъгъл)) * разстояние;
float distancefroms3 = cos (радиани (ъгъл_кандидат)) * distance_candidate; // Условие за тригонометрия 1 abs (разстояние от2 + разстояние от3 - разстояние между2 и 3) <= поплавък (макс_разстояние_разстояние)
Както по -горе, за всеки "кандидат" от предишния списък, функцията "kandidat_selected_between_sensor1and2" изчислява от гледна точка на ултразвуковия сензор 1 и 2 кой от тях съответства на следната тригонометрична връзка (вижте снимките 2 и 3)
float distancefroms1 = sin (радиани (ъгъл)) * разстояние; float distancefroms2 = cos (радиани (ъгъл_кандидат)) * distance_candidate; // Условие за тригонометрия 2 abs (разстояние от 1 + разстояние от 2 - разстояние между1 и 2) <= поплавък (max_diference_distance)
Само кандидатите (разстояние, ъгъл, id_node), които отговарят на условията на тригонометрия 1 и 2, са идентифицирани обекти, открити от сензорните станции 1, 2 и 3
След това резултатите се изпращат от главната станция до обработваща скица, за да ги начертаят.
Стъпка 4: Списък на материалите
Списъкът с материали, необходими за една сензорна станция или един обект, е следният:
- Нано дъска
- Ултразвуков сензор
- Микро серво мотор
- Безжичен модул NRF24L01
- NRF24L01 адаптер
и списъкът с материали за главната станция е следният:
- Нано дъска
- Безжичен модул NRF24L01
- NRF24L01 адаптер
Препоръчано:
УЛТРАЗВУКОВА ЛЕВИТАЦИЯ Машина, използваща ARDUINO: 8 стъпки (със снимки)
УЛТРАЗВУКОВА ЛЕВИТАЦИЯ Машина, използваща ARDUINO: Много е интересно да видите нещо, плаващо във въздуха или свободното пространство като извънземни космически кораби. точно за това става въпрос в един антигравитационен проект. Обектът (основно малък лист хартия или термокол) се поставя между два ултразвукови транс
Ултразвукова система за достъп: 6 стъпки (със снимки)
Ултразвукова система за достъп: Този път ви представям система за достъп, базирана на ултразвук, мисля, че може да бъде интересна. Тя се основава на ултразвукови вълни, така че е система за безконтактен достъп, която не се нуждае от друго електронно устройство, но от какъвто и да е обект дори от ръцете ви да пробвам да
Ултразвукова сонография на тялото с Arduino: 3 стъпки (със снимки)
Ултразвуково изследване на тялото с Arduino: Здравейте! Моето хоби и страст е да реализирам физически проекти. Една от последните ми работи е за ултразвукова сонография. Както винаги се опитах да го направя възможно най -опростен с части, които можете да получите в ebay или aliexpress. Така че нека да видим докъде мога да стигна
УЛТРАЗВУКОВА РАДАРНА СИСТЕМА С ИЗПОЛЗВАНЕ НА ARDUINO: 3 стъпки
УЛТРАЗВУКОВА РАДАРНА СИСТЕМА С ИЗПОЛЗВАНЕ НА ARDUINO: Описаната тук схема демонстрира работата на ултразвукова радарна система. Той използва ултразвуков сензор за откриване на обект и измерване на разстоянието му и се върти според серво мотора. Ъгълът на въртене се показва на 16x2 LCD scr
Ултразвукова мишка за слушалки: 4 стъпки (със снимки)
Ултразвукова мишка Headtracker: Наскоро реконструирах слушалка за мишка за проследяване на главата за параплегичен човек. Тази инструкция съдържа малко информация, която може да помогне на всеки друг, който се опитва да направи същото. Устройството, с което работи тази слушалка, е директорът на КНР, Prentke HM-2P