Kazalo:
- 1. korak: Kako deluje?
- 2. korak: Kako konfigurirati tri postaje senzorjev in objekte
- 3. korak: Kako konfigurirati glavno postajo
- 4. korak: Seznam materiala
Video: Ultrazvočni sistem za določanje položaja: 4 koraki (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:04
Vse različice ultrazvočnih radarjev, ki sem jih našel za arduino naprave (Arduino - Radar/Ultrasonic Detector, Arduino Ultrasonic Radar Project), so zelo lepi radarji, vendar so vsi "slepi". Radar nekaj zazna, kaj pa zazna?
Zato predlagam, da razvijem sistem, ki lahko zazna predmete in jih identificira. Z drugimi besedami, sistem za določanje položaja brez uporabe naprav GPS, ampak ultrazvočnih detektorjev.
To je rezultat, upam, da vam je všeč.
1. korak: Kako deluje?
Sisteme za določanje položaja tvorijo tri senzorske postaje z ultrazvočnimi detektorji in id_node 1, 2 in 3, ki tvorijo pravokotnik ali kvadrat, ki zavije pod kotom 90 ° in kjer so razdalje med njimi znane, kot je prikazano na sliki 1.
const plavajoča razdalja med 1 in 2 = 60,0;
const plavajoča razdalja med 2 in 3 = 75,0;
Ti senzorji merijo razdaljo in kot drugih predmetov z id_node večjim od 3, ki imajo tudi ultrazvočni detektor, ki premakne kot 170 °.
Vsi pošiljajo razdalje, izmerjene kote in id_node na drugo glavno postajo z uporabo brezžičnih komunikacij za analizo, izračun položaja predmetov z izračunom trigonometrije in njihovo identifikacijo.
Da bi se izognili motnjam, glavna postaja sinhronizira vse ultrazvočne detektorje tako, da v vsakem trenutku meri le en ultrazvočni detektor
Po tem in z uporabo serijske komunikacije glavna postaja pošlje informacije (kot, razdalja, id_objekt) na skico za obdelavo, da nariše rezultate.
2. korak: Kako konfigurirati tri postaje senzorjev in objekte
Edina funkcija vsake senzorske postaje je odkrivanje predmetov in pošiljanje glavne razdalje, kota in id vozlišča izmerjene glavne postaje.
Zato morate posodobiti največjo dovoljeno razdaljo zaznavanja (»valid_max_distance«) in najmanjšo (»valid_min_distance«) (centimetre), da izboljšate zaznavanje in omejite območje zaznavanja:
int valid_max_distance = 80;
int valid_min_distance = 1;
ID vozlišče teh senzorskih postaj ("this_node" v spodnji kodi) je 1, 2 in 3, id vozlišče glavne postaje pa 0.
const uint16_t this_node = 01; // Naslov našega vozlišča v oktalni obliki (Node01, Node02, Node03)
const uint16_t other_node = 00; // Naslov glavnega vozlišča (Node00) v oktalni obliki
Vsaka senzorska postaja premakne in kot 100 ° ("max_angle" v spodnji kodi)
#define min_angle 0
#define max_angle 100
Kot zgoraj je edina funkcija predmeta zaznavanje predmetov in pošiljanje seznama merjenih razdalj, kotov in id predmetov na glavno postajo. ID enega predmeta (»this_node« v spodnji kodi) mora biti večji od 3.
Vsak predmet premakne in ima kot 170 °. Kot zgoraj je mogoče posodobiti največjo in najmanjšo razdaljo zaznavanja.
const uint16_t this_node = 04; // Naslov našega vozlišča v oktalni obliki (Node04, Node05,…)
const uint16_t other_node = 00; // Naslov glavnega vozlišča (Node00) v oktalni obliki int valid_max_distance = 80; int valid_min_distance = 1; #define min_angle 0 #define max_angle 170
3. korak: Kako konfigurirati glavno postajo
Funkcija glavne postaje je sprejemanje prenosov senzorskih postaj in predmetov ter pošiljanje rezultatov prek serijskih vrat na procesno skico, da jih nariše. Poleg tega sinhronizira vse objekte in tri senzorske postaje tako, da le eden od njih vsakič meri, da bi se izognili motnjam.
Za začetek morate posodobiti razdaljo (centimetre) med senzorjema 1 in 2 ter razdaljo med 2 in 3.
const plavajoča razdalja med 1 in 2 = 60,0;
const plavajoča razdalja med 2 in 3 = 70,0;
Skica izračuna položaj predmetov na naslednji način:
- Za vse prenose objektov (id_node večje od 3) poiščite enako razdaljo pri vsakem prenosu ultrazvočnih senzorjev (id_node 1, 2 ali 3).
- Vse te točke tvorijo seznam "kandidatov" (razdalja, kot, id_node) za položaj enega predmeta ("proces_pointobject_with_pointssensor" na skici).
- Za vsakega "kandidata" prejšnjega seznama funkcija "kandidat_izbrani_med_senzorjem2 in 3" izračuna z vidika ultrazvočnega senzorja 2 in 3, kateri se ujemata z naslednjim pogojem trigonometrije (glej sliki 2 in 3)
plavajoča razdalja od2 = sin (radiani (kot)) * razdalja;
float distancefroms3 = cos (radiani (kot_kandidat)) * razdalja_kandidat; // Pogoj trigonometrije 1 abs (razdalja od2 + razdalja od3 - razdalja med 2 in 3) <= float (max_diference_distance)
Kot zgoraj, za vsakega "kandidata" na prejšnjem seznamu funkcija "kandidat_izbrani_med_sensorjem1 in 2" izračuna z vidika ultrazvočnega senzorja 1 in 2, kateri se ujemata z naslednjo trigonometrično relacijo (glej sliko 2 in 3)
float distancefroms1 = sin (radiani (kot)) * distance; float distancefroms2 = cos (radiani (kot_kandidat)) * razdalja_kandidat; // Pogoj trigonometrije 2 abs (razdalja od1 + razdalja od2 - razdalja med1 in 2) <= float (max_diference_distance)
Samo kandidati (razdalja, kot, id_ vozlišče), ki ustrezajo pogojem trigonometrije 1 in 2, so identificirani objekti, ki jih zaznajo senzorske postaje 1, 2 in 3
Nato glavna postaja pošlje rezultate na obdelavo skice, da jih nariše.
4. korak: Seznam materiala
Seznam materiala, potrebnega za eno senzorsko postajo ali en predmet, je naslednji:
- Nano plošča
- Ultrazvočni senzor
- Mikro servo motor
- Brezžični modul NRF24L01
- NRF24L01 adapter
seznam materialov za glavno postajo pa je naslednji:
- Nano plošča
- Brezžični modul NRF24L01
- NRF24L01 adapter
Priporočena:
Ultrazvočni ubijalec komarjev: 3 koraki (s slikami)
Ultrazvočni ubijalec komarjev: Komarji so sesali! Poleg neprijetnih srbečih udarcev ti pogani, ki sesajo kri, prinašajo človeku nekatere najbolj smrtonosne bolezni; Denga, malarija, virus Chikungunya … seznam se nadaljuje! Vsako leto bo približno milijon ljudi umrlo zaradi
Ultrazvočni sistem dostopa: 6 korakov (s slikami)
Sistem dostopa na osnovi ultrazvoka: Tokrat vam predstavljam sistem dostopa na osnovi ultrazvoka, za katerega menim, da bi lahko bil zanimiv. Temelji na ultrazvočnih valovih, zato je sistem brezstičnega dostopa, ki ne potrebuje nobene druge elektronske naprave, ampak kateri koli predmet, tudi vaše roke poskusiti t
Ultrazvočni pregled telesa z Arduinom: 3 koraki (s slikami)
Ultrazvočni pregled telesa z Arduinom: Pozdravljeni! Moj hobi in strast je uresničevanje fizikalnih projektov. Eno od mojih zadnjih del je ultrazvočna sonografija. Kot vedno sem poskušal čim bolj poenostaviti dele, ki jih lahko dobite na ebayu ali aliexpressu. Pa poglejmo, kako daleč lahko grem z
Določanje tlaka in nadmorske višine z uporabo GY-68 BMP180 in Arduina: 6 korakov
Določanje tlaka in nadmorske višine z uporabo GY-68 BMP180 in Arduino: Pregled Pri številnih projektih, kot so leteči roboti, vremenske postaje, izboljšanje zmogljivosti usmerjanja, šport itd., Je merjenje tlaka in nadmorske višine zelo pomembno. V tej vadnici se boste naučili uporabljati senzor BMP180, ki je eden najbolj
Določanje statistične pomembnosti z Z-testom: 10 korakov
Določanje statistične pomembnosti z Z-testom: Pregled: Namen: V tem navodilu se boste naučili, kako ugotoviti, ali obstaja statistična pomembnost med dvema spremenljivkama glede problema socialnega dela. Za določitev tega pomena boste uporabili test Z. Trajanje: 10-15 minut