Inhoudsopgave:
- Stap 1: Hoe werkt het?
- Stap 2: Hoe de drie sensorstations en de objecten te configureren?
- Stap 3: Het hoofdstation configureren
- Stap 4: Lijst met materiaal
Video: Ultrasoon gebaseerd positioneringssysteem - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
Alle versies van ultrasone radars die ik heb gevonden voor Arduino-apparaten (Arduino - Radar/Ultrasonic Detector, Arduino Ultrasonic Radar Project) zijn erg mooie radars, maar ze zijn allemaal "blind". Ik bedoel, de radar detecteert iets, maar wat detecteert het?
Dus stel ik mezelf voor om een systeem te ontwikkelen dat objecten kan detecteren en identificeren. Met andere woorden een plaatsbepalingssysteem zonder gebruik te maken van GPS-apparaten maar met ultrasone detectoren.
Dit is het resultaat waarvan ik hoop dat je het mooi vindt.
Stap 1: Hoe werkt het?
Het positioneringssysteem wordt gevormd door drie sensorstations met ultrasone detectoren en id_node 1, 2 en 3 die een rechthoek of vierkant vormen met een hoek van 90º en waarvan de afstanden ertussen bekend zijn zoals weergegeven op afbeelding 1.
const float-afstand tussen 1 en 2 = 60,0;
const float distance between2and3 = 75,0;
Deze sensoren meten de afstand en hoek van andere objecten met id_node groter dan 3 die ook een ultrasone detector hebben die een hoek van 170° aflegt.
Ze sturen allemaal de afstanden, gemeten hoeken en de id_node naar een ander hoofdstation met behulp van draadloze communicatie om te analyseren, de positie van de objecten te berekenen met behulp van trigonometrieberekening en ze te identificeren.
Om interferenties te voorkomen, synchroniseert het hoofdstation alle ultrasone detectoren zodanig dat er op elk moment slechts één ultrasone detector meet
Daarna en met behulp van een seriële communicatie stuurt het hoofdstation de informatie (hoek, afstand, id_object) naar een verwerkingsschets om de resultaten te plotten.
Stap 2: Hoe de drie sensorstations en de objecten te configureren?
De enige functie van elk sensorstation is om objecten te detecteren en de lijst met gemeten afstand, hoek en ID-knooppunt naar het hoofdstation te sturen.
U moet dus de maximaal toegestane detectieafstand ("valid_max_distance") en de minimale ("valid_min_distance") (centimeter) bijwerken om de detectie te verbeteren en de detectiezone te beperken:
int valid_max_distance = 80;
int valid_min_distance = 1;
Het id-knooppunt van deze sensorstations (“this_node” in de onderstaande code) zijn 1, 2 en 3 en het id-knooppunt van het hoofdstation is 0.
const uint16_t this_node = 01; // Adres van onze node in Octaal formaat (Node01, Node02, Node03)
const uint16_t andere_node = 00; //Adres van het hoofdknooppunt (Node00) in Octaal formaat
Elk sensorstation veegt en hoek van 100º ("max_angle" in de onderstaande code)
#define min_hoek 0
#define max_hoek 100
Zoals hierboven is de enige functie van een object om objecten te detecteren en de lijst met gemeten afstanden, hoeken en id-object naar het hoofdstation te sturen. De id van één object ("this_node" in de onderstaande code) moet groter zijn dan 3.
Elk object veegt en heeft een hoek van 170º en zoals hierboven is het mogelijk om de maximale en minimale detectieafstand bij te werken.
const uint16_t this_node = 04; // Adres van onze node in Octaal formaat (Node04, Node05, …)
const uint16_t andere_node = 00; // Adres van het hoofdknooppunt (Node00) in Octaal formaat int valid_max_distance = 80; int valid_min_distance = 1; #define min_angle 0 #define max_angle 170
Stap 3: Het hoofdstation configureren
De functie van het hoofdstation is om de transmissies van de sensorstations en de objecten te ontvangen en de resultaten via de seriële poort naar een verwerkingsschets te sturen om ze te plotten. Bovendien worden alle objecten en de drie sensorstations zo gesynchroniseerd dat er telkens slechts één meet om storingen te voorkomen.
Eerst moet je de afstand (centimeter) tussen sensor 1 en 2 en de afstand tussen 2 en 3 bijwerken.
const float-afstand tussen 1 en 2 = 60,0;
const float-afstand tussen 2 en 3 = 70,0;
De schets berekent de positie van de objecten op de volgende manier:
- Zoek voor alle transmissies van de objecten (id_node groter dan 3) dezelfde afstand in elke transmissie van de ultrasone sensoren (id_node 1, 2 of 3).
- Al deze punten vormen een lijst met "kandidaten" (afstand, hoek, id_node) om de positie van één object te zijn ("process_pointobject_with_pointssensor" in de schets).
- Voor elke "kandidaat" van de vorige lijst, berekent de functie "kandidaat_geselecteerde_tussen_sensor2and3" vanuit het oogpunt van de ultrasone sensor 2 en 3 welke van hen overeenkomen met de volgende trigonometrische voorwaarde (zie de afbeeldingen 2 en 3)
float distancefroms2 = sin(radialen(hoek)) * afstand;
float distancefroms3 = cos(radialen(angle_candidate)) * distance_candidate; // Trigonometrie voorwaarde 1 abs (distancefroms2 + distancefroms3 - distance between2and3) <= float (max_diference_distance)
Zoals hierboven, voor elke "kandidaat" van de vorige lijst, berekent de functie "kandidaat_geselecteerde_tussen_sensor1and2" vanuit het oogpunt van de ultrasone sensor 1 en 2 welke van hen overeenkomen met de volgende trigonometrische relatie (zie de afbeelding 2 en 3)
float distancefroms1 = sin(radialen(hoek)) * afstand;float distancefroms2 = cos(radialen(hoek_kandidaat)) * afstand_kandidaat; // Trigonometrie voorwaarde 2 abs (distancefroms1 + distancefroms2 - distance between1and2) <= float (max_diference_distance)
Alleen de kandidaten (afstand, hoek, id_node) die overeenkomen met de trigonometrievoorwaarden 1 en 2 zijn geïdentificeerde objecten die worden gedetecteerd door de sensorstations 1, 2 en 3
Daarna worden de resultaten door het hoofdstation naar een verwerkingsschets gestuurd om ze te plotten.
Stap 4: Lijst met materiaal
De lijst met materiaal dat nodig is voor één sensorstation of één object is als volgt:
- Nano-bord
- Ultrasoon sensor
- Micro-servomotor
- NRF24L01 draadloze module
- NRF24L01-adapter
en de lijst met materiaal voor het hoofdstation is als volgt:
- Nano-bord
- NRF24L01 draadloze module
- NRF24L01-adapter
Aanbevolen:
Ultrasoon gebaseerd toegangssysteem: 6 stappen (met afbeeldingen)
Op ultrasoon gebaseerd toegangssysteem: deze keer presenteer ik u een op ultrasoon gebaseerd toegangssysteem. Ik denk dat het interessant kan zijn. Het is gebaseerd op ultrasone golven, dus het is een contactloos toegangssysteem dat geen ander elektronisch apparaat nodig heeft, maar welk object dan ook, zelfs uw handen om te proberen t
ULTRASOON RADARSYSTEEM MET ARDUINO: 3 stappen
ULTRASOON RADARSYSTEEM MET GEBRUIK VAN ARDUINO: Het hier beschreven circuit demonstreert de werking van een op ultrasoon gebaseerd radarsysteem. Het gebruikt een ultrasone sensor om een object te detecteren en de afstand te meten en roteert volgens de servomotor. De rotatiehoek wordt weergegeven op een 16x2 LCD-scherm
Thuis een ultrasoon detectie- en bereikapparaat maken: 7 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Maak thuis een ultrasoon detectie- en afstandsapparaat: Hallo! Ik ben Sourabh Kumar, ik stond te popelen om een alarmerende radar te maken, maar het is mislukt, ik zal het opnieuw proberen, maar vandaag ga ik je begeleiden bij het maken van een ultrasone detectie en een bereikapparaat thuis met behulp van een ultrasone sensor (transceiver) ik weet dat er veel zijn pro
Ultrasoon slim instrument: 4 stappen (met afbeeldingen)
Ultrasoon slim instrument: doel Dit is een instrument dat een ultrasone sensor gebruikt om de afstand van een object te meten (dit kan uw hand zijn). Hiermee wordt een noot geselecteerd om te spelen, in verschillende modi speelt het instrument verschillende dingen. Dit kan een enkele noot zijn (f
Vloeistofniveausensor (met behulp van ultrasoon): 5 stappen
Vloeistofniveausensor (met behulp van ultrasoon): Vloeistofniveausensor detecteert het vloeistofniveau vanaf een grondniveau. Schakelt de motor in (vereist motorstuurversterker) onder een bepaalde waarde en schakelt deze uit boven een bepaalde waarde na het vullen van de vloeistof.Kenmerken van dit systeem:Wer