Innholdsfortegnelse:
- Trinn 1: Grunnleggende maskinvare vi krever
- Trinn 2: Koble til maskinvaren
- Trinn 3: Python -koding for Raspberry Pi
- Trinn 4: Kodens brukbarhet
- Trinn 5: Programmer og funksjoner
- Trinn 6: Konklusjon
Video: Bevegelseskontroll med Raspberry Pi og LIS3DHTR, 3-akset akselerometer, bruk av Python: 6 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
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
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
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 -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
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:
Ulykkesvarslingssystem ved bruk av GSM, GPS og akselerometer: 5 trinn (med bilder)
Ulykkesvarslingssystem ved bruk av GSM, GPS og akselerometer: Vennligst stem meg for en konkurranseVennligst stem meg på konkurransenI dag dør mange mennesker på veien på grunn av ulykke, hovedårsaken er "forsinkelse i redning". Dette problemet er veldig stort i utviklingsland, så jeg designet dette prosjektet for å redde
Raspberry Pi MMA8452Q 3-akse 12-bits/8-biters digitalt akselerometer Python-opplæring: 4 trinn
Raspberry Pi MMA8452Q 3-akse 12-biters/8-biters digitalt akselerometer Python-opplæring: MMA8452Q er et smart, tre-akset, kapasitært, mikromaskinert akselerometer med 12 bits oppløsning. Fleksible brukerprogrammerbare alternativer tilbys ved hjelp av innebygde funksjoner i akselerometeret, som kan konfigureres til to avbrudd
Tensegrity eller Double 5R Parallel Robot, 5 Axis (DOF) Billig, Tøff, Bevegelseskontroll: 3 trinn (med bilder)
Tensegrity eller Double 5R Parallel Robot, 5 Axis (DOF) Billig, Tøff, Bevegelseskontroll: Jeg håper du vil synes dette er den STORE ideen for dagen din! Dette er en oppføring i Instructables Robotics -konkurransen som avsluttes 2. desember 2019. Prosjektet har kommet til den siste dommerunden, og jeg har ikke hatt tid til å gjøre oppdateringene jeg ønsket! Jeg har
Legge til bevegelseskontroll til en projeksjonsklokke: 7 trinn
Legge til bevegelseskontroll til en projeksjonsklokke: Mål: Legg til en bevegelsessensor som lyser opp klokken om natten når den oppdager bevegelse, og gjør lysstyrken manuelt justerbar.Hvorfor: Jeg har bare noen få krav til en god klokke ved sengen. Den må være lett synlig, men ikke lys
Akselerometer-logger Med SD-kortminne: 6 trinn (med bilder)
Akselerometer-logger Med SD-kortminne: En loggerenhet for målingskrefter på en berg-og-dal-bane og lagre dem på et SD-kort. Det er også mulig å modifisere programvaren i enheten slik at den kan måle andre ting hvis den kan kobles til en i2c-bus.Top Thrill Dragster