Innholdsfortegnelse:
- Trinn 1: Koblingsskjema
- Trinn 2: Deleliste
- Trinn 3: Teori
- Trinn 4: Konstruksjon
- Trinn 5: Programvareinstallasjon
- Trinn 6: Testing
- Trinn 7: Display
Video: Dual Sensor Echo Locator: 7 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
Denne instruksen forklarer hvordan du kan finne plasseringen av et objekt ved hjelp av en Arduino, to ultralydsensorer og Herons formel for trekanter. Det er ingen bevegelige deler.
Herons formel lar deg beregne arealet til enhver trekant som alle sider er kjent for. Når du kjenner arealet til en trekant, kan du deretter beregne posisjonen til et enkelt objekt (i forhold til en kjent grunnlinje) ved hjelp av trigonometri og Pythagoras.
Nøyaktigheten er utmerket. Store deteksjonsområder er mulige ved bruk av vanlig tilgjengelige HC-SR04, eller HY-SRF05, ultralydsensorer.
Konstruksjonen er enkel … alt du trenger er en skarp kniv, to bor, et loddejern og en tresag.
Bilder
- Videoklippet viser enheten i drift.
- Bilde 1 viser den monterte "ekkolokatoren"
- Foto 2 viser en typisk skjerm. Objektet er den røde (blinkende) prikken.
- Bilde 3 viser oppsettet for videotesten. Det var nødvendig å plassere de to HY-SRF05 ultralydsensorene 50 cm under grunnlinjen for å fullstendig "belyse" deteksjonsområdet med lyd.
Trinn 1: Koblingsskjema
Foto 1 viser koblingsskjemaet for "ekkolokaliseringsenheten med to sensorer".
Sensor B gjengis "passiv" ved å legge flere lag maskeringstape over senderen (T). Dette båndet blokkerer den ultralydslyden som ellers ville bli avgitt.
Trinn 2: Deleliste
Som vist på bilde 1, er det svært få deler som kreves for å fullføre dette prosjektet:
Følgende deler ble hentet fra
- Bare 1 Arduino Uno R3 komplett med USB -kabel
- 2 bare HY-SRF05, eller HC-SR04, ultralydstransdusere
Følgende deler ble hentet lokalt:
- 1 bare arduino header stripe
- 2 bare kvinnelige arduino header strips
- 2 bare biter av skrapaluminium
- 2 bare små biter av tre
- 2 bare små skruer
- 3 bare kabelbånd
- 4 bare lengder med plastbelagt tråd (diverse farger) [1]
Merk
[1]
Den totale lengden på hver ledning skal være lik ønsket avstand mellom sensorene pluss en liten mengde for lodding. Ledningene blir deretter vridd sammen for å danne en kabel.
Trinn 3: Teori
Bjelkmønstre
Foto 1 viser de overlappede strålemønstrene for transduser A og transduser B.
Sensor A vil motta et ekko fra ethvert objekt i det "røde området".
Sensor B vil bare motta et ekko hvis objektet er i "mauve -området". Utenfor dette området er det ikke mulig å bestemme koordinaten til et objekt. [1]
Store "mauve" deteksjonsområder er mulige hvis sensorene er i stor avstand.
Beregninger
Med henvisning til bilde 2:
Arealet av en hvilken som helst trekant kan beregnes ut fra formelen:
område = base*høyde/2 …………………………………………………………………………. (1)
Omorganisering av ligning (1) gir oss høyden (Y-koordinat):
høyde = areal*2/base …………………………………………………………………………. (2)
Så langt så bra … men hvordan beregner vi arealet?
Svaret er å plassere to ultralydtransdusere med en kjent avstand fra hverandre (baseline) og måle avstanden hver sensor er fra objektet ved hjelp av ultralyd.
Bilde 2 viser hvordan dette er mulig.
Transduser A sender en puls som spretter av objektet i alle retninger. Denne pulsen høres av både svinger A og svinger B. Ingen puls sendes fra svinger B … den lytter bare.
Returveien til svinger A er vist med rødt. Når det er delt på to og lydhastigheten er regnet inn, kan vi beregne avstand “d1” fra formelen: [2]
d1 (cm) = tid (mikrosekunder)/59 ……………………………………………… (3)
Veien til svinger B er vist med blått. Hvis vi trekker avstanden "d1" fra denne banelengden, får vi avstanden "d2". Formelen for å beregne “d2” er: [3]
d2 (cm) = tid (mikrosekunder/29,5 - d1 …………………………………….. (4)
Vi har nå lengden på alle tre sidene av trekanten ABC … skriv inn "Heron"
Herons formel
Herons formel bruker noe som kalles en "halvperimeter" der du legger til hver av de tre sidene i en trekant og deler resultatet med to:
s = (a+b+c)/2 ………………………………………………………………………………………. (5)
Arealet kan nå beregnes ved hjelp av følgende formel:
område = sqrt (s*(s-a)*(s-b)*(s-c)) …………………………………………………………. (6)
Når vi kjenner området kan vi beregne høyden (Y-koordinaten) fra ligning (2) ovenfor.
Pythagoras
X-koordinaten kan nå beregnes ved å slippe en vinkelrett fra trekantpunktet til grunnlinjen for å lage en rettvinklet trekant. X-koordinaten kan nå beregnes ved hjelp av Pythagoras:
c1 = sqrt (b2 - h2) …………………………………………………………………….. (7)
Merknader
[1]
Målområdet kan fullstendig "belyses" med lyd ved å plassere sensorene under grunnlinjen.
[2]
Verdien på 59 for konstanten er avledet som følger:
Lydhastigheten er omtrent 340m/S som er 0,034cm/uS (centimeter/mikrosekund).
Det gjensidige på 0,034 cm/uS er 29,412 uS/cm som, når det multipliseres med 2 for å tillate returveien, er lik 58,824 eller 59 når det er avrundet.
Denne verdien kan justeres opp/ned for å ta hensyn til lufttemperatur, fuktighet og trykk.
[3]
Verdien 29,5 for konstanten er avledet som følger:
Det er ingen returbane, så vi bruker 29,5 som er halvparten av verdien som ble brukt i [2] ovenfor.
Trinn 4: Konstruksjon
Monteringsbraketter
To festebraketter ble laget av 20 gauge aluminiumsplate ved hjelp av metoden beskrevet i min instruerbare
Dimensjonene for brakettene mine er vist på bilde 1.
De to hullene merket "baseline" er for å feste en streng til hver sensor. Bare bind strengen av med nødvendig avstand for enkelt oppsett.
Sensor stikkontakter
Sensorene (foto 2) er utformet fra standard Arduino header -kontakter.
Alle uønskede pinner er trukket ut og et 3 mm hull boret gjennom plasten.
Vær forsiktig så du ikke korter ledningene til aluminiumsbraketten ved lodding.
Strekkavlastninger
Et lite stykke krympeslange i hver ende av kabelen forhindrer ledningene i å løsne seg.
Kabelbindere har blitt brukt for å forhindre uønsket kabelbevegelse.
Trinn 5: Programvareinstallasjon
Installer følgende kode i denne rekkefølgen:
Arduino IDE
Last ned og installer Arduino IDE (integrert utviklingsmiljø) fra https://www.arduino.cc/en/main/software hvis den ikke allerede er installert.
Behandler 3
Last ned og installer Processing 3 fra
Arduino skisse
Kopier innholdet i den vedlagte filen, "dual_sensor _echo_locator.ino", til en Arduino "skisse", lagre, og last den deretter opp til Arduino Uno R3.
Lukk Ardino IDE, men la USB -kabelen være tilkoblet.
Behandler skisse
Kopier innholdet i den vedlagte filen, “dual_sensor_echo_locator.pde” til en behandlingsskisse.
Klikk nå på "Kjør" -knappen øverst til venstre … en grafisk skjerm skal vises på skjermen.
Trinn 6: Testing
Koble Arduino USB -kabelen til PCen
Kjør “dual_sensor_echo_locator.pde” ved å klikke på løpeknappen “øverst til venstre” på Processing 3 IDE (integrert utviklingsmiljø).
Tall, atskilt med komma, bør begynne å strømme nedover skjermen som vist på bilde1.
Feilmelding ved oppstart
Du kan få en feilmelding ved oppstart.
Endre i så fall [0] på linje 88 på bilde 1 for å matche nummeret som er knyttet til “COM” -porten.
Flere "COM" -porter kan være oppført avhengig av systemet. Ett av tallene vil fungere.
På bilde 1 er tallet [0] knyttet til min “COM4”.
Plassering av sensorene
Plasser sensorene 100 cm fra hverandre med objektet 100 cm foran.
Roter begge sensorene sakte mot det diagonalt motsatte hjørnet av en imaginær 1 meter firkant.
Når du roterer sensorene, finner du en posisjon der en blinkende rød prikk vises på grafikkdisplayet.
Ytterligere data vil også vises (foto 2) når sensorene har funnet objektet ditt:
- avstand 1
- avstand 2
- grunnlinje
- forskyvning
- halvperimeter
- område
- X -koordinat
- Y koordinat
Trinn 7: Display
Displayet er skrevet med Processing 3 … en 100 cm grunnlinje vises.
Endre grunnlinjen
La oss endre grunnlinjen vår fra 100cm til 200cm:
Endre “float Baseline = 100;” i behandlingsoverskriften for å lese "float Baseline = 200;"
Endre etikettene "50" og "100" i rutinen Behandle "draw_grid ()" for å lese "100" og "200".
Endring av forskyvning
Større målområder kan overvåkes hvis vi plasserer sensorene under grunnlinjen.
En variabel “Offset” i behandlingsoverskriften må endres hvis du velger å gjøre dette.
Klikk her for å se mine andre instrukser.
Anbefalt:
Echo & Reverb Box: 10 trinn (med bilder)
Echo & Reverb Box: Denne bygningen er basert på en flott liten reverb -modul du kan få på eBay for under $ 5. Jeg har brukt det nå i et par prosjekter (listet opp nedenfor), men denne gangen ønsket jeg å ha et standby -rom for reverb og ekko -effekter. Du kan bruke dette i en helhet
Multiplexed Echo Locator: 6 trinn
Multiplexed Echo Locator: a.articles {font-size: 110.0%; font-weight: fet skrift; skriftstil: kursiv; tekst-dekorasjon: ingen; bakgrunnsfarge: rød;} a.articles: sveve {bakgrunn-farge: svart;} Denne instruksjonen beskriver hvordan du lager en "skanning" ekkolokalisering ved hjelp av en Ard
Egen versjon av Amazon Echo: 8 trinn (med bilder)
Egen versjon av Amazon Echo: Hei folkens, jeg tror alle vet om Amazonas nyeste produkt Amazon Echo som er en stemmestyrt enhet, det vil si at vi kan kontrollere enheten med stemmen vår, og den kan til og med snakke med oss. Så inspirert av denne ideen har jeg laget min egen versjon, som kan
Pocket Metal Locator - Arduino: 8 trinn (med bilder)
Pocket Metal Locator - Arduino: Denne kule lille Pocket Metal Locator er sensitiv nok til å identifisere små spiker og hakk i tre og kompakt nok til å passe inn i vanskelige rom, noe som gjør den praktisk å bære og bruke for metalllokalisering. Enheten har fire uavhengige søkespoler og
Arduino Geocache Locator: 14 trinn (med bilder)
Arduino Geocache Locator: Arduino Geocache Locator er en liten enhet som lar deg programmere på GPS -steder, og deretter kan du bruke lysdiodene på toppen som et navigasjonsverktøy for å komme til posisjonen din. Jeg elsker å lage gaver til familiemedlemmene mine til jul, spesielt til min