Innholdsfortegnelse:
- Trinn 1: Grunnleggende maskinvare vi krever
- Trinn 2: Koble til maskinvaren
- Trinn 3: Python -koding for Raspberry Pi
- Trinn 4: Det praktiske i koden
- Trinn 5: Programmer og funksjoner
- Trinn 6: Konklusjon
Video: 3-akset akselerometer, ADXL345 med bringebær Pi ved bruk av Python: 6 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
Tenker på en gadget som kan kontrollere punktet der offroaderen er vippet mot for å dvele. Ville det ikke vært hyggelig i tilfelle noen blir justert når det er mulighet for å velte? Tydeligvis ja. Det ville virkelig være nyttig for personer som liker å gå på fjellet og foretaksturer.
Uten tvil, en virkelig strålende periode med avansert beregningsevaluering, er IoT over oss. Som elskere av gadgets og programmer, tror vi, Raspberry Pi, at mikro -Linux -PC -en har behandlet menneskers kreative evner generelt, og har med seg en eksplosjon i innovative metoder. Så hva er de tenkelige utfallene av hva vi kan gjøre i tilfelle vi har en Raspberry Pi og et 3-akset akselerometer i nærheten? Vi burde oppdage! I denne oppgaven vil vi kjenne akselerasjonen på 3 akser, X, Y og Z ved å bruke Raspberry Pi og ADXL345, et 3-akset akselerometer. Så vi bør observere på denne ekskursjonen for å lage et rammeverk for å måle den tredimensjonale akselerasjonen opp eller G-Force.
Trinn 1: Grunnleggende maskinvare vi krever
Problemene var mindre for oss siden vi har massevis av ting som ligger å jobbe ut fra. Likevel vet vi hvordan det er plagsomt for andre å sette sammen den rette delen i perfekt tid fra det passende stedet, og det er berettiget uavhengig av hver krone. Så vi ville hjelpe deg i alle regioner. Les følgende for å få en komplett deleliste.
1. Bringebær Pi
Det første trinnet var å anskaffe et Raspberry Pi -kort. Denne lille datamaskinen med lav effekt gir en billig og generelt enkel base for elektronikkvirksomheter, Internet of Things (IoT), Smart Cities, School Education.
2. I2C Shield for Raspberry Pi
Det viktigste Raspberry Pi virkelig mangler er en I²C -port. Så for det gir TOUTPI2 I²C -kontakten deg følelsen av å bruke Rasp Pi med MULTIPLE I²C -enheter. Den er tilgjengelig på DCUBE Store
3. 3-akset akselerometer, ADXL345
Produsert av analoge enheter, ADXL345, er et laveffekt 3-akset akselerometer med høyoppløselig 13-bit måling på opptil ± 16g. Vi kjøpte denne sensoren fra DCUBE Store
4. Tilkoblingskabel
Vi hadde I2C -tilkoblingskabelen tilgjengelig i DCUBE Store
5. Micro USB -kabel
Raspberry Pi er den minste forvirrede, men likevel strengeste når det gjelder strømbehov! Den mest enkle fremgangsmåten for å slå på Raspberry Pi er ved hjelp av Micro USB -kabelen.
6. Internett -tilgang er et behov
Internett -tilgang kan styrkes gjennom en Ethernet -kabel (LAN) knyttet til et lokalt nettverk og Internett. På den annen side kan du knytte til et trådløst nettverk ved hjelp av en trådløs USB -dongle, noe som krever konfigurasjon.
7. HDMI -kabel/ekstern tilgang
Med HDMI -kabel ombord kan du koble den til en digital -TV eller til en skjerm. Trenger å spare penger! Raspberry Pi kan fjernstyres ved å bruke særegne strategier som SSH og Access over nettet. Du kan bruke kildeprogramvaren PuTTYopen.
Trinn 2: Koble til maskinvaren
Gjør kretsen i henhold til skjematisk dukket opp. Tegn en oversikt og ta etter konfigurasjonen bevisst.
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 foreskriver bruk av I2C -kabelen, da den avviser kravet om gjennomgang av pinouts, lodding og ubehag forårsaket av selv den minste tabbe. Med denne grunnleggende plug and play -kabelen kan du enkelt introdusere, bytte enheter eller legge til flere enheter i et program. Dette gjør ting ukomplisert.
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 foretak en gevinst, krever vi en nettforbindelse for vår Raspberry Pi. For dette har du alternativer som å koble en Ethernet (LAN) kabel til hjemmesystemet. I tillegg, som et alternativ, er imidlertid en nyttig rute å bruke en WiFi -tilkobling. Noen ganger trenger 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. Lys opp, så er vi i gang.
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.
Trinn 3: Python -koding for Raspberry Pi
Python -koden for Raspberry Pi og ADXL345 -sensoren er tilgjengelig i vårt Github -depot.
Før du går videre til koden, må du kontrollere at du leser retningslinjene i Readme -dokumentet og konfigurerer Raspberry Pi i henhold til den. Det vil bare stoppe i et minutt for å gjøre som sådan.
Et akselerometer er en enhet som måler riktig akselerasjon; riktig akselerasjon er ikke det samme som koordinatakselerasjon (hastighetsendring av hastighet). En- og flerakse modeller av akselerometeret er tilgjengelige for å identifisere størrelsen og retningen for riktig akselerasjon, som en vektormengde, og kan brukes til å registrere orientering, koordinere akselerasjon, vibrasjon, sjokk og fall i et resistivt medium.
Koden er ren foran deg, og den er i den mest enkle strukturen du kan se for deg, og du burde ikke ha noen problemer.
# 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. # ADXL345 # Denne koden er designet for å fungere med ADXL345_I2CS I2C Mini Module tilgjengelig fra dcubestore.com # https://dcubestore.com/product/adxl345-3-axis-accelerometer-13-bit-i%C2%B2c-mini -modul/
importer smbus
importtid
# Få I2C -buss
buss = smbus. SMBus (1)
# ADXL345 adresse, 0x53 (83)
# Velg båndbreddehastighetsregister, 0x2C (44) # 0x0A (10) Normal modus, Utdatahastighet = 100 Hz buss. Skrive_byte_data (0x53, 0x2C, 0x0A) # ADXL345 -adresse, 0x53 (83) # Velg strømkontrollregister, 0x2D (45) # 0x08 (08) Automatisk hvilemodus deaktivere bus.write_byte_data (0x53, 0x2D, 0x08) # ADXL345-adresse, 0x53 (83) # Velg dataformatregister, 0x31 (49) # 0x08 (08) Selvtest deaktivert, 4-leder grensesnitt # Full oppløsning, Område = +/- 2g bus.write_byte_data (0x53, 0x31, 0x08)
time.sleep (0,5)
# ADXL345 adresse, 0x53 (83)
# Les data tilbake fra 0x32 (50), 2 byte # X-Axis LSB, X-Axis MSB data0 = bus.read_byte_data (0x53, 0x32) data1 = bus.read_byte_data (0x53, 0x33)
# Konverter dataene til 10-bits
xAccl = ((data1 & 0x03) * 256) + data0 hvis xAccl> 511: xAccl -= 1024
# ADXL345 adresse, 0x53 (83)
# Les data tilbake fra 0x34 (52), 2 byte # Y-Axis LSB, Y-Axis MSB data0 = bus.read_byte_data (0x53, 0x34) data1 = bus.read_byte_data (0x53, 0x35)
# Konverter dataene til 10-bits
yAccl = ((data1 & 0x03) * 256) + data0 hvis yAccl> 511: yAccl -= 1024
# ADXL345 adresse, 0x53 (83)
# Les data tilbake fra 0x36 (54), 2 byte # Z-Axis LSB, Z-Axis MSB data0 = bus.read_byte_data (0x53, 0x36) data1 = bus.read_byte_data (0x53, 0x37)
# Konverter dataene til 10-bits
zAccl = ((data1 & 0x03) * 256) + data0 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
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 utgangen på Monitor. Etter noen få øyeblikk vil den vise alle parametrene. Etter å ha sørget for at alt fungerer enkelt, kan du ta denne satsingen til en større oppgave.
Trinn 5: Programmer og funksjoner
ADXL345 er et lite, tynt, ultralavt, 3-akset akselerometer med høy oppløsning (13-bit) måling på opptil ± 16 g. ADXL345 er egnet for mobiltelefonapplikasjoner. Det kvantifiserer statisk tyngdekraftsakselerasjon i applikasjoner som tiltes av tilt og i tillegg kommer dynamisk akselerasjon på grunn av bevegelse eller sjokk. Andre applikasjoner inkluderer håndsett, medisinsk instrumentering, spill- og pekeenheter, industriell instrumentering, personlige navigasjonsenheter og beskyttelse mot harddisk (HDD).
Trinn 6: Konklusjon
Håper denne oppgaven motiverer til ytterligere eksperimentering. Denne I2C -sensoren er usedvanlig fleksibel, billig og tilgjengelig. Siden det er et i stor grad ubestandig system, er det interessante måter du kan utvide denne oppgaven og forbedre den til og med.
For eksempel kan du starte med ideen om et skråmåler ved hjelp av ADXL345 og Raspberry Pi. I prosjektet ovenfor har vi brukt grunnleggende beregninger. Du kan improvisere koden for G-verdier, skråningsvinkler (eller tilt), høyde eller depresjon av et objekt med hensyn til tyngdekraften. Deretter kan du sjekke forhåndsalternativene som rotasjonsvinkler for rull (front-til-bak-akse, X), stigning (side-til-side-akse, Y) og gjeving (vertikal akse, Z). Dette akselerometeret viser 3D-G-styrker. Så du kan bruke denne sensoren på forskjellige måter du kan vurdere.
For din bekvemmelighet har vi en fascinerende videoopplæringsøvelse på YouTube som kan hjelpe deg med etterforskningen. Stol på at denne satsingen motiverer til videre leting. Fortsett å tenke! Husk å søke etter ettersom 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
Flymonitor ved bruk av en bringebær -PI og en DVB -pinne: 3 trinn
Flight Monitor Bruke en Raspberry PI og en DVB Stick: Hvis du er en hyppig flyger, eller bare brenner for fly, så er Flightradar eller Flightaware 2 må ha nettsteder (eller apper, som det også er mobilapper) som du vil bruke på daglig Begge lar deg spore fly i sanntid, se flytur
Hjemmeautomatisering med bringebær Pi ved bruk av relékort: 7 trinn
Hjemmeautomatisering med Raspberry Pi ved bruk av relékort: Et stort antall mennesker ønsker god komfort, men til rimelige priser. Vi føler oss late til å lyse opp husene hver kveld når solen går ned og neste morgen, slå av lysene igjen Eller for å slå klimaanlegget/viften/varmeapparatene på/av som
Vannstandsmåler ved bruk av Oled -skjerm med bringebær Pi: 4 trinn
Vannstandsmåler ved bruk av Oled -skjerm med Raspberry Pi: Hei alle sammen, jeg er Shafin, medlem av Aiversity. Jeg skal dele om hvordan man bygger en vannstandssensor med en Oled -skjerm for vanntanker med en Raspberry pi. Oljedisplayet viser prosentandelen av bøtte fylt med vann
Bruk Arduino MKR -skjold med bringebær Pi: 8 trinn
Bruk Arduino MKR -skjold med Raspberry Pi: Vår PiMKRHAT er en adapter HAT for å bruke Arduino MKR -plater og skjold sammen med Raspberry Pi. Ulike Arduino MKR -skjold kan brukes via HATEN vår som forlengelse for Raspberry Pi. Jeg vil vise i dette lille prosjektet hvordan du bruker Ardu