Innehållsförteckning:
- Steg 1: Hur fungerar det?
- Steg 2: Hur man konfigurerar de tre sensorstationerna och objekten
- Steg 3: Hur man konfigurerar Master Station
- Steg 4: Lista över material
Video: Ultraljudsbaserat positioneringssystem: 4 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:44
Alla versioner av ultraljudsradarer jag har hittat för arduino -enheter (Arduino - Radar/Ultrasonic Detector, Arduino Ultrasonic Radar Project) är väldigt fina radar men alla är "blinda". Jag menar, radarn upptäcker något men vad upptäcker den?
Så jag föreslår själv att utveckla ett system som kan upptäcka objekt och identifiera dem. Med andra ord ett positioneringssystem utan att använda GPS -enheter utan ultraljudsdetektorer.
Detta är resultatet jag hoppas att du gillar.
Steg 1: Hur fungerar det?
Positioneringssystemen bildas av tre sensorstationer med ultraljudsdetektorer och id_nod 1, 2 och 3 som bildar en rektangel eller kvadrat som sveper en vinkel på 90º och där avstånden mellan dem är kända som visas på bild 1.
const floatavstånd mellan1 och2 = 60,0;
const floatavstånd mellan2and3 = 75,0;
Dessa sensorer mäter avståndet och vinkeln för andra objekt med id_node större än 3 som också har en ultraljudsdetektor som sveper en vinkel på 170 °.
Alla skickar avstånden, uppmätta vinklar och id_noden till en annan huvudstation med hjälp av trådlösa kommunikationer för att analysera, beräkna objektens position med hjälp av trigonometriberäkning och identifiera dem.
För att undvika störningar synkroniserar masterstationen alla ultraljudsdetektorer på det sättet som endast en ultraljudsdetektor mäter vid varje ögonblick
Efter det och med hjälp av en seriell kommunikation skickar masterstationen informationen (vinkel, avstånd, id_objekt) till en bearbetningsskiss för att plotta resultaten.
Steg 2: Hur man konfigurerar de tre sensorstationerna och objekten
Den enda funktionen för varje sensorstation är att detektera objekt och skicka listan över avstånd, vinkel och ID -nod som mäts till masterstationen.
Så du måste uppdatera det maximala detektionsavståndet ("valid_max_distance") som är tillåtet och det minsta ("valid_min_distance") (centimeter) för att förbättra detekteringen och begränsa detekteringszonen:
int valid_max_distance = 80;
int valid_min_distance = 1;
ID -noden för dessa sensorstationer ("denna_nod" i koden nedan) är 1, 2 och 3 och ID -noden för huvudstationen är 0.
const uint16_t this_node = 01; // Adress för vår nod i Octal -format (Node01, Node02, Node03)
const uint16_t other_node = 00; // Adress för huvudnoden (Node00) i Octal -format
Varje sensorstation sveper och vinkel 100º (“max_angle” i koden nedan)
#define min_angle 0
#define max_angle 100
Som ovan är det enda objektet för ett objekt att detektera objekt och skicka listan över avstånd, vinklar och ID -objekt som mäts till huvudstationen. Id för ett objekt ("this_node" i koden nedan) måste vara större än 3.
Varje objekt sveper och vinkel på 170º och enligt ovan är det möjligt att uppdatera det maximala och minsta detektionsavståndet.
const uint16_t this_node = 04; // Adress för vår nod i Octal -format (Node04, Node05, …)
const uint16_t other_node = 00; // Adress för huvudnoden (Node00) i Octal -format int valid_max_distance = 80; int valid_min_distance = 1; #define min_angle 0 #define max_angle 170
Steg 3: Hur man konfigurerar Master Station
Huvudstationens funktion är att ta emot överföringar av sensorstationer och objekt och skicka resultaten med hjälp av serieporten till en bearbetningsskiss för att plotta dem. Dessutom synkroniserar alla objekt och de tre sensorstationerna på det sättet som endast en av dem mäter varje gång för att undvika störningar.
Först måste du uppdatera avståndet (centimeter) mellan sensor 1 och 2 och avståndet mellan 2 och 3.
const floatavstånd mellan1 och2 = 60,0;
const floatavstånd mellan2and3 = 70,0;
Skissen beräknar objektens position på följande sätt:
- För alla sändningar av objekten (id_nod större än 3) leta efter samma avstånd i varje sändning av ultraljudssensorerna (id_nod 1, 2 eller 3).
- Alla dessa punkter utgör en lista över "kandidater" (avstånd, vinkel, id_nod) för att vara positionen för ett objekt ("process_pointobject_with_pointssensor" i skissen).
- För varje "kandidat" i föregående lista beräknar funktionen "kandidat_vald_ mellan_sensor2 och3" ur ultraljudssensor 2 och 3 ur vinkeln vilken av dem matchar följande trigonometri -tillstånd (se bilderna 2 och 3)
float distancefroms2 = sin (radianer (vinkel)) * distans;
float distancefroms3 = cos (radianer (vinkel_kandidat)) * distans_kandidat; // Trigonometri tillstånd 1 abs (distansfroms2 + distansfroms3 - distans mellan2och3) <= float (max_diference_distance)
Som ovan, för varje "kandidat" i den föregående listan, beräknar funktionen "kandidat_vald_mellan_sensor1and2" ur ultraljudssensorn 1 och 2, vilken av dem matchar följande trigonometri -relation (se bild 2 och 3)
float distancefroms1 = sin (radianer (vinkel)) * distans; float distancefroms2 = cos (radianer (vinkelkandidat)) * distans_kandidat; // Trigonometillstånd 2 abs (distansfrom1 + avståndfrom2 - avstånd mellan1och2) <= float (max_diference_distance)
Endast kandidaterna (avstånd, vinkel, id_nod) som matchar trigonometriförhållandena 1 och 2 är identifierade objekt som detekteras av sensorstationerna 1, 2 och 3
Därefter skickas resultaten från masterstationen till en bearbetningsskiss för att plotta dem.
Steg 4: Lista över material
Listan över material som behövs för en sensorstation eller ett objekt är följande:
- Nanotavla
- Ultraljudssensor
- Mikro servomotor
- NRF24L01 trådlös modul
- Adapter NRF24L01
och materiallistan för masterstationen är följande:
- Nanotavla
- NRF24L01 trådlös modul
- Adapter NRF24L01
Rekommenderad:
Ta fantastiska bilder med en iPhone: 9 steg (med bilder)
Ta fantastiska bilder med en iPhone: De flesta av oss har en smartphone med oss överallt nuförtiden, så det är viktigt att veta hur du använder din smartphone -kamera för att ta fantastiska bilder! Jag har bara haft en smartphone i ett par år, och jag har älskat att ha en bra kamera för att dokumentera saker jag
Hur: Installera Raspberry PI 4 Headless (VNC) med Rpi-imager och bilder: 7 steg (med bilder)
Hur: Installera Raspberry PI 4 Headless (VNC) med Rpi-imager och bilder: Jag planerar att använda denna Rapsberry PI i ett gäng roliga projekt tillbaka i min blogg. Kolla gärna in det. Jag ville börja använda mitt Raspberry PI men jag hade inte ett tangentbord eller en mus på min nya plats. Det var ett tag sedan jag installerade en hallon
Ultraljudsbaserat åtkomstsystem: 6 steg (med bilder)
Ultraljudsbaserat åtkomstsystem: Den här gången presenterar jag dig ett ultraljudsbaserat åtkomstsystem som jag tror att det kan vara intressant. att försöka t
Trådlös fjärrkontroll med 2,4 GHz NRF24L01 -modul med Arduino - Nrf24l01 4 -kanals / 6 -kanals sändarmottagare för Quadcopter - Rc helikopter - RC -plan med Arduino: 5 steg (med bilder)
Trådlös fjärrkontroll med 2,4 GHz NRF24L01 -modul med Arduino | Nrf24l01 4 -kanals / 6 -kanals sändarmottagare för Quadcopter | Rc helikopter | Rc -plan med Arduino: Att driva en Rc -bil | Quadcopter | Drone | RC -plan | RC -båt, vi behöver alltid en mottagare och sändare, antag att för RC QUADCOPTER behöver vi en 6 -kanals sändare och mottagare och den typen av TX och RX är för dyr, så vi kommer att göra en på vår
Hur man tar isär en dator med enkla steg och bilder: 13 steg (med bilder)
Hur man tar isär en dator med enkla steg och bilder: Detta är en instruktion om hur man demonterar en dator. De flesta av de grundläggande komponenterna är modulära och lätt att ta bort. Det är dock viktigt att du är organiserad kring det. Detta hjälper dig att inte förlora delar, och även för att göra ommonteringen