Innholdsfortegnelse:

Sporing av akselerasjonsvariasjoner med Raspberry Pi og MMA7455 ved hjelp av Python: 6 trinn
Sporing av akselerasjonsvariasjoner med Raspberry Pi og MMA7455 ved hjelp av Python: 6 trinn

Video: Sporing av akselerasjonsvariasjoner med Raspberry Pi og MMA7455 ved hjelp av Python: 6 trinn

Video: Sporing av akselerasjonsvariasjoner med Raspberry Pi og MMA7455 ved hjelp av Python: 6 trinn
Video: BTT GTR v1.0/M5 v1.0 - Basics 2024, November
Anonim
Image
Image

Jeg snublet ikke, jeg testet tyngdekraften. Det fungerer fortsatt…

En representasjon av en akselererende romferge tydeliggjorde at en klokke på skyttelens høyeste punkt ville velge raskere enn en ved basen på grunn av tyngdekraftens ekspansjon. Noen hevdet at akselerasjon ombord på skyttelen ville være den samme for begge klokkene, så de burde krysse av i samme takt. Tenk litt over det.

Tanker, motivasjon og til og med retningslinjer kan stamme fra hvor som helst-men når du er oppmerksom på innovasjon, får det bidraget fra de som konsentrerer seg om det punktet. Raspberry Pi, mini, single board Linux PC, tilbyr unike oppgaver og masterråd om arrangering, programmering og elektronikk. I nærheten av å være Raspberry Pi og opplæringsprodusenter for enheter, får vi et spark ut av sjansen til å programmere og tinker og lage forbløffende ting med datavitenskap og elektronikk. Vi hadde for sent gleden av å ta et skudd på en oppgave ved hjelp av et akselerometer, og tankene bak hva du kan gjøre med denne gadgeten er virkelig kule. Så i denne oppgaven vil vi inkludere MMA7455, en 3-akset digital akselerometer sensor, for å måle akselerasjon i 3 dimensjoner, X, Y og Z, med Raspberry Pi ved hjelp av Python. La oss se om det lønner seg.

Trinn 1: Maskinvare vi krever

Maskinvare vi krever
Maskinvare vi krever
Maskinvare vi krever
Maskinvare vi krever

Vi vet hvor plagsomt det kan være å prøve og ta etter uten å vite hvilke deler som skal hentes, hvor vi skal ordne fra, og hvor mye alt vil koste på forhånd. Så vi har gjort alt det arbeidet for deg. Når du har alle delene i kvadrat, burde det være et øyeblikk å gjøre denne oppgaven. Ta etter det med å få en komplett deleliste.

1. Bringebær Pi

Det første trinnet var å skaffe et Raspberry Pi -kort. Raspberry Pi er en enslig brett Linux -basert PC. Denne lille PC -en gir kraft i å registrere strøm, brukt som et stykke elektronikkøvelser, og PC -operasjoner som regneark, tekstbehandling, nettsurfing og e -post og spill. Du kan kjøpe en i hvilken som helst elektronikk- eller hobbybutikk.

2. I2C Shield for Raspberry Pi

Den viktigste bekymringen for Raspberry Pi er virkelig fraværende er en I2C -port. Så for det gir TOUTPI2 I2C -kontakten deg sansen for å bruke Raspberry Pi med ALLE I2C -enheter. Den er tilgjengelig på DCUBE Store

3. 3-akset akselerometer, MMA7455

Produsert av Freescale Semiconductor, Inc., er MMA7455 3-akset digitalt akselerometer et lavt effekt, en mindre maskinert sensor som er egnet for måling av akselerasjon langs X-, Y- og Z-aksen. Vi skaffet oss denne sensoren fra DCUBE Store

4. Tilkoblingskabel

Vi kjøpte I2C -tilkoblingskabelen fra DCUBE Store

5. Micro USB -kabel

Den minste sammenfiltrede, men strengeste når det gjelder strømbehov er Raspberry Pi! Den mest foreskrevne og minst krevende tilnærmingen for å håndtere strategien er ved bruk av Micro USB -kabelen. En mer avansert og spesialisert vei er å gi strøm spesielt ved hjelp av GPIO- eller USB -porter.

6. Nettverksstøtte

Få din Raspberry Pi assosiert med en Ethernet (LAN) kabel og koble den til hjemmenettverket. På den annen side, søk etter en WiFi -kontakt og bruk en av USB -portene for å komme til det eksterne nettverket. Det er en skarp beslutning, grunnleggende, lite og enkelt!

