Softgun-blink

Fra Arduipedia

Gå til: navigasjon, søk

Konsept:

  • Blink med tre/fire mikrofoner.
  • Treff skaper lyd som fanges opp av mikrofonene
  • Basert på tiden det tar fra lyden fanges opp av hver enkelt mikrofon, kan posisjonen beregnes.
  • Lydens hastighet varierer med temperatur:
    • lydhastighet C = 331.5 + 0.60 T m/s
    • T er temperatur i Celsius


Fra kammeret.no:

"Jeg dreiv å tomlet gjennom noen gamle papirer i dag da jeg ryddet litt, kom over en måte som kan brukes for 3 mikrofoner for avstandsmåling. Her er det i hvertfall hvis noen har bruk for det eller har tenkt å prøve på noe selv: 3 mikrofoner står på rett linje under blinken med lik avstand mellom mikrofoner. ts og te er altså tiden lyden når en mikrofon før en annen microfon. Dette kan selvsagt vere negative verdier.


ts = mic1 før mic2

te = mic 2 før mic3

C = speed of sound(må justeres etter temperatur)

B = avstand mellom mic i sekunder for lyd(må justeres etter temperatur)

R = avstand til treff

sin ø = vinkel til treff


formler:

R = (C/2)(2B^2-te^2-ts^2/te-ts)

sin ø = (te+ts/2B)(1+((te-ts)^2/2B^2-te^2-ts^2))

Har prøvd formlene på ark og fått det til å stemme i teorien, men har fortsatt ikke fått implementert det helt da jeg sliter litt på den elektriske siden og jeg har brukt mer tid på andre små prosjekter.

Veit ikke om dette er til nytte for noen som leker med tanken om å lage noe selv, men "sharing is caring""


Arduino Tirangulering


hpticks Arduino







--Gammelt ræl--- Litt info om triangulering:

http://local.wasp.uwa.edu.au/~pbourke/geometry/2circle/

http://mathworld.wolfram.com/Circle-CircleIntersection.html

Det holder med tre mikrofoner. Sampling skjer så ofte som mulig. (SKRIV MER HER) Straks den første mikrofonen registrerer treff, måler vi tiden til de to andre mikrofonene registrerer det samme.

  • a' er tiden det tar fra treff til første mikrofon, M1, fanger lyden
  • b' er tiden det tar fra første mikrofon fanger lyden til andre mikrofon, M2, gjør det samme
  • c' er tiden det tar fra første mikrofon fanger lyden til tredje mikrofon, M3, gjør det samme

Treffet ligger da:

  1. I en avstand a'*C fra M1
  2. I en avstand (a'+b')*C fra M2
  3. I en avstand (a'+c')*C fra M3

Vi vet ikke a'.

Formelen for en sirkel er: x^2+y^2=r^2

Fil:2circle1.gif

Utfra dette får vi at:
    a^2+h^2=r0^2 
-og- 
    b^2+h^2=r1^2
Siden 
    r0=(a'+b') 
-og- 
    r1=(a'+c')   
får vi at
    a^2 + h^2 = a'^2 + 2*a'b' + b'^2 
-og- 
    b^2 + h^2 = a'^2 + 2*a'c' + c'^2
h^2 = a'^2 + 2*a'b' + b'^2 - a^2
b^2 + a'^2 + 2*a'b' + b'^2 - a^2 = a'^2 + 2*a'c' + c'^2 
b^2 - a^2  + 2*a'b' + b'^2 = 2*a'c' + c'^2
b^2 - a^2  = 2*a'c' + c'^2 - 2*a'b' - b'^2
b^2 - a^2  = 2*a'(c'-b') + c'^2 - b'^2
Vi vet avstanden mellom punktene 
a + b = d
a = d - b
b^2 - (d - b)^2 = 2*a'(c' - b') + c'^2 - b'^2
b^2 - d^2 - 2db + b^2 = 2*a'(c' - b') + c'^2 - b'^2
2b^2 - 2db = 2a'(c' - b') + c'^2 - b'^2 + d^2
2b(b - d)  = 2a'(c' - b') + c'^2 - b'^2 + d^2
2a'= (2b(b - d) - c'^2 + b'^2 - d^2) / (c' - b')
a = (r0^2 - r1^2 + d^2 ) / (2d)
a = ((a' + b')^2 - (a' + c')^2 + d^2) / (2d)
a = (a'^2 + 2a'b' + b'^2 - a'^2 - 2a'c' - c'^2 + d^2) / (2d)
a = (2a'(b'-c') + b'^2 - c'^2 + d^2) / (2d)
a =
Personlige verktøy
Navigasjon