Indholdsfortegnelse:

Bevægelseskontrol med Raspberry Pi og LIS3DHTR, 3-akset accelerometer, ved hjælp af Python: 6 trin
Bevægelseskontrol med Raspberry Pi og LIS3DHTR, 3-akset accelerometer, ved hjælp af Python: 6 trin

Video: Bevægelseskontrol med Raspberry Pi og LIS3DHTR, 3-akset accelerometer, ved hjælp af Python: 6 trin

Video: Bevægelseskontrol med Raspberry Pi og LIS3DHTR, 3-akset accelerometer, ved hjælp af Python: 6 trin
Video: CLONE EFFECT - DIY motion control and After Effects | Tutorial 2024, November
Anonim
Image
Image
Grundlæggende hardware, vi har brug for
Grundlæggende hardware, vi har brug for

Skønhed omgiver os, men normalt skal vi gå i en have for at vide det. - Rumi

Som den uddannede gruppe, som vi ser ud til at være, investerer vi langt størstedelen af vores energi i at arbejde før vores pc'er og mobiltelefoner. Derfor lader vi ofte vores velbefindende tage den sekundære lounge og finder aldrig rigtig en ideel mulighed for at gå i fitnesscentret eller en fitnessklasse og som regel vælge fastfood frem for meget mere fordelagtige valg. Den opløftende nyhed er, om alt hvad du behøver er hjælp til registrering eller overvågning af din fremgang, du kan udnytte nutidens innovation til at fremstille en gadget til at hjælpe dig selv.

Teknologien udvikler sig hurtigt. Konsekvent fanger vi vind af ny innovation, der vil ændre verden og den måde, vi lærer i den. Når du er til pc'er, kodning og robotter eller bare kan lide at pille, er der en teknisk velsignelse derude. Raspberry Pi, micro, single board Linux -computeren, er dedikeret til at forbedre den måde, du lærer med den innovative teknologi, men også nøglen til at forbedre uddannelseslæring rundt om i verden. Så hvad er de mulige resultater, hvad vi kan gøre, hvis vi har en Raspberry Pi og et 3-akset accelerometer i nærheden? Hvad med at vi finder dette! I denne opgave vil vi kontrollere accelerationen på 3 vinkelrette akser, X, Y og Z ved hjælp af Raspberry Pi og LIS3DHTR, et 3-akset accelerometer. Så vi burde se på denne rejse for at oprette et system til at kontrollere den tredimensionelle acceleration op eller G-Force.

Trin 1: Grundlæggende hardware, vi kræver

Grundlæggende hardware, vi har brug for
Grundlæggende hardware, vi har brug for
Grundlæggende hardware, vi har brug for
Grundlæggende hardware, vi har brug for

Problemerne var mindre for os, da vi har en enorm mængde ting liggende at arbejde ud fra. Under alle omstændigheder ved vi, hvordan det er besværligt for andre at samle den rigtige del i pletfri tid fra det hjælpsomme sted, og det forsvares ved ikke at tage lidt hensyn til hver krone. Så vi ville hjælpe dig. Følg den medfølgende for at få en komplet reservedelsliste.

1. Hindbær Pi

Det første trin var at få et Raspberry Pi -bord. Raspberry Pi er en single-board Linux-baseret pc. Denne lille pc har et slag i computerkraft, der bruges som en del af gadgets -aktiviteter og enkle operationer som regneark, ordforberedelse, webscanning og e -mail og spil.

2. I2C Shield til Raspberry Pi

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

3. 3-akset accelerometer, LIS3DHTR

LIS3DH er et ultralavt, højtydende tre-akset lineært accelerometer, der tilhører "nano" -familien, med digital I2C/SPI seriel grænseflade standardoutput. Vi købte denne sensor fra DCUBE Store

4. Tilslutningskabel

Vi købte I2C -tilslutningskablet fra DCUBE Store

5. Micro USB -kabel

Den mindste forvirrede, men alligevel strengeste i det omfang strømbehov er Raspberry Pi! Den nemmeste måde at håndtere på er ved hjælp af Micro USB -kablet.

6. Webadgang er et behov

INTERNET -børn sover ALDRIG

Få din Raspberry Pi tilknyttet et Ethernet (LAN) kabel og tilslut den til din netværksrouter. Valgfri, søg efter et WiFi -stik og brug en af USB -portene til at komme til fjernsystemet. Det er en ivrig beslutning, enkel, lille og sjusk!

7. HDMI -kabel/fjernadgang

Raspberry Pi har en HDMI -port, som du specifikt kan tilslutte til en skærm eller et tv med et HDMI -kabel. Valgfri, du kan bruge SSH til at forbinde din Raspberry Pi fra en Linux -pc eller Macintosh fra terminalen. På samme måde lyder PuTTY, en gratis og open source terminalemulator som et anstændigt alternativ.

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 i henhold til den skematiske dukkede op. Tegn et diagram og følg omridset præcist. Fantasi er vigtigere end viden.

Tilslutning af Raspberry Pi og I2C Shield

Frem for alt andet, tag Raspberry Pi og få øje på I2C Shield på den. Tryk forsigtigt på skærmen over GPIO -benene på Pi, og vi er færdige med denne fremgang så enkel som en tærte (se snap).

Tilslutning af sensoren og Raspberry Pi

Tag sensoren og tilslut I2C -kablet med den. For den korrekte betjening af dette kabel skal du huske på, at I2C -output ALTID er forbundet med I2C -indgangen. Det samme skal tages efter for Raspberry Pi med I2C -skjoldet monteret over GPIO -benene.

