Innehållsförteckning:
- Steg 1: Anslutningsdiagram
- Steg 2: Dellista
- Steg 3: Teori
- Steg 4: Konstruktion
- Steg 5: Programvaruinstallation
- Steg 6: Testning
- Steg 7: Display
Video: Dual Sensor Echo Locator: 7 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:44
Denna instruerbara förklarar hur man kan hitta platsen för ett objekt med en Arduino, två ultraljudssensorer och Herons formel för trianglar. Det finns inga rörliga delar.
Herons formel låter dig beräkna ytan på alla triangeln som alla sidor är kända för. När du väl känner till arean av en triangel kan du sedan beräkna positionen för ett enda objekt (relativt en känd baslinje) med hjälp av trigonometri och Pythagoras.
Noggrannheten är utmärkt. Stora detekteringsområden är möjliga med hjälp av allmänt tillgängliga HC-SR04, eller HY-SRF05, ultraljudssensorer.
Konstruktionen är enkel … allt du behöver är en vass kniv, två borrar, ett lödkolv och en träsåg.
Bilder
- Videoklippet visar enheten i drift.
- Bild 1 visar den monterade”ekolokaliseraren”
- Foto 2 visar en typisk display. Objektet är den röda (blinkande) pricken.
- Bild 3 visar konfigurationen av videotestet. Det var nödvändigt att placera de två HY-SRF05 ultraljudssensorerna 50 cm under baslinjen för att helt "belysa" detekteringsområdet med ljud.
Steg 1: Anslutningsdiagram
Bild 1 visar kopplingsschemat för”ekosökaren med dubbla sensorer”.
Sensor B görs "passiv" genom att placera flera lager av maskeringstejp över sändaren (T). Detta band blockerar det ultraljud som annars skulle avges.
Steg 2: Dellista
Som visas på foto1 krävs mycket få delar för att slutföra projektet:
Följande delar erhölls från
- Endast 1 Arduino Uno R3 komplett med USB -kabel
- 2 endast HY-SRF05, eller HC-SR04, ultraljudsgivare
Följande delar erhölls lokalt:
- 1 endast manlig arduino -headerremsa
- 2 endast kvinnliga arduino -headerremsor
- 2 endast bitar av aluminiumskrot
- 2 bara små träbitar
- 2 bara små skruvar
- 3 endast buntband
- 4 endast längder plastbelagd tråd (diverse färger) [1]
Notera
[1]
Den totala längden på varje tråd bör motsvara det önskade avståndet mellan sensorerna plus en liten mängd för lödning. Trådarna vrids sedan ihop för att bilda en kabel.
Steg 3: Teori
Strålmönster
Bild 1 visar de överlappade strålmönstren för givare A och givare B.
Sensor A tar emot ett eko från alla föremål i det”röda området”.
Sensor B får bara ett eko om objektet befinner sig i "mauveområdet". Utanför detta område är det inte möjligt att bestämma koordinaten för ett objekt. [1]
Stora "mauve" -detekteringsområden är möjliga om sensorerna är åtskilda.
Beräkningar
Med hänvisning till foto 2:
Ytan på vilken triangel som helst kan beräknas utifrån formeln:
område = bas*höjd/2 …………………………………………………………………………. (1)
Omarrangemang av ekvation (1) ger oss höjden (Y-koordinaten):
höjd = yta*2/bas …………………………………………………………………………. (2)
Så långt så bra … men hur beräknar vi ytan?
Svaret är att rymma två ultraljudsgivare ett känt avstånd från varandra (baslinjen) och mäta avståndet varje sensor är från objektet med hjälp av ultraljud.
Bild 2 visar hur detta är möjligt.
Givare A skickar en puls som studsar av objektet i alla riktningar. Denna puls hörs av både givare A och givare B. Ingen puls skickas från givare B … den lyssnar bara.
Returvägen till givare A visas i rött. När vi delar det med två och ljudets hastighet räknas in kan vi beräkna avståndet "d1" från formeln: [2]
d1 (cm) = tid (mikrosekunder)/59 ……………………………………………… (3)
Vägen till givare B visas i blått. Om vi subtraherar avståndet "d1" från denna väglängd får vi avståndet "d2". Formeln för beräkning av "d2" är: [3]
d2 (cm) = tid (mikrosekunder/29,5 - d1 …………………………………….. (4)
Vi har nu längden på alla tre sidorna av triangeln ABC … skriv "Heron"
Herons formel
Herons formel använder något som kallas en "halvperimeter" där du lägger till var och en av de tre sidorna i en triangel och delar resultatet med två:
s = (a+b+c)/2 ………………………………………………………………………………………. (5)
Ytan kan nu beräknas med följande formel:
area = sqrt (s*(s-a)*(s-b)*(s-c)) …………………………………………………………. (6)
När vi väl känner till området kan vi beräkna höjden (Y-koordinaten) från ekvation (2) ovan.
Pythagoras
X-koordinaten kan nu beräknas genom att släppa en vinkelrätt från triangelns toppunkt till baslinjen för att skapa en rätvinklig triangel. X-koordinaten kan nu beräknas med Pythagoras:
c1 = sqrt (b2 - h2) …………………………………………………………………….. (7)
Anteckningar
[1]
Målområdet kan helt "belysas" med ljud genom att placera sensorerna under baslinjen.
[2]
Värdet 59 för konstanten härleds enligt följande:
Ljudets hastighet är cirka 340m/S vilket är 0,034cm/uS (centimeter/mikrosekund).
Det ömsesidiga av 0,034cm/uS är 29,412uS/cm som, när det multipliceras med 2 för att möjliggöra returvägen, är lika med 58,824 eller 59 när det avrundas.
Detta värde kan justeras upp/ner för att ta hänsyn till lufttemperatur, luftfuktighet och tryck.
[3]
Värdet 29,5 för konstanten härleds enligt följande:
Det finns ingen returväg så vi använder 29,5 vilket är halva värdet som används i [2] ovan.
Steg 4: Konstruktion
Monteringsfästen
Två monteringsfästen gjordes av 20 gauge aluminiumplåt med den metod som beskrivs i min instruerbara
Måtten för mina fästen visas på foto 1.
De två hålen som är markerade med "baslinje" är för att fästa en sträng till varje sensor. Koppla helt enkelt av strängen vid önskat avstånd för enkel installation.
Sensoruttag
Sensoruttagen (foto 2) har utformats från vanliga Arduino -uttag.
Alla oönskade stift har dragits ut och ett 3 mm hål borrats genom plasten.
Se till att inte korta ledningarna till aluminiumfästet vid lödning av anslutningarna.
Dragavlastningar
En liten bit av värmekrympslang i varje ände av kabeln förhindrar att trådarna lossnar.
Buntband har använts för att förhindra oönskade kabelrörelser.
Steg 5: Programvaruinstallation
Installera följande kod i denna ordning:
Arduino IDE
Ladda ner och installera Arduino IDE (integrerad utvecklingsmiljö) från https://www.arduino.cc/en/main/software om den inte redan är installerad.
Bearbetning 3
Ladda ner och installera Processing 3 från
Arduino Sketch
Kopiera innehållet i den bifogade filen, "dual_sensor _echo_locator.ino", till en Arduino "skiss", spara och ladda upp den till din Arduino Uno R3.
Stäng Ardino IDE men låt USB -kabeln vara ansluten.
Bearbetningsskiss
Kopiera innehållet i den bifogade filen, "dual_sensor_echo_locator.pde" till en "Skiss" för bearbetning.
Klicka nu på "Kör" -knappen högst upp till vänster … en grafisk skärm ska visas på skärmen.
Steg 6: Testning
Anslut Arduino USB -kabel till din dator
Kör "dual_sensor_echo_locator.pde" genom att klicka på "övre vänstra" körknappen på din Processing 3 IDE (integrerad utvecklingsmiljö).
Siffror, separerade med ett kommatecken bör börja strömma ner på skärmen som visas på foto1.
Felmeddelande vid start
Du kan få ett felmeddelande vid start.
Ändra i så fall [0] i rad 88 på foto 1 så att det matchar numret som är kopplat till din "COM" -port.
Flera "COM" -portar kan listas beroende på ditt system. Ett av siffrorna fungerar.
På foto 1 är numret [0] associerat med min “COM4”.
Placera dina sensorer
Placera dina sensorer 100 cm från varandra med föremålet 100 cm framför.
Vrid båda sensorerna långsamt mot det diagonalt motsatta hörnet av en imaginär 1 meter kvadrat.
När du roterar sensorerna hittar du en position där en blinkande röd prick visas på grafikdisplayen.
Ytterligare data visas också (foto 2) när sensorerna har hittat ditt objekt:
- avstånd 1
- avstånd 2
- baslinje
- offset
- halvperimeter
- område
- X -koordinat
- Y koordinat
Steg 7: Display
Displayen har skrivits med Processing 3 … en 100 cm baslinje visas.
Ändrar baslinjen
Låt oss ändra vår grundlinje från 100cm till 200cm:
Ändra "float Baseline = 100;" i Processing -rubriken för att läsa "float Baseline = 200;"
Ändra etiketterna "50" och "100" i rutinen Bearbetning "draw_grid ()" för att läsa "100" och "200".
Ändra förskjutning
Större målområden kan övervakas om vi placerar sensorerna under baslinjen.
En variabel “Offset” i Processing header måste ändras om du väljer att göra detta.
Klicka här för att se mina andra instruktioner.
Rekommenderad:
Echo & Reverb Box: 10 steg (med bilder)
Echo & Reverb Box: Denna byggnad är baserad på en bra liten reverb -modul som du kan få på eBay för under $ 5. Jag har använt den nu i ett par projekt (listade nedan) men den här gången ville jag ha en ställning längs reverb- och ekoeffektlådan. Du kan använda detta i en helhet
Multiplexed Echo Locator: 6 steg
Multiplexed Echo Locator: a.articles {font-size: 110.0%; font-weight: fet; typsnitt: kursiv; text-dekoration: ingen; bakgrundsfärg: röd;} a.articles: sväva {bakgrund-färg: svart;} Denna instruktion beskriver hur man gör en "skanning" ekolokalisering med en Ard
Egen version av Amazon Echo: 8 steg (med bilder)
Egen version av Amazon Echo: Hej killar, jag tror att alla vet om Amazons senaste produkt Amazon Echo som är en röststyrd enhet, dvs vi kan styra enheten med vår röst och den kan till och med prata med oss. Så inspirerad av denna idé har jag skapat min egen version, som kan
Pocket Metal Locator - Arduino: 8 steg (med bilder)
Pocket Metal Locator - Arduino: Denna coola lilla Pocket Metal Locator är tillräckligt känslig för att identifiera små spikar och spår i trä och tillräckligt kompakt för att passa in i besvärliga utrymmen vilket gör det bekvämt att bära och använda för metallplacering. Enheten har fyra oberoende sökspolar och
Arduino Geocache Locator: 14 steg (med bilder)
Arduino Geocache Locator: Arduino Geocache Locator är en liten enhet som låter dig programmera på GPS -platser, och sedan kan du använda lysdioderna på toppen som ett navigeringsverktyg för att komma till din plats. Jag älskar att göra presenter till mina familjemedlemmar till jul, speciellt till min