Innholdsfortegnelse:

Bevegelseskontroll med Raspberry Pi og LIS3DHTR, 3-akset akselerometer, bruk av Python: 6 trinn
Bevegelseskontroll med Raspberry Pi og LIS3DHTR, 3-akset akselerometer, bruk av Python: 6 trinn

Video: Bevegelseskontroll med Raspberry Pi og LIS3DHTR, 3-akset akselerometer, bruk av Python: 6 trinn

Video: Bevegelseskontroll med Raspberry Pi og LIS3DHTR, 3-akset akselerometer, bruk av Python: 6 trinn
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Juli
Anonim
Image
Image
Grunnleggende maskinvare vi krever
Grunnleggende maskinvare vi krever

Skjønnhet omgir oss, men vanligvis må vi gå i en hage for å vite det. - Rumi

Som den utdannede gruppen som vi ser ut til å være, investerer vi det store flertallet av energien vår før vi jobber med PC -er og mobiltelefoner. Derfor lar vi ofte vårt velvære ta den sekundære loungen, og finner aldri en ideell mulighet til å gå på treningsstudio eller en treningsøkt, og som regel velge hurtigmat fremfor mye mer fordelaktige valg. Den oppløftende nyheten er om alt du trenger er hjelp til journalføring eller for å overvåke fremskrittet ditt. Du kan bruke dagens innovasjon til å produsere en gadget for å hjelpe deg selv.

Teknologien utvikler seg raskt. Konsekvent får vi vinden av ny innovasjon som vil forandre verden og måten vi lærer på. Når du er interessert i PC -er, koding og roboter eller bare liker å tinker, er det en teknisk velsignelse der ute. Raspberry Pi, mikro -enbrettet Linux -datamaskinen, er dedikert til å forbedre måten du lærer med den innovative teknologien, men også nøkkelen til å forbedre utdanningslæring rundt om i verden. 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? Hva med å finne dette! I denne oppgaven vil vi kontrollere akselerasjonen på 3 vinkelrette akser, X, Y og Z ved bruk av Raspberry Pi og LIS3DHTR, et 3-akset akselerometer. Så vi burde se på denne reisen for å lage et system for å kontrollere den tredimensjonale akselerasjonen eller G-Force.

Trinn 1: Grunnleggende maskinvare vi krever

Grunnleggende maskinvare vi krever
Grunnleggende maskinvare vi krever
Grunnleggende maskinvare vi krever
Grunnleggende maskinvare vi krever

Problemene var mindre for oss siden vi har en enorm mengde ting som ligger å jobbe ut fra. Uansett vet vi hvordan det er plagsomt for andre å samle den riktige delen i ulastelig tid fra det nyttige stedet, og det forsvares å betale liten oppmerksomhet til hver krone. Så vi ville hjelpe deg. Følg den medfølgende for å få en komplett deleliste.

1. Bringebær Pi

Det første trinnet var å skaffe et Raspberry Pi -kort. Raspberry Pi er en enkeltbrett Linux-basert PC. Denne lille PC -en gir kraft i datakraft, brukt som en del av gadgetaktiviteter og enkle operasjoner som regneark, ordforberedelse, nettskanning og e -post og spill.

2. I2C Shield for Raspberry Pi

Den viktigste bekymringen for Raspberry Pi er virkelig fraværende er en I²C -port. Så for det gir TOUTPI2 I²C -kontakten deg følelsen av å bruke Rasp Pi med ALLE I²C -enheter. Den er tilgjengelig på DCUBE Store

3. 3-akset akselerometer, LIS3DHTR

LIS3DH er et ultraeffektivt tre-akset lineært akselerometer med høy ytelse som tilhører "nano" -familien, med digital I2C/SPI seriell grensesnittstandardutgang. Vi kjøpte denne sensoren fra DCUBE Store

4. Tilkoblingskabel

Vi kjøpte I2C -tilkoblingskabelen fra DCUBE Store

5. Micro USB -kabel

Den minste forvirrede, men likevel strengeste i den grad strømbehovet er Raspberry Pi! Den enkleste måten å håndtere på er ved bruk av Micro USB -kabelen.

6. Internett -tilgang er et behov

INTERNETT -barn sover ALDRI

Få Raspberry Pi assosiert med en Ethernet (LAN) kabel og koble den til nettverksruteren. Valgfri, søk etter en WiFi -kontakt og bruk en av USB -portene for å komme til det eksterne systemet. Det er en ivrig beslutning, enkel, liten og sløv!

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 å knytte til din Raspberry Pi fra en Linux -PC eller Macintosh fra terminalen. På samme måte høres PuTTY, en gratis og åpen kildekode-terminalemulator ut som et greit alternativ.

Trinn 2: Koble til maskinvaren

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

Gjør kretsen i henhold til skjematisk dukket opp. Tegn et diagram og følg omrisset nøyaktig. Fantasi er viktigere enn kunnskap.

Tilkobling av Raspberry Pi og I2C Shield

Fremfor alt, ta Raspberry Pi og se I2C -skjoldet på den. Trykk skjoldet forsiktig over GPIO -pinnene til Pi, og vi er ferdige med denne progresjonen så enkel som en kake (se bildet).

Tilkobling av sensoren og Raspberry Pi

Ta sensoren og koble til I2C -kabelen med den. For riktig bruk av denne kabelen, husk at I2C -utgang ALLTID er tilknyttet I2C -inngangen. Det samme må tas etter for Raspberry Pi med I2C -skjoldet montert over GPIO -pinnene.

Vi godkjenner bruken av I2C-kabelen da den opphever nødvendigheten av å undersøke pinouts, feste og ubehag forårsaket av selv den minste skruen. Med denne grunnleggende vedleggs- og spillkabelen kan du presentere, bytte ut gadgets eller legge til flere gadgets effektivt i et program. Dette letter arbeidsvekten opp til et betydelig 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 på å vinne, krever vi en internettforening for vår Raspberry Pi. For dette har du valg som å koble en Ethernet -kabel (LAN) til hjemmenettverket. Videre, som et alternativ, er det som det er, et imøtekommende kurs å bruke en WiFi USB -kontakt. Som regel for dette krever du en sjåfør for å få det til å fungere. Så hell deg mot den med Linux i beskrivelsen.

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 tilknyttet en annen skjerm. I noen tilfeller må du komme til en Raspberry Pi uten å koble den til en skjerm, eller du må kanskje se noen data fra den fra et annet sted. Tenkelig er det innovative og økonomisk kunnskapsrike tilnærminger til å gjøre som sådan. En av dem bruker -SSH (ekstern kommandolinje -pålogging). Du kan også bruke PUTTY -programvaren til det. Disse er for avanserte brukere. Så detaljene er ikke inkludert her.

Trinn 3: Python -koding for Raspberry Pi

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

Python -koden for Raspberry Pi og LIS3DHTR -sensoren er tilgjengelig i GithubRepository.

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 medfølgende er pythonkoden, og du kan klone og justere 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. # LIS3DHTR # Denne koden er designet for å fungere med LIS3DHTR_I2CS I2C Mini Module tilgjengelig fra dcubestore.com # https://dcubestore.com/product/lis3dhtr-3-axis-accelerometer-digital-output-motion-sensor-i%C2 %B2c-mini-modul/

importer smbus

importtid

# Få I2C -buss

buss = smbus. SMBus (1)

# LIS3DHTR -adresse, 0x18 (24)

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

time.sleep (0,5)

# LIS3DHTR -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

# LIS3DHTR -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

# LIS3DHTR -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: Kodens brukbarhet

Kodens brukbarhet
Kodens brukbarhet

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 et par minutter vil det demonstrere hver av parameterne. Som følge av å garantere at alt fungerer uten problemer, kan du ta denne vågen til et mer bemerkelsesverdig foretak.

Trinn 5: Programmer og funksjoner

LIS3DHTR er produsert av STMicroelectronics og har dynamisk fullt valgbare skalaer på ± 2g/± 4g/± 8g/± 16g, og den er i stand til å måle akselerasjoner med utdatahastigheter fra 1Hz til 5kHz. LIS3DHTR er egnet for bevegelsesaktiverte funksjoner og fritt fallregistrering. Den kvantifiserer statisk tyngdekraftsakselerasjon i applikasjoner for tiltdeteksjon, og i tillegg kommer dynamisk akselerasjon på grunn av bevegelse eller sjokk. Andre applikasjoner inkluderer slike som klikk/dobbeltklikkgjenkjenning, intelligent strømsparing for håndholdte enheter, skritteller, skjermorientering, spill og virtuelle virkelighetsinnmatingsenheter, effektgjenkjenning og logging og vibrasjonsovervåking og kompensasjon.

Trinn 6: Konklusjon

Stol på at dette foretaket fremmer ytterligere eksperimentering. Denne I2C -sensoren er fenomenalt tilpasningsdyktig, beskjeden og tilgjengelig. Siden det er en uhyre ubestemmelig ramme, er det interessante måter du kan utvide denne oppgaven og forbedre den til og med.

For eksempel kan du starte med ideen om en skritteller med LIS3DHTR og Raspberry Pi. I oppgaven ovenfor har vi benyttet grunnleggende beregninger. Akselerasjon kan være den relevante parameteren for å analysere avgjørelsen en vandring. Du kan sjekke de tre komponentene i bevegelse for et individ som er fremover (rull, X), side (tonehøyde, Y) og vertikal (girakse, Z). Et typisk mønster for alle 3 akser er registrert. Minst 1 akse vil ha relativt store periodiske akselerasjonsverdier. Så toppretning og en algoritme er avgjørende. Ved å ta hensyn til trinnparameter (digitalt filter, toppdeteksjon, tidsvindu, etc.) for denne algoritmen, kan du gjenkjenne og telle trinn, samt måle avstand, hastighet og til en viss grad kalorier forbrent. Så du kan bruke denne sensoren på forskjellige måter du kan vurdere. Vi stoler på at dere alle liker det! Vi vil prøve å lage en fungerende gjengivelse av denne skrittelleren snarere enn senere, konfigurasjonen, koden, delen som beregner midler for å skille gå og løp og kalorier brent.

For din trøst har vi en spennende video på YouTube som kan hjelpe deg med undersøkelsen. Stol på at denne satsingen motiverer til videre leting. Fortsett å gruble! Husk å se etter etter som det stadig kommer mer.

Anbefalt: