Indholdsfortegnelse:
- Trin 1: Grundlæggende hardware, vi kræver
- Trin 2: Tilslutning af hardwaren
- Trin 3: Python -kodning til Raspberry Pi
- Trin 4: Kodens funktionsdygtighed
- Trin 5: Applikationer og funktioner
- Trin 6: Konklusion
Video: Bevægelseskontrol med Raspberry Pi og LIS3DHTR, 3-akset accelerometer, ved hjælp af Python: 6 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
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
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
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 -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
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:
DIY -- Sådan laver du en edderkoprobot, der kan kontrolleres ved hjælp af smartphone ved hjælp af Arduino Uno: 6 trin
DIY || Sådan laver du en edderkoprobot, der kan styres ved hjælp af smartphone Brug af Arduino Uno: Mens du laver en edderkoprobot, kan man lære så mange ting om robotik. Ligesom at lave robotter er underholdende såvel som udfordrende. I denne video vil vi vise dig, hvordan du laver en Spider -robot, som vi kan betjene ved hjælp af vores smartphone (Androi
Kontrol ledt over hele verden ved hjælp af internet ved hjælp af Arduino: 4 trin
Kontrol ledt over hele verden ved hjælp af internet ved hjælp af Arduino: Hej, jeg er Rithik. Vi kommer til at lave en internetstyret LED ved hjælp af din telefon. Vi kommer til at bruge software som Arduino IDE og Blynk.Det er enkelt, og hvis det lykkedes dig, kan du styre så mange elektroniske komponenter, du ønskerTing We Need: Hardware:
Sådan laver du en drone ved hjælp af Arduino UNO - Lav en quadcopter ved hjælp af mikrokontroller: 8 trin (med billeder)
Sådan laver du en drone ved hjælp af Arduino UNO | Lav en Quadcopter ved hjælp af mikrokontroller: Introduktion Besøg min Youtube -kanal En Drone er en meget dyr gadget (produkt) at købe. I dette indlæg vil jeg diskutere, hvordan jeg gør det billigt ?? Og hvordan kan du lave din egen sådan til en billig pris … Nå i Indien alle materialer (motorer, ESC'er
RF 433MHZ radiostyring ved hjælp af HT12D HT12E - Lav en RF -fjernbetjening ved hjælp af HT12E & HT12D med 433mhz: 5 trin
RF 433MHZ radiostyring ved hjælp af HT12D HT12E | Oprettelse af en RF -fjernbetjening ved hjælp af HT12E & HT12D med 433mhz: I denne instruktør vil jeg vise dig, hvordan du laver en RADIO -fjernbetjening ved hjælp af 433mhz sendermodtagermodul med HT12E -kode & HT12D -dekoder IC.I denne instruktive kan du sende og modtage data ved hjælp af meget meget billige KOMPONENTER SOM: HT
Trådløs fjernbetjening ved hjælp af 2,4 GHz NRF24L01 -modul med Arduino - Nrf24l01 4 -kanals / 6 -kanals sender modtager til Quadcopter - Rc Helikopter - Rc -fly ved hjælp af Arduino: 5 trin (med billeder)
Trådløs fjernbetjening ved hjælp af 2,4 GHz NRF24L01 -modul med Arduino | Nrf24l01 4 -kanals / 6 -kanals sender modtager til Quadcopter | Rc Helikopter | Rc -fly ved hjælp af Arduino: At betjene en Rc -bil | Quadcopter | Drone | RC -fly | RC -båd, vi har altid brug for en modtager og sender, antag at vi til RC QUADCOPTER har brug for en 6 -kanals sender og modtager, og den type TX og RX er for dyr, så vi laver en på vores