Sadržaj:
- Korak 1: Kako to funkcionira?
- Korak 2: Kako konfigurirati tri senzorske stanice i objekte
- Korak 3: Kako konfigurirati glavnu stanicu
- Korak 4: Popis materijala
Video: Sustav pozicioniranja temeljen na ultrazvuku: 4 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:35
Sve verzije ultrazvučnih radara koje sam pronašao za arduino uređaje (Arduino - Radar/Ultrasonic Detector, Arduino Ultrasonic Radar Project) vrlo su lijepi radari, ali sve su one "slijepe". Mislim, radar nešto detektira, ali što detektira?
Stoga se predlažem da razvijem sustav koji može otkriti objekte i identificirati ih. Drugim riječima, sustav pozicioniranja bez upotrebe GPS uređaja, već ultrazvučnih detektora.
Ovo je rezultat koji se nadam da će vam se svidjeti.
Korak 1: Kako to funkcionira?
Sustave za pozicioniranje čine tri senzorske postaje s ultrazvučnim detektorima i id_ čvor 1, 2 i 3 koji tvore pravokutnik ili kvadrat koji zauzima kut od 90º i gdje su udaljenosti između njih poznate kao što je prikazano na slici 1.
const plutajuća udaljenost između 1 i 2 = 60,0;
const plutajuća udaljenost između 2i3 = 75,0;
Ovi senzori mjere udaljenost i kut drugih objekata s id_ čvorom većim od 3 koji također imaju ultrazvučni detektor koji pomiče kut od 170 °.
Svi oni šalju udaljenosti, izmjerene kutove i id_node na drugu glavnu stanicu koristeći bežične komunikacije za analizu, izračun položaja objekata pomoću trigonometrijskog izračuna i njihovu identifikaciju.
Kako bi se izbjegle smetnje, glavna stanica sinkronizira sve ultrazvučne detektore na način da u svakom trenutku mjeri samo jedan ultrazvučni detektor
Nakon toga i koristeći serijsku komunikaciju, glavna stanica šalje informacije (kut, udaljenost, id_objekt) na skicu za obradu radi iscrtavanja rezultata.
Korak 2: Kako konfigurirati tri senzorske stanice i objekte
Jedina funkcija svake senzorske postaje je otkrivanje objekata i slanje popisa udaljenosti, kuta i id čvora izmjerenog na glavnu stanicu.
Stoga morate ažurirati najveću dopuštenu udaljenost otkrivanja ("valid_max_distance") i minimalnu ("valid_min_distance") (centimetre) da biste poboljšali otkrivanje i ograničili zonu otkrivanja:
int validna_max_distance = 80;
int valid_min_distance = 1;
ID čvor ovih senzorskih stanica ("this_node" u donjem kodu) je 1, 2 i 3, a id čvor glavne postaje 0.
const uint16_t this_node = 01; // Adresa našeg čvora u oktalnom formatu (Node01, Node02, Node03)
const uint16_t other_node = 00; // Adresa glavnog čvora (Node00) u oktalnom formatu
Svaka senzorska stanica prelazi i kut je 100º (“max_angle” u donjem kodu)
#define min_angle 0
#define max_angle 100
Kao što je gore jedina funkcija objekta je otkrivanje objekata i slanje popisa udaljenosti, kutova i id objekata izmjerenih do glavne postaje. ID jednog objekta ("this_node" u donjem kodu) mora biti veći od 3.
Svaki objekt pomiče pod kutom od 170º, a kao što je gore navedeno, moguće je ažurirati maksimalnu i minimalnu udaljenost otkrivanja.
const uint16_t this_node = 04; // Adresa našeg čvora u oktalnom formatu (Node04, Node05, …)
const uint16_t other_node = 00; // Adresa glavnog čvora (Node00) u oktalnom formatu int valid_max_distance = 80; int valid_min_distance = 1; #define min_angle 0 #define max_angle 170
Korak 3: Kako konfigurirati glavnu stanicu
Funkcija glavne postaje je primanje prijenosa senzorskih stanica i objekata te slanje rezultata putem serijskog porta na skicu za obradu radi iscrtavanja. Štoviše, sinkronizira sve objekte i tri senzorske postaje na način da samo jedan od njih mjeri svaki put kako bi se izbjegle smetnje.
Za početak morate ažurirati udaljenost (centimetre) između senzora 1 i 2 i udaljenost između 2 i 3.
const plutajuća udaljenost između 1 i 2 = 60,0;
const plutajuća udaljenost između 2 i 3 = 70,0;
Skica izračunava položaj objekata na sljedeći način:
- Za sve prijenose objekata (id_node veći od 3) potražite istu udaljenost u svakom prijenosu ultrazvučnih senzora (id_node 1, 2 ili 3).
- Sve ove točke tvore popis "kandidata" (udaljenost, kut, id_ čvor) koji će biti pozicija jednog objekta ("proces_pointobject_with_pointssensor" na skici).
- Za svakog "kandidata" s prethodnog popisa, funkcija "kandidat_izabrani_između_osjetnika2i3" izračunava s gledišta ultrazvučnog senzora 2 i 3 koji od njih odgovaraju sljedećem uvjetu trigonometrije (pogledajte slike 2 i 3)
plutajuća udaljenostod2 = sin (radijani (kut)) * udaljenost;
float distancefroms3 = cos (radijani (kutni_kandidat)) * udaljenost_kandidat; // Uvjet trigonometrije 1 abs (udaljenostod2 + udaljenostod3 - udaljenost između2i3) <= float (max_diference_distance)
Kao i gore, za svakog "kandidata" s prethodnog popisa, funkcija "kandidat_izabrani_između_osjetnika1 i 2" izračunava sa stajališta ultrazvučnog senzora 1 i 2 koji od njih odgovaraju sljedećoj relaciji trigonometrije (vidi sliku 2 i 3)
float distancefroms1 = sin (radijani (kut)) * udaljenost; float distancefroms2 = cos (radijani (angle_kandidat)) * distance_candidate; // Uvjet trigonometrije 2 abs (udaljenostod1 + udaljenostod2 - udaljenost između1i2) <= float (max_diference_distance)
Samo kandidati (udaljenost, kut, id_ čvor) koji odgovaraju uvjetima trigonometrije 1 i 2 identificirani su objekti otkriveni senzorskim stanicama 1, 2 i 3
Nakon toga rezultati se šalju glavnom stanicom na skicu za obradu kako bi ih iscrtali.
Korak 4: Popis materijala
Popis materijala potrebnog za jednu senzorsku stanicu ili jedan objekt je sljedeći:
- Nano ploča
- Ultrazvučni senzor
- Mikro servo motor
- Bežični modul NRF24L01
- NRF24L01 adapter
a popis materijala za glavnu stanicu je sljedeći:
- Nano ploča
- Bežični modul NRF24L01
- NRF24L01 adapter
Preporučeni:
RFID sustav temeljen na PIC16F877A: 5 koraka
RFID sustav temeljen na PIC16F877A: RFID sustav je sustav koji omogućuje identifikaciju učenika, zaposlenika i drugih koji koriste RFID oznaku, radi praćenja njihove prisutnosti, rada, radnog vremena i mnogih drugih. Ovaj je članak sponzor JLCPCB -a. Zaista zahvaljujem JLCPCB -u na sponzorstvu
Sustav vizualnog praćenja poljoprivrede temeljen na LoRa Iot - Dizajniranje prednje aplikacije pomoću Firebase & Angular: 10 koraka
Sustav vizualnog praćenja poljoprivrede temeljen na LoRa Iot | Dizajniranje frontalne aplikacije pomoću Firebase & Angular: U prethodnom poglavlju govorimo o tome kako senzori rade s loRa modulom za popunjavanje baze podataka Firebase u stvarnom vremenu, te smo vidjeli dijagram vrlo visoke razine kako cijeli naš projekt funkcionira. U ovom ćemo poglavlju govoriti o tome kako možemo
Sustav pristupa temeljen na ultrazvuku: 6 koraka (sa slikama)
Sustav pristupa temeljen na ultrazvuku: Ovog puta predstavljam vam sustav pristupa temeljen na ultrazvuku. Mislim da bi mogao biti zanimljiv. Temelji se na ultrazvučnim valovima pa je to beskontaktni pristupni sustav koji ne treba nikakav drugi elektronički uređaj, već bilo koji predmet, čak i vaše ruke da probam
Glazbeni generator temeljen na vremenu (Midi generator temeljen na ESP8266): 4 koraka (sa slikama)
Glazbeni generator temeljen na vremenu (Midi Generator temeljen na ESP8266): Bok, danas ću vam objasniti kako napraviti vlastiti mali glazbeni generator temeljen na vremenu. Baziran je na ESP8266, koji je poput Arduina, a reagira na temperaturu, kišu i intenzitet svjetla. Ne očekujte da će to učiniti cijele pjesme ili akorde
R-PiAlerts: Izgradite sigurnosni sustav temeljen na WiFi-ju s Raspberry Pis: 8 koraka (sa slikama)
R-PiAlerts: Izgradite sigurnosni sustav temeljen na WiFi-u s Raspberry Pis: Dok radite za svojim stolom, odjednom čujete udaljenu buku. Je li netko upravo došao kući? Moj auto je parkiran ispred moje kuće, je li netko provalio u moj auto? Zar ne želite da imate obavijest na telefonu ili za radnim stolom kako biste mogli odlučiti kada