Vi godkender brugen af I2C-kablet, da det ophæver nødvendigheden af at undersøge pinouts, fastgørelse og ubehag forårsaget af selv den mindste skrue-up. Med dette grundlæggende vedhæftnings- og afspilningskabel kan du præsentere, bytte gadgets eller tilføje flere gadgets til en applikation effektivt. Dette letter arbejdsvægten op til et betydeligt niveau.

Bemærk: Den brune ledning bør pålideligt følge jordforbindelsen (GND) mellem output fra en enhed og input fra en anden enhed

Webnetværk er nøglen

For at gøre vores bestræbelse på at vinde, kræver vi en internetforening til vores Raspberry Pi. Til dette har du valg som at tilslutte et Ethernet (LAN) -kabel til hjemmenetværket. Desuden kan et imødekommende kursus som et alternativ være at bruge et WiFi USB -stik. Som regel kræver dette en driver for at få det til at fungere. Så hæld mod den med Linux i beskrivelsen.

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 forbundet med en anden skærm. I nogle tilfælde skal du komme til en Raspberry Pi uden at have en grænseflade på en skærm, eller du skal muligvis se nogle data fra den et andet sted. Tænkeligt er der innovative og økonomisk kyndige tilgange til at gøre som sådan. En af dem bruger -SSH (fjernkommandolinje -login). Du kan også bruge PUTTY -softwaren til det. Disse er til avancerede brugere. Så detaljerne er ikke inkluderet her.

Trin 3: Python -kodning til Raspberry Pi

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

Python -koden til Raspberry Pi og LIS3DHTR -sensoren er tilgængelig i vores GithubRepository.

Inden du går videre til koden, skal du sørge for at læse reglerne i Readme -arkivet og konfigurere din Raspberry Pi i henhold til den. Det vil bare hvile et øjeblik for at gøre alt taget i betragtning.

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

import smbus

importtid

# Få I2C -bus

bus = smbus. SMBus (1)

# LIS3DHTR -adresse, 0x18 (24)

# Vælg kontrolregister1, 0x20 (32) # 0x27 (39) Power ON-tilstand, Valg af datahastighed = 10 Hz # X, Y, Z-akse aktiveret bus.write_byte_data (0x18, 0x20, 0x27) # LIS3DHTR-adresse, 0x18 (24) # Vælg kontrolregister4, 0x23 (35) # 0x00 (00) Kontinuerlig opdatering, valg i fuld skala = +/- 2G bus.write_byte_data (0x18, 0x23, 0x00)

time.sleep (0,5)

# LIS3DHTR -adresse, 0x18 (24)

# Læs data tilbage fra 0x28 (40), 2 bytes # 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)

# Læs data tilbage fra 0x2A (42), 2 bytes # 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)

# Læs data tilbage fra 0x2C (44), 2 bytes # 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

# 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: Kodens funktionsdygtighed

Kodeksens funktionsdygtighed
Kodeksens funktionsdygtighed

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. Som følge af at garantere, at alt fungerer ubesværet, kan du tage denne tur til en mere bemærkelsesværdig virksomhed.

Trin 5: Applikationer og funktioner

LIS3DHTR er fremstillet af STMicroelectronics og har dynamisk fulde skalaer, der kan vælges på ± 2g/± 4g/± 8g/± 16g, og den er i stand til at måle accelerationer med outputdatahastigheder fra 1Hz til 5kHz. LIS3DHTR er egnet til bevægelsesaktiverede funktioner og frifaldsregistrering. Det kvantificerer den statiske tyngdekraftsacceleration i applikationer, der kan detektere hældning, og derudover kommer dynamisk acceleration på grund af bevægelse eller stød. Andre applikationer omfatter f.eks. Klik-/dobbeltklikgenkendelse, intelligent strømbesparelse til håndholdte enheder, skridttæller, displayorientering, gaming- og virtual reality -inputenheder, effektgenkendelse og logning og vibrationsovervågning og kompensation.

Trin 6: Konklusion

Stol på, at denne virksomhed fremkalder yderligere eksperimenter. Denne I2C -sensor er fænomenalt tilpasningsbar, beskeden og tilgængelig. Da det i en fantastisk grad er ubestandige rammer, er der interessante måder, du kan udvide denne opgave og forbedre den endda.

For eksempel kan du starte med ideen om en skridttæller ved hjælp af LIS3DHTR og Raspberry Pi. I ovenstående opgave har vi brugt fundamentale beregninger. Acceleration kan være den relevante parameter for at analysere dommen en walking. Du kan kontrollere de tre bevægelseskomponenter for et individ, der er fremad (rulle, X), side (stigning, Y) og lodret (gaffelakse, Z). Et typisk mønster for alle 3 akser registreres. Mindst 1 akse vil have relativt store periodiske accelerationsværdier. Så spidsretning og en algoritme er afgørende. Under hensyntagen til trinets parameter (digitalt filter, topdetektion, tidsvindue osv.) For denne algoritme kan du genkende og tælle trin samt måle afstand, hastighed og i et omfang forbrændte kalorier. Så du kan bruge denne sensor på forskellige måder, du kan overveje. Vi stoler på, at I alle kan lide det! Vi vil forsøge at lave en fungerende gengivelse af denne skridttæller før snarere end senere, konfigurationen, koden, den del, der beregner midlerne til at adskille gang og løb og forbrændte kalorier.

Til din trøst har vi en spændende video på YouTube, som kan hjælpe din undersøgelse. Tro på, at dette projekt motiverer til yderligere udforskning. Fortsæt med at gruble over! Husk at kigge efter, da mere vedholdende kommer.

Anbefalede: