Talaan ng mga Nilalaman:
- Hakbang 1: Paano Ito Gumagana?
- Hakbang 2: Paano I-configure ang Tatlong Sensor Stations at ang Mga Bagay
- Hakbang 3: Paano I-configure ang Master Station
- Hakbang 4: Listahan ng Materyal
Video: Sistema ng Posisyon ng Batay sa Ultrasonics: 4 na Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:12
Ang lahat ng mga bersyon ng mga ultrasonic radar na nahanap ko para sa mga arduino device (Arduino - Radar / Ultrasonic Detector, Arduino Ultrasonic Radar Project) ay napakagandang mga radar ngunit lahat ng mga ito ay "bulag". Ibig kong sabihin, may nakita ang radar ngunit ano ang nakikita nito?
Kaya't iminungkahi ko ang aking sarili na paunlarin ang isang system na makakakita ng mga objet at makilala ang mga ito. Sa madaling salita isang sistema ng pagpoposisyon nang hindi gumagamit ng mga aparato ng GPS ngunit mga detector ng ultrasonic.
Ito ang resulta sana ay magustuhan mo.
Hakbang 1: Paano Ito Gumagana?
Ang mga sistema ng pagpoposisyon ay nabuo ng tatlong mga istasyon ng sensor na may mga ultrasonic detector at id_node 1, 2 at 3 na bumubuo ng isang rektanggulo o parisukat na walisin ang isang anggulo ng 90º at kung saan ang mga distansya sa pagitan ng mga ito ay kilala tulad ng ipinakita sa larawan 1.
const float distansyabet pagitan1and2 = 60.0;
const float distansyabet pagitan2and3 = 75.0;
Sinusukat ng mga sensor na ito ang distansya at anggulo ng iba pang mga bagay na may id_node na mas malaki sa 3 na mayroon ding isang ultrasonic detector na nagwawalis ng isang anggulo ng 170 °.
Ang lahat sa kanila ay nagpapadala ng mga distansya, sinusukat ang mga anggulo at ang id_node sa isa pang master station na gumagamit ng mga wireless na pakikipag-ugnay upang pag-aralan, kalkulahin ang posisyon ng mga bagay na gumagamit ng pagkalkula ng trigonometry at kilalanin ang mga ito.
Upang maiwasan ang mga pagkagambala sinasabay ng master station ang lahat ng mga detektor ng ultrasonics sa paraang iyon na isang ultrasonic detector lamang ang sumusukat sa bawat sandali
Pagkatapos nito at paggamit ng isang serial na komunikasyon ang master station ay nagpapadala ng impormasyon (anggulo, distansya, id_object) sa isang pagproseso ng sketch upang magbalak ng mga resulta.
Hakbang 2: Paano I-configure ang Tatlong Sensor Stations at ang Mga Bagay
Ang tanging pag-andar ng bawat istasyon ng sensor ay upang makita ang mga bagay at ipadala ang listahan ng distansya, anggulo at id node na sinusukat sa master station.
Kaya kailangan mong i-update ang maximum na distansya ng pagtuklas ("valid_max_distance") pinapayagan at ang minimum na isa ("valid_min_distance") (sentimetro) upang mapabuti ang pagtuklas at upang limitahan ang detection zone:
int valid_max_distance = 80;
int valid_min_distance = 1;
Ang id node ng mga istasyon ng sensor ("this_node" sa code sa ibaba) ay 1, 2 at 3 at ang id node ng master station ay 0.
const uint16_t this_node = 01; // Address ng aming node sa format na Octal (Node01, Node02, Node03)
const uint16_t other_node = 00; // Address ng master node (Node00) sa format na Octal
Ang bawat sensor station ay nagwawalis at anggulo ng 100º ("max_angle" sa code sa ibaba)
# tukuyin ang min_angle 0
# tukuyin ang max_angle 100
Tulad ng sa itaas ang tanging pag-andar ng isang bagay ay upang makita ang mga bagay at ipadala ang listahan ng mga distansya, mga anggulo at id na bagay na sinusukat sa master station. Ang id ng isang bagay ("this_node" sa code sa ibaba) ay dapat na mas malaki sa 3.
Ang bawat bagay ay nagwawalis at anggulo ng 170º at tulad ng nasa itaas, posible na i-update ang maximum at minimum na distansya ng pagtuklas.
const uint16_t this_node = 04; // Address ng aming node sa format na Octal (Node04, Node05,…)
const uint16_t other_node = 00; // Address ng master node (Node00) sa Octal format int valid_max_distance = 80; int valid_min_distance = 1; # tukuyin ang min_angle 0 # tukuyin ang max_angle 170
Hakbang 3: Paano I-configure ang Master Station
Ang pag-andar ng master station ay upang makatanggap ng mga pagpapadala ng mga istasyon ng sensor at mga bagay at ipadala ang mga resulta gamit ang serial port sa isang sketch sa pagpoproseso upang i-plot ang mga ito. Bukod dito ay sinasabay ang lahat ng mga bagay at ang tatlong mga istasyon ng sensor sa paraang iyon na isa lamang sa mga ito ang sumusukat sa bawat oras upang maiwasan ang mga pagkagambala.
Panguna kailangan mong i-update ang distansya (sentimetro) sa pagitan ng sensor 1 at 2 at ang distansya sa pagitan ng 2 at 3.
const float distansyabet pagitan1and2 = 60.0;
const float distansyabet pagitan2and3 = 70.0;
Kinakalkula ng sketch ang posisyon ng mga bagay sa sumusunod na paraan:
- Para sa lahat ng mga pagpapadala ng mga bagay (id_node mas malaki sa 3) hanapin ang parehong distansya sa bawat paghahatid ng mga ultrasonic sensor (id_node 1, 2 o 3).
- Ang lahat ng mga puntong ito ay bumubuo ng isang listahan ng "mga kandidato" (distansya, anggulo, id_node) upang maging posisyon ng isang bagay ("proseso_pointobject_with_pointssensor" sa sketch).
- Para sa bawat "kandidato" ng nakaraang listahan, ang pagpapaandar na "kandidato_selected_betantara_sensor2and3" ay kinakalkula mula sa pananaw ng ultrasonic sensor 2 at 3 alin sa mga ito ang tumutugma sa sumusunod na kundisyon ng trigonometry (tingnan ang mga larawan 2 at 3)
float distancefroms2 = sin (radians (anggulo)) * distansya;
float distancefroms3 = cos (radians (angle_candidate)) * distance_candidate; // Trigonometry condition 1 abs (distansyafroms2 + distansya3 - distansya sa pagitan2and3) <= float (max_diference_distance)
Tulad ng sa itaas, para sa bawat "kandidato" ng nakaraang listahan, ang pagpapaandar na "kandidato_seleksyon_betantara_sensor1and2" ay kinakalkula mula sa pananaw ng ultrasonik sensor 1 at 2 alin sa mga ito ang tumutugma sa sumusunod na kaugnayan ng trigonometry (tingnan ang larawan 2 at 3)
float distancefroms1 = sin (radians (anggulo)) * distansya; float distancefroms2 = cos (radians (angle_candidate)) * distance_candidate; // Trigonometry condition 2 abs (distansyafroms1 + distansya2 - distansya sa pagitan1and2) <= float (max_diference_distance)
Ang mga kandidato lamang (distansya, anggulo, id_node) na tumutugma sa mga kundisyon ng trigonometry na 1 at 2 ay natukoy na mga bagay na napansin ng mga istasyon ng sensor na 1, 2 at 3
Pagkatapos nito ay ang mga resulta ay nagpapadala ng master station sa isang sketch ng pagproseso upang balangkas ang mga ito.
Hakbang 4: Listahan ng Materyal
Ang listahan ng materyal na kinakailangan para sa isang istasyon ng sensor o isang bagay ay ang sumusunod:
- Nano board
- Ultrasonic sensor
- Micro servo motor
- NRF24L01 wireless module
- NRF24L01 adapter
at ang listahan ng materyal para sa master station ay ang mga sumusunod:
- Nano board
- NRF24L01 wireless module
- NRF24L01 adapter
Inirerekumendang:
Batay sa Posisyon na Multifunction Cube Clock: 5 Mga Hakbang (na may Mga Larawan)
Batay sa Posisyon na Multifunction Cube Clock: Ito ay isang batay sa Arduino na orasan na nagtatampok ng isang OLED display na gumana bilang isang orasan kasama ang petsa, bilang isang timer ng nap, at bilang isang nightlight. Ang magkakaibang " pagpapaandar " ay kinokontrol ng isang accelerometer at napili ng pag-ikot ng cube orasan
Pamamahala ng Tanim na Batay sa Batay sa Solar Na May ESP32: 7 Mga Hakbang (na may Mga Larawan)
Pamamahala ng Tanim na Batay sa Batay ng Solar Sa ESP32: Ang paglaki ng mga halaman ay masaya at pagtutubig at pag-aalaga sa kanila ay hindi talaga isang abala. Ang mga aplikasyon ng Microcontroller upang subaybayan ang kanilang kalusugan ay nasa buong internet at ang inspirasyon para sa kanilang disenyo ay nagmula sa static na katangian ng halaman at ang kadalian ng moni
Alamin sa Circuit NANO: Isang PCB. Madaling matutunan. Walang-katapusang Mga Posisyon .: 12 Hakbang (na may Mga Larawan)
Alamin sa Circuit NANO: Isang PCB. Madaling matutunan. Walang-katapusang Mga Posisyon .: Ang pagsisimula sa mundo ng electronics at robotics ay maaaring maging medyo nakakatakot sa una. Maraming mga bagay na matututunan sa simula (disenyo ng circuit, paghihinang, programa, pagpili ng tamang mga elektronikong sangkap, atbp) at kapag nagkamali ang mga bagay
Batay sa Autonomous na Batay ng Arduino Gamit ang Ultrasonic Sensor: 5 Mga Hakbang (na may Mga Larawan)
Batay ng Autonomous na Batay ng Arduino Paggamit ng Ultrasonic Sensor: Lumikha ng iyong sariling Arduino based Autonomous Bot gamit ang Ultrasonic Sensor. Ang bot na ito ay maaaring lumipat sa sarili nitong walang pag-crash ng anumang mga hadlang. Karaniwan kung ano ang ginagawa nito ay nakita nito ang anumang uri ng mga hadlang sa paraan nito at nagpapasya ang pinakamahusay na pa
BeanBot - isang Batay sa Autonomous na Robot ng Batay sa Arduino !: 8 Mga Hakbang (na may Mga Larawan)
BeanBot - isang Arduino Batay sa Autonomous Paper Robot !: Mayroon bang anumang mas nakasisigla kaysa sa isang blangko na papel? Kung ikaw ay isang masugid na tinkerer o tagabuo pagkatapos ay walang alinlangan na simulan mo ang iyong mga proyekto sa pamamagitan ng pag-sketch ng mga ito sa papel. Nagkaroon ako ng ideya upang makita kung posible na bumuo ng isang frame ng robot na wala sa papel