Innholdsfortegnelse:

Overvåke akselerasjon ved bruk av Raspberry Pi og AIS328DQTR ved hjelp av Python: 6 trinn
Overvåke akselerasjon ved bruk av Raspberry Pi og AIS328DQTR ved hjelp av Python: 6 trinn

Video: Overvåke akselerasjon ved bruk av Raspberry Pi og AIS328DQTR ved hjelp av Python: 6 trinn

Video: Overvåke akselerasjon ved bruk av Raspberry Pi og AIS328DQTR ved hjelp av Python: 6 trinn
Video: MKS SGEN L V1.0 - TMC2208 UART install 2024, November
Anonim
Image
Image

Akselerasjon er begrenset, tror jeg ifølge noen fysikklover.- Terry Riley

En gepard utnytter fantastisk akselerasjon og raske endringer i hastighet når de jager. Den raskeste skapningen i land bruker en gang i blant sitt høyeste tempo for å fange byttedyr. Skapningene får dette til å øke hastigheten ved å bruke nesten fem ganger mer kraft enn Usain Bolts midt i hans rekordstore 100 meter løp.

I dag kan enkeltpersoner ikke se for seg eksistensen uten innovasjon. Rundt oss hjelper forskjellige innovasjoner mennesker til å fortsette sin eksistens med mer ekstravaganse. Raspberry Pi, mini, single board Linux PC, gir en billig og respektabel base for elektronikkarbeid og banebrytende fremskritt som IoT, Smart Cities og School Education. Som datamaskin- og gadgets -fans har vi tatt et betydelig tiltak med Raspberry Pi og valgt å blande våre interesser. Så hva er de mulige resultatene av det vi kan gjøre hvis vi har en Raspberry Pi og et 3-akset akselerometer i nærheten? I denne oppgaven vil vi inkludere AIS328DQTR, en digital 3-akset MEMS lineær akselerometer sensor, for å måle akselerasjon i 3 retninger, X, Y og Z, med Raspberry Pi ved hjelp av Python. Det er verdt å se nærmere på.

Trinn 1: Maskinvare vi krever

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

Problemene var mindre for oss siden vi har et stort antall ting som ligger å jobbe ut fra. Uansett vet vi hvordan det er plagsomt for andre å sette bort den riktige delen i perfekt tid fra det sterke stedet, og det er beskyttet med liten oppmerksomhet til hver krone. Så vi ville hjelpe deg.

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, AIS328DQTR

Tilhører STMicroelectronics bevegelsessensorer, er AIS328DQTR et ultra-lavt effektytelses 3-akset lineært akselerometer med digitalt serielt grensesnitt SPI-standardutgang. Vi kjøpte denne sensoren fra DCUBE Store

4. Tilkoblingskabel

Vi kjøpte I2C -tilkoblingskabelen fra DCUBE Store

5. Micro USB -kabel

Den ydmykeste forvirret, men likevel strengest i den grad strømbehovet er Raspberry Pi! Den mest enkle måten å håndtere spillplanen er ved bruk av Micro USB -kabelen. GPIO -pinner eller USB -porter kan på samme måte brukes til å gi rikelig med strømforsyning.

6. Internett -tilgang er et behov

Få Raspberry Pi assosiert med en Ethernet (LAN) kabel og koble den til nettverket ditt. 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 å hente frem din Raspberry Pi fra en Linux -PC eller Macintosh fra terminalen. PuTTY, en gratis og åpen kildekode-terminalemulator høres ut som et ikke så ille valg.

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 grafen ser du de forskjellige delene, kraftfragmentene og I2C -sensoren.

Raspberry Pi og I2C Shield -tilkobling

Viktigst av alt, ta Raspberry Pi og se I2C -skjoldet på den. Trykk skjoldet forsiktig over GPIO -pinnene til Pi, og vi er ferdige med dette trinnet like greit 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 oppfordrer til 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 bør på en pålitelig måte følge jordforbindelsen (GND) mellom utgangen til en enhet og inngangen til en annen enhet

Webnettverk er nøkkelen

For å gjøre vårt forsøk til en seier, krever vi en nettforbindelse for vår Raspberry Pi. For dette har du alternativer som å koble til et Ethernet (LAN) sammen med hjemmenettverket. Videre, som et alternativ, er et hyggelig kurs å bruke en WiFi USB -kontakt. Generelt sett for dette, krever du en sjåfør for å få det til å fungere. Så len deg mot den med Linux i skildringen.

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. 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 AIS328DQTR -sensoren i vårt Github -depot.

Før du fortsetter til koden, må du lese reglene som er gitt i Readme -arkivet og konfigurere din Raspberry Pi i henhold til den. Det vil bare hvile et øyeblikk for å gjøre alt som er vurdert.

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. # AIS328DQTR # Denne koden er designet for å fungere med AIS328DQTR_I2CS I2C Mini Module tilgjengelig fra dcubestore.com # https://dcubestore.com/product/ais328dqtr-high-performance-ultra-low-power-3-axis-accelerometer-with -digital-output-for-automotive-applikasjoner-i%C2%B2c-mini-module/

importer smbus

importtid

# Få I2C -buss

buss = smbus. SMBus (1)

# AIS328DQTR -adresse, 0x18 (24)

# Velg kontrollregister1, 0x20 (32) # 0x27 (39) Strøm PÅ-modus, valg av datahastighet = 50Hz # X, Y, Z-aksen aktivert buss. Skrive_byte_data (0x18, 0x20, 0x27) # AIS328DQTR-adresse, 0x18 (24) # Velg kontrollregister4, 0x23 (35) # 0x30 (48) Kontinuerlig oppdatering, fullskala valg = +/- 8G buss.write_byte_data (0x18, 0x23, 0x30)

time.sleep (0,5)

# AIS328DQTR -adresse, 0x18 (24)

# Les data tilbake fra 0x28 (40), 2 byte # X-Axis LSB, X-Axis MSB data0 = bus.read_byte_data (0x18, 0x28) data1 = bus.read_byte_data (0x18, 0x29)

# Konverter dataene

xAccl = data1 * 256 + data0 hvis xAccl> 32767: xAccl -= 65536

# AIS328DQTR -adresse, 0x18 (24)

# Les data tilbake fra 0x2A (42), 2 byte # Y-Axis LSB, Y-Axis MSB data0 = bus.read_byte_data (0x18, 0x2A) data1 = bus.read_byte_data (0x18, 0x2B)

# Konverter dataene

yAccl = data1 * 256 + data0 hvis yAccl> 32767: yAccl -= 65536

# AIS328DQTR -adresse, 0x18 (24)

# Les data tilbake fra 0x2C (44), 2 byte # Z-Axis LSB, Z-Axis MSB data0 = bus.read_byte_data (0x18, 0x2C) data1 = bus.read_byte_data (0x18, 0x2D)

# Konverter dataene

zAccl = data1 * 256 + data0 hvis zAccl> 32767: zAccl -= 65536

# 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 flere minutter vil den vise hver og en av parameterne. I kjølvannet av å garantere at alt fungerer uanstrengt, kan du bruke denne satsingen hver dag eller gjøre denne satsingen til en liten del av et mye større oppdrag. Uansett hvilke behov du har, har du nå enda en tilsetning i din opphopning.

Trinn 5: Programmer og funksjoner

Produsert av STMicroelectronics, ultrakompakt laveffekt, høy ytelse, 3-akset lineært akselerometer som tilhører bevegelsessensorene. AIS328DQTR er egnet for applikasjoner som telematikk og sorte bokser, bilnavigering i dashbord, tilt- / skråningsmåling, tyverisikringsenhet, intelligent strømsparing, slaggjenkjenning og logging, vibrasjonsovervåking og kompensasjon og bevegelsesaktiverte funksjoner.

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. I denne metoden kan det være et par ærend som kan være grei, mens noen kan teste deg, 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 Behavior Tracker Prototype for å overvåke og skildre de fysiske bevegelsene og kroppsstillingene til dyr med AIS328DQTR og Raspberry Pi ved hjelp av Python. I oppgaven ovenfor har vi benyttet grunnleggende beregninger av et akselerometer. Protokollen er å lage et system for akselerometer sammen med et hvilket som helst Gyrometer og en GPS, og en overvåket (maskin) læringsalgoritme (støttevektormaskin (SVM)) for automatisk atferdsidentifikasjon av dyr. Dette etterfølges av innsamling av parallelle sensormålinger og evaluering av målingene ved bruk av støttevektormaskin (SVM) klassifisering. Bruk forskjellige kombinasjoner av uavhengige målinger (sittende, gående eller løpende) for trening og validering for å bestemme roboten til prototypen. Vi vil prøve å lage en fungerende gjengivelse av denne prototypen før heller enn senere, konfigurasjonen, koden og modelleringen fungerer for mer atferdsmoduser. Vi tror alle dere liker det!

For din bekvemmelighet har vi en sjarmerende video på YouTube som kan hjelpe deg med undersøkelsen. Stol på at dette arbeidet motiverer til videre leting. Start der du er. Bruk det du har. Gjør det du kan.

Anbefalt: