Turinys:
- 1 žingsnis: kaip tai veikia?
- 2 veiksmas: kaip sukonfigūruoti tris jutiklių stotis ir objektus
- 3 veiksmas: kaip sukonfigūruoti pagrindinę stotį
- 4 žingsnis: medžiagų sąrašas
Video: Ultragarsu pagrįsta padėties nustatymo sistema: 4 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Visos mano rastos ultragarso radarų versijos, skirtos arduino įrenginiams („Arduino“- radaras/ultragarso detektorius, „Arduino“ultragarso radaro projektas), yra labai gražūs radarai, tačiau visi jie yra „akli“. Aš turiu galvoje, radaras kažką aptinka, bet ką jis aptinka?
Taigi siūlau sukurti sistemą, galinčią aptikti objektus ir juos identifikuoti. Kitaip tariant, padėties nustatymo sistema nenaudojant GPS prietaisų, bet ultragarso detektorių.
Tikiuosi, kad jums patiks šis rezultatas.
1 žingsnis: kaip tai veikia?
Padėties nustatymo sistemas sudaro trys jutiklių stotys su ultragarso detektoriais ir 1, 2 ir 3 mazgai, sudarantys stačiakampį arba kvadratą, kuris nukreipia 90 ° kampą ir kur atstumai tarp jų yra žinomi, kaip parodyta 1 paveiksle.
const plūdės atstumas tarp 1 ir 2 = 60,0;
const plūdės atstumas tarp 2 ir 3 = 75,0;
Šie jutikliai matuoja atstumą ir kampą kitiems objektams, kurių „id_node“yra didesnis nei 3 ir kurie taip pat turi ultragarsinį detektorių, kuris nusveria 170 ° kampą.
Visi jie siunčia atstumus, išmatuotus kampus ir id_node į kitą pagrindinę stotį, naudodamiesi belaidžiu ryšiu, kad galėtų analizuoti, apskaičiuoti objektų padėtį, naudodami trigonometrijos skaičiavimą, ir juos identifikuoti.
Siekiant išvengti trukdžių, pagrindinė stotis sinchronizuoja visus ultragarso detektorius taip, kad kiekvieną akimirką matuoja tik vienas ultragarso detektorius
Po to, naudodama nuoseklųjį ryšį, pagrindinė stotis siunčia informaciją (kampą, atstumą, id_objektą) į apdorojimo eskizą, kad būtų nubrėžti rezultatai.
2 veiksmas: kaip sukonfigūruoti tris jutiklių stotis ir objektus
Vienintelė kiekvienos jutiklio stoties funkcija yra aptikti objektus ir išsiųsti atstumo, kampo ir identifikavimo mazgo sąrašą pagrindinei stočiai.
Taigi, norėdami pagerinti aptikimą ir apriboti aptikimo zoną, turite atnaujinti didžiausią leistiną aptikimo atstumą („valid_max_distance“) ir mažiausią („valid_min_distance“) (centimetrus):
int valid_max_distance = 80;
int valid_min_distance = 1;
Šių jutiklių stočių identifikavimo mazgas (toliau pateiktame kode „šis_nodas“) yra 1, 2 ir 3, o pagrindinės stoties ID mazgas yra 0.
const uint16_t this_node = 01; // Mūsų mazgo adresas oktaliniu formatu (Node01, Node02, Node03)
const uint16_t other_node = 00; // Pagrindinio mazgo (Node00) adresas oktaliniu formatu
Kiekviena jutiklio stotis šluoja ir 100º kampas (toliau nurodytame kode nurodytas „max_angle“)
#define min_angle 0
#define max_angle 100
Kaip ir aukščiau, vienintelė objekto funkcija yra aptikti objektus ir išsiųsti atstumų, kampų ir identifikuojamų objektų sąrašą į pagrindinę stotį. Vieno objekto ID (toliau nurodytame kode yra „this_node“) turi būti didesnis nei 3.
Kiekvienas objektas šluoja ir 170 ° kampas ir, kaip nurodyta aukščiau, galima atnaujinti didžiausią ir mažiausią aptikimo atstumą.
const uint16_t this_node = 04; // Mūsų mazgo adresas oktaliniu formatu (Node04, Node05,…)
const uint16_t other_node = 00; // Pagrindinio mazgo (Node00) adresas oktaliniu formatu int valid_max_distance = 80; int valid_min_distance = 1; 170
3 veiksmas: kaip sukonfigūruoti pagrindinę stotį
Pagrindinės stoties funkcija yra priimti jutiklių stočių ir objektų perdavimą ir nusiųsti rezultatus naudojant nuoseklųjį prievadą į apdorojimo eskizą, kad būtų galima juos nubrėžti. Be to, sinchronizuojami visi objektai ir trys jutiklių stotys taip, kad tik vienas iš jų matuoja kiekvieną kartą, kad būtų išvengta trukdžių.
Pirmiausia turite atnaujinti atstumą (centimetrais) tarp 1 ir 2 jutiklio ir atstumą tarp 2 ir 3.
const plūdės atstumas tarp 1 ir 2 = 60,0;
const plūdės atstumas tarp 2 ir 3 = 70,0;
Eskizas apskaičiuoja objektų padėtį taip:
- Visiems objektų perdavimams (id_node didesnis nei 3) ieškokite to paties atstumo kiekviename ultragarso jutiklių perdavime (id_node 1, 2 arba 3).
- Visi šie taškai sudaro „kandidatų“sąrašą (atstumas, kampas, id_node), kurie yra vieno objekto vieta (eskizo „proceso_pieškobjektas_su_ taškų jutikliu“).
- Kiekvienam ankstesnio sąrašo „kandidatui“funkcija „kandidatas_pasirinktas_ tarp jutiklio2 ir 3“pagal ultragarso jutiklio 2 ir 3 požiūriu apskaičiuoja, kuris iš jų atitinka šią trigonometrijos sąlygą (žr. 2 ir 3 paveikslėlius)
float distancefroms2 = sin (radianai (kampas)) * atstumas;
float distancefroms3 = cos (radianai (kampas_kandidatas)) * distance_candidate; // Trigonometrijos sąlyga 1 abs (atstumas nuo 2 + atstumas 3 - atstumas tarp 2 ir 3) <= plūdė (maksimalus_diference_distance)
Kaip nurodyta aukščiau, kiekvienam ankstesnio sąrašo „kandidatui“funkcija „kandidatas_sirinktas_betarp_sensorius1 ir 2“pagal 1 ir 2 ultragarso jutiklio požiūriu apskaičiuoja, kuris iš jų atitinka šį trigonometrijos ryšį (žr. 2 ir 3 paveikslėlį)
float distancefroms1 = sin (radianai (kampas)) * atstumas; float distancefroms2 = cos (radianai (kampas_kandidatas)) * distance_candidate; // Trigonometrijos sąlyga 2 abs (atstumas nuo 1 + atstumas 2 - atstumas tarp 1 ir 2) <= plūdė (maksimalus_skirtumas_distance)
Tik kandidatai (atstumas, kampas, id_node), atitinkantys 1 ir 2 trigonometrijos sąlygas, yra identifikuoti objektai, kuriuos aptinka 1, 2 ir 3 jutiklių stotys
Po to pagrindinė stotis siunčia rezultatus į apdorojimo eskizą, kad juos nubrėžtų.
4 žingsnis: medžiagų sąrašas
Medžiagų, reikalingų vienai jutiklių stočiai ar vienam objektui, sąrašas yra toks:
- Nano plokštė
- Ultragarsinis jutiklis
- Mikro servo variklis
- NRF24L01 belaidis modulis
- NRF24L01 adapteris
ir pagrindinės stoties medžiagos sąrašas yra toks:
- Nano plokštė
- NRF24L01 belaidis modulis
- NRF24L01 adapteris
Rekomenduojamas:
Ultragarsu pagrįsta prieigos sistema: 6 žingsniai (su nuotraukomis)
Ultragarso pagrindu sukurta prieigos sistema: šį kartą pristatau jums ultragarsu pagrįstą prieigos sistemą, kuri, manau, galėtų būti įdomi. Ji pagrįsta ultragarso bangomis, todėl tai yra bekontaktė prieigos sistema, kuriai nereikia jokio kito elektroninio prietaiso, bet kokio objekto, net jūsų rankų pabandyti t
Sukurkite ultragarso aptikimo ir diapazono nustatymo prietaisą namuose: 7 žingsniai (su nuotraukomis)
Pasigaminkite ultragarso aptikimo ir matavimo prietaisą namuose: Sveiki! Aš esu Sourabhas Kumaras, norėjau sukurti aliarminį radarą, bet nepavyko, bandysiu dar kartą, bet šiandien aš padėsiu jums sukurti ultragarso aptikimo ir diapazono nustatymo prietaisą namuose, naudojant ultragarso jutiklį (siųstuvą -imtuvą), žinau, kad yra daug už
„Arduino“laikmatis su įjungimo/išjungimo nustatymo tašku: 6 žingsniai (su nuotraukomis)
„Arduino“laikmatis su įjungimo/išjungimo nustatymo tašku: redaguotas 2018-02-05 Nauji laikmačiai! valandos, minutės, sekundės, eeprom. Apsilankykite: https: //www.instructables.com/id/Arduino-Ultra-Meg…Labas, su šiuo projektu galėsite valdyti savo prietaisų įjungimą ir išjungimą norimu laiku. Jie gali būti
„R-PiAlerts“: sukurkite „WiFi“pagrįstą saugos sistemą su „Raspberry Pis“: 8 žingsniai (su nuotraukomis)
„R-PiAlerts“: sukurkite „WiFi“pagrįstą apsaugos sistemą su avietėmis: dirbdami prie savo stalo staiga išgirsite tolimą triukšmą. Ar kas nors ką tik grįžo namo? Mano automobilis stovi priešais mano namą, ar kas nors įsibrovė į mano automobilį? Ar nenorite, kad jūsų telefone ar prie stalo būtų gautas pranešimas, kad galėtumėte nuspręsti, kada
RFID apsaugos sistema (pagrįsta „Arduino“): 6 žingsniai (su nuotraukomis)
RFID apsaugos sistema (pagrįsta „Arduino“): tikrai gražus prietaisas, kurį galite turėti net namuose