7. HDMI -kabel/ekstern tilgang

Raspberry Pi har en HDMI -port som du kan koble spesielt til en skjerm eller TV med en HDMI -kabel. Valgfri, du kan bruke SSH til å etablere med Raspberry Pi fra en Linux -PC eller Mac fra terminalen. På samme måte høres PuTTY, en gratis og åpen kildekode-terminalemulator ut som en smart tanke.

Trinn 2: Koble til maskinvaren

Koble til maskinvaren
Koble til maskinvaren
Koble til maskinvaren
Koble til maskinvaren
Koble til maskinvaren
Koble til maskinvaren

Lag kretsen som angitt av skjematisk dukket opp. I skjematikken ser du tilkoblingene til forskjellige elektronikkomponenter, tilkoblingskabler, strømkabler og I2C -sensor.

Raspberry Pi og I2C Shield -tilkobling

Først og fremst, ta Raspberry Pi og se I2C -skjoldet på den. Trykk skjoldet pent over GPIO -pinnene på Pi, og vi er ferdige med denne progresjonen like lett som en kake (se bildet).

Bringebær Pi og sensortilkobling

Ta sensoren og koble til I2C -kabelen med den. For riktig bruk av denne kabelen, vennligst se gjennom I2C -utgangen tar alltid I2C -inngangen. Det samme må tas etter for Raspberry Pi med I2C -skjoldet montert over GPIO -pinnene.

Vi anbefaler bruk av I2C -kabelen, da den opphever kravet om dissekering av pinouts, sikring og plage som oppnås av selv det ydmykeste rotet. Med denne betydningsfulle assosiasjons- og spillkabelen kan du presentere, bytte ut utstyr eller legge til flere gadgets i et passende program. Dette støtter arbeidsvekten opp til et enormt nivå.

Merk: Den brune ledningen skal på en pålitelig måte ta etter jordforbindelsen (GND) mellom utgangen til en enhet og inngangen til en annen enhet

Internett -tilgang er nøkkelen

For å gjøre vårt forsøk på å vinne, krever vi en Internett -tilkobling for vår Raspberry Pi. For dette har du alternativer som å koble til et Ethernet (LAN) som er koblet til hjemmenettverket. Som et alternativ er også et tilfredsstillende kurs å bruke en WiFi USB -kontakt. I det store og hele representerer dette, du trenger en sjåfør for å få det til å fungere. Så hell deg mot den med Linux i avgrensningen.

Strømforsyning

Koble Micro USB -kabelen til strømkontakten på Raspberry Pi. Punch opp og vi er klare.

Tilkobling til skjerm

Vi kan ha HDMI -kabelen koblet til en annen skjerm/TV. Noen ganger må du komme til en Raspberry Pi uten å koble den til en skjerm, eller du må kanskje se informasjon fra den fra andre steder. Muligens er det kreative og finanspolitisk smarte måter å håndtere å gjøre alt som er vurdert. En av dem bruker - SSH (ekstern kommandolinjepålogging). Du kan også bruke PuTTY -programvaren til det.

Trinn 3: Python -koding for Raspberry Pi

Python -koding for Raspberry Pi
Python -koding for Raspberry Pi

Du kan se Python -koden for Raspberry Pi og MMA7455 -sensoren i GithubRepository.

Før du fortsetter til koden, må du garantere at du leser standardene gitt i Readme -krøniken og konfigurerer Raspberry Pi som angitt av den. Det vil bare lette i et minutt å gjøre i lys av dagens omstendigheter.

Et akselerometer er en elektromekanisk gadget som måler akselerasjonskrefter. Disse kreftene kan være statiske, i likhet med den konstante tyngdekraften som trekker i føttene dine, eller de kan endres - forårsaket ved å bevege eller vibrere akselerometeret.

Den som går med er pythonkoden, og du kan klone og endre koden på en hvilken som helst måte du lener deg mot.

# Distribuert med en fri viljelisens.# Bruk den som du vil, profitt eller gratis, forutsatt at den passer inn i lisensene til de tilhørende verkene. # MMA7455L # Denne koden er designet for å fungere med MMA7455L_I2CS I2C Mini Module tilgjengelig fra dcubestore.com # https://dcubestore.com/product/mma7455l-3-axis-low-g-digital-output-accelerometer-i%C2 %B2c-mini-modul/

importer smbus

importtid

# Få I2C -buss

buss = smbus. SMBus (1)

# MMA7455L adresse, 0x1D (16)

# Velg modusregistreringsregister, 0x16 (22) # 0x01 (01) Målemodus, +/- 8g buss. Skrive_byte_data (0x1D, 0x16, 0x01)

time.sleep (0,5)

# MMA7455L adresse, 0x1D (16)

# Les data tilbake fra 0x00 (00), 6 byte # X-Axis LSB, X-Axis MSB, Y-Axis LSB, Y-Axis MSB, Z-Axis LSB, Z-Axis MSB data = bus.read_i2c_block_data (0x1D, 0x00, 6)

# Konverter dataene til 10-bits

xAccl = (data [1] & 0x03) * 256 + data [0] hvis xAccl> 511: xAccl -= 1024 yAccl = (data [3] & 0x03) * 256 + data [2] hvis yAccl> 511: yAccl - = 1024 zAccl = (data [5] & 0x03) * 256 + data [4] hvis zAccl> 511: zAccl -= 1024

# Utdata til skjermen

print "Acceleration in X-Axis: %d" %xAccl print "Acceleration in Y-Axis: %d" %yAccl print "Acceleration in Z-Axis: %d" %zAccl

Trinn 4: Det praktiske i koden

Det praktiske i koden
Det praktiske i koden

Last ned (eller git pull) koden fra Github og åpne den i Raspberry Pi.

Kjør kommandoene for å kompilere og laste opp koden i terminalen og se avkastningen på skjermen. Etter noen minutter vil hver parameter vises. I kjølvannet av å sikre at alt fungerer enkelt, kan du bruke denne vandringen hver dag eller gjøre denne vandringen til en liten del av en mye mer fremtredende oppgave. Uansett hvilke behov du har, har du nå enda en ting i samlingen din.

Trinn 5: Programmer og funksjoner

MMA7455, produsert av Freescale Semiconductor, kan være et tre-akset digitalt akselerometer med lav effekt og høy ytelse som kan brukes til endring av sensordata, produktorientering og gestdeteksjon. Den er perfekt for applikasjoner som mobiltelefon/PMP/PDA: Orienteringsdeteksjon (stående/liggende), bildestabilitet, tekstrulling, bevegelsesoppringing, trykk for å dempe, bærbar PC: tyverisikring, spill: bevegelsesdeteksjon, automatisk vekk/ Søvn for lavt strømforbruk og digitalt stillbildekamera: bildestabilitet.

Trinn 6: Konklusjon

Hvis du har tenkt på å utforske universet til Raspberry Pi og I2C -sensorene, kan du sjokkere deg selv ved å bruke grunnleggende maskinvare, koding, arrangering, autoritativ osv. Når du prøver å være mer kreativ i din lite venture, det skader aldri å svinge til eksterne kilder. I denne metoden kan det være et par ærender som kan være enkle, mens noen kan teste deg og bevege deg. Uansett kan du lage en måte og feilfri den ved å endre og lage en formasjon av deg.

For eksempel kan du begynne med tanken på en gravimeterprototype for å måle det lokale gravitasjonsfeltet på jorden med MMA7455 og Raspberry Pi ved hjelp av Python. I ovennevnte satsning har vi benyttet grunnleggende beregninger. Det grunnleggende prinsippet for design er å måle svært små fraksjonelle endringer i jordens tyngdekraft på 1 g. Så du kan bruke denne sensoren på forskjellige måter du kan vurdere. Algoritmen er å måle endringshastigheten til den vertikale gravitasjonsvektoren i alle tre vinkelrette retninger som gir opphav til en tyngdekraftgradient tensor. Det kan utledes ved å differensiere verdien av tyngdekraften ved to punkter atskilt med en liten vertikal avstand, l, og dividere med denne avstanden. Vi vil prøve å lage en fungerende gjengivelse av denne prototypen snarere enn senere, konfigurasjonen, koden og modelleringen fungerer for strukturbåren støy og vibrasjonsanalyse. Vi tror alle dere liker det!

For din trøst har vi en fortryllende video på YouTube som kan hjelpe deg med undersøkelsen. Stol på dette forsøket ruter videre etterforskning. Hvis muligheten ikke banker, bygg en dør.

Anbefalt: