Indholdsfortegnelse:

Sporing af accelerationsvariationer med Raspberry Pi og MMA7455 ved hjælp af Python: 6 trin
Sporing af accelerationsvariationer med Raspberry Pi og MMA7455 ved hjælp af Python: 6 trin

Video: Sporing af accelerationsvariationer med Raspberry Pi og MMA7455 ved hjælp af Python: 6 trin

Video: Sporing af accelerationsvariationer med Raspberry Pi og MMA7455 ved hjælp af Python: 6 trin
Video: BTT GTR v1.0/M5 v1.0 - Basics 2024, November
Anonim
Image
Image

Jeg snublede ikke, jeg testede tyngdekraften. Det virker stadig…

En repræsentation af en accelererende rumfærge tydeliggjorde, at et ur på shuttleens højeste punkt ville vælge hurtigere end et ved basen på grund af tyngdeudvidelse. Nogle hævdede, at acceleration ombord på shuttlen ville være den samme for begge ure, så de burde krydse af med samme hastighed. Tænk lidt over det.

Tanker, motivation og endda retningslinjer kan stammer fra hvor som helst, men når din opmærksomhed er på innovation, får det bidraget fra de personer, der koncentrerer sig om det punkt. Raspberry Pi, mini, single board Linux PC, tilbyder unikke virksomheder og masterråd om arrangering, programmering og elektronikvirksomheder. I nærheden af at være Raspberry Pi og tutorials til producenter af enheder får vi et spark ud af chancen for at programmere og pille og lave forbløffende ting med datalogi og elektronik. Vi havde for sent glæden af at tage et skud på en opgave ved hjælp af et accelerometer, og tankerne bag hvad du kunne gøre med denne gadget er virkelig seje. Så i denne opgave vil vi inkorporere MMA7455, en 3-akset Digital accelerometer sensor, til måling af acceleration i 3 dimensioner, X, Y og Z, med Raspberry Pi ved hjælp af Python. Lad os se, om det kan betale sig.

Trin 1: Hardware, vi har brug for

Hardware vi har brug for
Hardware vi har brug for
Hardware vi har brug for
Hardware vi har brug for

Vi ved, hvor besværligt det kan være at prøve og tage efter uden at vide, hvilke dele man skal hente, hvor man skal arrangere fra, og hvor meget alt vil koste på forhånd. Så vi har gjort alt det arbejde for dig. Når du har alle delene kvadreret væk, burde det være et øjeblik at udføre denne opgave. Tag efter med at få en komplet deleliste.

1. Hindbær Pi

Det første trin var at få et Raspberry Pi -bord. Raspberry Pi er en enslig board Linux -baseret pc. Denne lille pc giver et slag til at registrere strøm, der bruges som et stykke elektronikøvelser og pc -operationer som regneark, tekstbehandling, websurfing og e -mail og spil. Du kan købe en i enhver elektronik- eller hobbybutik.

2. I2C Shield til Raspberry Pi

Den primære bekymring, Raspberry Pi virkelig mangler, er en I2C -port. Så til det giver TOUTPI2 I2C -stikket dig følelsen af at bruge Raspberry Pi med ALLE I2C -enheder. Den er tilgængelig i DCUBE Store

3. 3-akset accelerometer, MMA7455

Produceret af Freescale Semiconductor, Inc., er MMA7455 3-Axis Digital Accelerometer et laveffekt, en mindre bearbejdet sensor, der er egnet til måling af acceleration langs dens X-, Y- og Z-akse. Vi fik denne sensor fra DCUBE Store

4. Tilslutningskabel

Vi købte I2C -tilslutningskablet fra DCUBE Store

5. Micro USB -kabel

Den mindste sammenfiltrede, dog strengeste med hensyn til strømbehov er Raspberry Pi! Den mest foreskrevne og mindst krævende tilgang til styring af strategien er ved brug af Micro USB -kablet. En mere avanceret og specialiseret vej er at give strøm specifikt ved hjælp af GPIO- eller USB -porte.

6. Netværkssupport

Få din Raspberry Pi tilknyttet et Ethernet (LAN) kabel og tilslut det til dit hjemmenetværk. På den anden side skal du scanne efter et WiFi -stik og bruge en af USB -portene til at komme til fjernnetværket. Det er en skarp beslutning, grundlæggende, lidt og enkel!

7. HDMI -kabel/fjernadgang

Raspberry Pi har en HDMI -port, som du især kan tilslutte til en skærm eller et tv med et HDMI -kabel. Valgfri, du kan bruge SSH til at etablere med din Raspberry Pi fra en Linux -pc eller Mac fra terminalen. På samme måde lyder PuTTY, en gratis og open source terminalemulator som en smart tanke.

Trin 2: Tilslutning af hardwaren

Tilslutning af hardware
Tilslutning af hardware
Tilslutning af hardware
Tilslutning af hardware
Tilslutning af hardware
Tilslutning af hardware

Lav kredsløbet som angivet af den skematiske dukkede op. I skematikken ser du forbindelserne mellem forskellige elektronikkomponenter, tilslutningskabler, strømkabler og I2C -sensor.

Raspberry Pi og I2C Shield -forbindelse

Først og fremmest skal du tage Raspberry Pi og se I2C -skjoldet på det. Tryk pænt på skjoldet over GPIO -benene på Pi, og vi er færdige med denne progression lige så let som en tærte (se snap).

Hindbær Pi og sensorforbindelse

Tag sensoren og tilslut I2C -kablet med det. For den korrekte betjening af dette kabel, bedes du læse I2C Output tager altid op med I2C Input. Det samme skal tages efter for Raspberry Pi med I2C -skjoldet monteret over GPIO -benene.

Vi anbefaler brugen af I2C -kablet, da det ophæver kravet om dissekering af pinouts, sikring og besvær udført af selv det ydmygeste rod. Med denne betydningsfulde tilknytning og afspilningskabel kan du præsentere, bytte udstyr eller tilføje flere gadgets til en passende applikation. Dette understøtter arbejdsvægten op til et enormt niveau.

Bemærk: Den brune ledning skal pålideligt tage efter jordforbindelsen (GND) mellem output fra en enhed og input fra en anden enhed

Internetadgang er nøglen

For at gøre vores bestræbelse på at vinde, kræver vi en internetforbindelse til vores Raspberry Pi. Til dette har du alternativer som at tilslutte et Ethernet (LAN) tilslutning til hjemmenetværket. Som et alternativ er et tilfredsstillende kursus også at bruge et WiFi USB -stik. I det store og hele repræsenterer dette, at du har brug for en chauffør for at få det til at fungere. Så hæld mod den med Linux i afgrænsningen.

Strømforsyning

Sæt Micro USB -kablet i strømstikket på Raspberry Pi. Slå op, og vi er klar.

Tilslutning til skærm

Vi kan have HDMI -kablet tilsluttet en anden skærm/tv. Nogle gange er du nødt til at komme til en Raspberry Pi uden at have en grænseflade på en skærm, eller du skal muligvis se oplysninger fra den andre steder. Muligvis er der kreative og finanspolitisk kloge måder at håndtere at gøre alt taget i betragtning. En af dem bruger - SSH (fjernkommandolinje -login). Du kan ligeledes bruge PuTTY -softwaren til det.

Trin 3: Python -kodning til Raspberry Pi

Python -kodning til Raspberry Pi
Python -kodning til Raspberry Pi

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

Inden du fortsætter med koden, skal du garantere, at du læser de standarder, der er angivet i Readme -krøniken, og konfigurerer din Raspberry Pi som angivet af den. Det vil simpelthen lette i et minut at gøre i lyset af de aktuelle omstændigheder.

Et accelerometer er en elektromekanisk gadget, der måler accelerationskræfter. Disse kræfter kan være statiske, svarende til den konstante tyngdekraft, der trækker ved dine fødder, eller de kan ændres - forårsaget af bevægelse eller vibration af accelerometeret.

Den går med er python -koden, og du kan klone og ændre koden på enhver måde, du hælder mod.

# Distribueret med en fri vilje-licens.# Brug den, som du vil, profit eller gratis, forudsat at den passer ind i licenserne til de tilhørende værker. # MMA7455L # Denne kode er designet til at fungere med MMA7455L_I2CS I2C Mini Module tilgængelig fra dcubestore.com # https://dcubestore.com/product/mma7455l-3-axis-low-g-digital-output-accelerometer-i%C2 %B2c-mini-modul/

import smbus

importtid

# Få I2C -bus

bus = smbus. SMBus (1)

# MMA7455L adresse, 0x1D (16)

# Vælg tilstandsregistreringsregister, 0x16 (22) # 0x01 (01) Målingstilstand, +/- 8g bus.write_byte_data (0x1D, 0x16, 0x01)

time.sleep (0,5)

# MMA7455L adresse, 0x1D (16)

# Læs data tilbage fra 0x00 (00), 6 bytes # 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-bit

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

# Output data til skærmen

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

Trin 4: Det praktiske i koden

Kodeksens praktiske egenskaber
Kodeksens praktiske egenskaber

Download (eller git pull) koden fra Github, og åbn den i Raspberry Pi.

Kør kommandoerne for at kompilere og uploade koden i terminalen og se udbyttet på skærmen. Efter et par minutter viser det hver af parametrene. I kølvandet på at sikre, at alt fungerer let, kan du bruge denne vandring hver dag eller gøre denne vandring til en lille del af en meget mere fremtrædende opgave. Uanset dine behov har du nu endnu en ting i din samling.

Trin 5: Applikationer og funktioner

MMA7455, fremstillet af Freescale Semiconductor, et laveffekt højtydende 3-akset digitalt accelerometer kan bruges til sensordataændringer, produktorientering og bevægelsesdetektering. Det er perfekt til applikationer som f.eks. Mobiltelefon/PMP/PDA: Orienteringsregistrering (portræt/liggende), billedstabilitet, tekstrulning, bevægelsesopkald, tryk for at slå lyden fra, bærbar pc: tyverisikring, spil: bevægelsesdetektion, automatisk vækning/ Søvn til lavt strømforbrug og digitalt stillkamera: Billedstabilitet.

Trin 6: Konklusion

Hvis du har overvejet at udforske universet i Raspberry Pi og I2C -sensorerne, kan du chokere dig selv ved at bruge hardwareens grundlæggende, kodning, arrangere, autoritative osv. Når du forsøger at være mere kreativ i din lille venture, det skader aldrig at svinge til eksterne kilder. I denne metode kan der være et par ærinder, der kan være ligetil, mens nogle kan teste dig og bevæge dig. Under alle omstændigheder kan du lave en måde og fejlfri den ved at ændre og lave din formation.

For eksempel kan du begynde med tanken om en gravimeterprototype til måling af det lokale gravitationsfelt på jorden med MMA7455 og Raspberry Pi ved hjælp af Python. I ovennævnte satsning har vi brugt fundamentale beregninger. Designets grundprincip er at måle meget små fraktionelle ændringer inden for Jordens tyngdekraft på 1 g. Så du kan bruge denne sensor på forskellige måder, du kan overveje. Algoritmen skal måle ændringshastigheden for den lodrette tyngdekraftsvektor i alle tre vinkelrette retninger, hvilket giver anledning til en tyngdekraftgradient tensor. Det kan udledes ved at differentiere værdien af tyngdekraften på to punkter adskilt af en lille lodret afstand, l, og dividere med denne afstand. Vi vil forsøge at lave en fungerende gengivelse af denne prototype før snarere end senere, konfigurationen, koden og modelleringen fungerer til strukturbåret støj og vibrationsanalyse. Vi tror på at alle kan lide det!

Til din trøst har vi en fortryllende video på YouTube, som kan hjælpe din undersøgelse. Stol på dette forsøg ruter yderligere undersøgelse. Hvis muligheden ikke banker på, skal du bygge en dør.

Anbefalede: