INHOUDSOPGAWE:
- Stap 1: Hoe werk dit?
- Stap 2: Hoe om die drie sensorstasies en die voorwerpe op te stel
- Stap 3: Hoe om die hoofstasie op te stel
- Stap 4: Lys van materiaal
Video: Ultrasoniese posisioneringstelsel: 4 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
Al die weergawes van ultrasoniese radars wat ek vir arduino -toestelle gevind het (Arduino - Radar/Ultrasonic Detector, Arduino Ultrasonic Radar Project) is baie mooi radars, maar almal is "blind". Ek bedoel, die radar bespeur iets, maar wat bespeur dit?
Daarom stel ek myself voor om 'n stelsel te ontwikkel wat voorwerpe kan opspoor en kan identifiseer. Met ander woorde 'n posisioneringstelsel sonder om GPS -toestelle te gebruik, maar ultrasoniese detektore.
Dit is die resultaat waarvan ek hoop dat u daarvan hou.
Stap 1: Hoe werk dit?
Die posisioneringstelsels word gevorm deur drie sensorstasies met ultraklankdetektore en id_node 1, 2 en 3 wat 'n reghoek of vierkant vorm wat 'n hoek van 90º sweep en waar die afstande tussen hulle bekend is soos op foto 1 getoon.
const float distancebetween1and2 = 60.0;
const float distancebetween2and3 = 75.0;
Hierdie sensors meet die afstand en hoek van ander voorwerpe met id_node groter as 3 wat ook 'n ultrasoniese detektor het wat 'n hoek van 170 ° vee.
Almal stuur die afstande, gemete hoeke en die id_node na 'n ander hoofstasie met behulp van draadlose kommunikasie om die voorwerpe te analiseer, die posisie van die voorwerpe te bereken met behulp van trigonometrieberekening en dit te identifiseer.
Om inmenging te voorkom, sinchroniseer die hoofstasie al die ultrasoniese detektore op die manier dat slegs een ultrasoniese detektor op elke oomblik meet
Daarna stuur die hoofstasie die inligting (hoek, afstand, id_object) met behulp van 'n seriële kommunikasie na 'n verwerkingskets om die resultate te teken.
Stap 2: Hoe om die drie sensorstasies en die voorwerpe op te stel
Die enigste funksie van elke sensorstasie is om voorwerpe op te spoor en die lys met afstand, hoek en ID -knoop na die hoofstasie te stuur.
U moet dus die maksimum opsporingsafstand ('valid_max_distance') en die minimum ('valid_min_distance') (sentimeter) bywerk om die opsporing te verbeter en die opsporingsgebied te beperk:
int valid_max_distance = 80;
int valid_min_distance = 1;
Die ID -knoop van hierdie sensorstasies ("hierdie_knoop" in die kode hieronder) is 1, 2 en 3 en die ID -knoop van die hoofstasie is 0.
const uint16_t this_node = 01; // Adres van ons node in Octal -formaat (Node01, Node02, Node03)
const uint16_t ander_node = 00; // Adres van die hoofknoop (Node00) in Octal -formaat
Elke sensorstasie sweep en hoek van 100º (“max_angle” in die kode hieronder)
#definieer min_hoek 0
#definieer maksimumhoek 100
Soos hierbo is die enigste funksie van 'n voorwerp om voorwerpe op te spoor en die lys afstande, hoeke en ID -voorwerpe wat gemeet is na die hoofstasie te stuur. Die ID van een voorwerp ('hierdie_node' in die kode hieronder) moet groter as 3 wees.
Elke voorwerp sweep en hoek van 170º, en soos hierbo is dit moontlik om die maksimum en minimum opsporingsafstand op te dateer.
const uint16_t this_node = 04; // Adres van ons node in Octal -formaat (Node04, Node05, …)
const uint16_t ander_node = 00; // Adres van die hoofknoop (Node00) in Octal -formaat int valid_max_distance = 80; int valid_min_distance = 1; #definieer min_hoek 0 #definieer maksimumhoek 170
Stap 3: Hoe om die hoofstasie op te stel
Die hoofstasie se funksie is om die uitsendings van die sensorstasies en die voorwerpe te ontvang en die resultate met behulp van die seriële poort na 'n verwerkingskets te stuur om dit te teken. Boonop sinchroniseer al die voorwerpe en die drie sensorstasies op die manier dat slegs een van hulle elke keer meet om interferensies te vermy.
Eerstens moet u die afstand (sentimeter) tussen sensor 1 en 2 en die afstand tussen 2 en 3 opdateer.
const float distancebetween1and2 = 60.0;
const float distancebetween2and3 = 70.0;
Die skets bereken die posisie van die voorwerpe op die volgende manier:
- Soek vir alle transmissies van die voorwerpe (id_node groter as 3) dieselfde afstand in elke transmissie van die ultrasoniese sensors (id_node 1, 2 of 3).
- Al hierdie punte vorm 'n lys van 'kandidate' (afstand, hoek, id_node) om die posisie van een voorwerp te wees ('process_pointobject_with_pointssensor' in die skets).
- Vir elke 'kandidaat' van die vorige lys, bereken die funksie 'kandidaat_geselekteerde_sensor2en3' vanuit die oogpunt van die ultrasoniese sensor 2 en 3 watter van hulle ooreenstem met die volgende trigonometrie toestand (sien die foto's 2 en 3)
float distancefroms2 = sin (radiale (hoek)) * afstand;
float distancefroms3 = cos (radiale (hoek_kandidaat)) * afstand_kandidaat; // Trigonometrie toestand 1 abs (distancefroms2 + distancefroms3 - distancebetween2and3) <= float (max_diference_distance)
Soos hierbo, bereken die funksie "kandidaat_geselekteerde_sensor1en2" vir elke "kandidaat" van die vorige lys, vanuit die oogpunt van die ultrasoniese sensor 1 en 2 watter van hulle ooreenstem met die volgende trigonometrieverhouding (sien prent 2 en 3)
float distancefroms1 = sin (radialen (hoek)) * afstand; float distancefroms2 = cos (radialen (hoek_kandidaat))) * afstand_kandidaat; // Trigonometrie toestand 2 abs (distancefroms1 + distancefroms2 - distancebetween1and2) <= float (max_diference_distance)
Slegs die kandidate (afstand, hoek, id_node) wat ooreenstem met die trigonometrie voorwaardes 1 en 2, word geïdentifiseer voorwerpe wat deur die sensorstasies 1, 2 en 3 opgespoor word
Daarna stuur die resultate deur die hoofstasie na 'n verwerkingskets om dit te teken.
Stap 4: Lys van materiaal
Die lys materiaal wat benodig word vir een sensorstasie of een voorwerp is die volgende:
- Nano bord
- Ultrasoniese sensor
- Mikro servomotor
- NRF24L01 draadlose module
- NRF24L01 adapter
en die lys materiaal vir die hoofstasie is die volgende:
- Nano bord
- NRF24L01 draadlose module
- NRF24L01 adapter
Aanbeveel:
Arduino -alarm met ultrasoniese sensor: 5 stappe (met foto's)
Arduino -alarm met ultrasoniese sensor: hierdie instruksie handel oor hoe u self 'n maklike en goedkoop alarm kan maak. Al wat u nodig het, is basiese kennis in elektronika en arduino -programmering. As u enige vrae of probleme het, kan u my op my e -pos kontak: iwx [email protected] Hier
Hindernis om robot te vermy met behulp van ultrasoniese sensors: 9 stappe (met foto's)
Obstacle Vermy Robot Using Ultrasonic Sensors: Dit is 'n eenvoudige projek oor Obstacle Vermy Robot met behulp van Ultrasonic sensors (HC SR 04) en Arduino Uno board.Robot beweeg om hindernisse te vermy en die beste manier te kies om deur sensors te volg. Let daarop dat dit nie 'n tutoriaalprojek, deel jou
Bluetooth -muis met ultrasoniese sensor en fotosel: 10 stappe (met foto's)
Bluetooth -muis met ultrasoniese sensor en fotosel: 'n Inleiding tot die rede waarom ek hierdie projek gemaak het. Ek is tans op soek na 'n katjie in my nuwe huis aanneem. En nadat ek deur 'n paar speelbare goed vir katte gegaan het, het ek gedink: hoekom nie self 'n speelding maak nie. Ek het dus 'n Bluetooth -muis gemaak. U kan
Arduino -gebaseerde outonome bot met behulp van ultrasoniese sensor: 5 stappe (met foto's)
Arduino -gebaseerde outonome bot met behulp van ultraklank -sensor: skep u eie outonome bot op arduino met behulp van ultraklank -sensor. Wat dit eintlik doen, is dat dit enige hindernisse opspoor en die beste besluit
Ultrasoniese Pi -klavier met gebaarkontroles!: 10 stappe (met foto's)
Ultrasoniese Pi-klavier met gebaarbeheer !: Hierdie projek gebruik goedkoop HC-SR04 ultrasoniese sensors as insette en genereer MIDI-note wat deur 'n sintetiseerder op die Raspberry Pi gespeel kan word vir 'n hoë kwaliteit klank. Die projek gebruik ook 'n basiese vorm van gebaarbeheer , waar die musiek