Innehållsförteckning:

Dual Sensor Echo Locator: 7 steg (med bilder)
Dual Sensor Echo Locator: 7 steg (med bilder)

Video: Dual Sensor Echo Locator: 7 steg (med bilder)

Video: Dual Sensor Echo Locator: 7 steg (med bilder)
Video: Altavalve: Transcatheter Mitral Valve Replacement (TMVR) #shorts #medical #animation 2024, Juli
Anonim
Image
Image
Dual Sensor Echo Locator
Dual Sensor Echo Locator
Dual Sensor Echo Locator
Dual Sensor Echo Locator

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

Kopplingsschema
Kopplingsschema

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

Reservdelar
Reservdelar

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

Teori
Teori
Teori
Teori
Teori
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

Konstruktion
Konstruktion
Konstruktion
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

Testning
Testning
Testning
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

Visa
Visa

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: