Inhoudsopgave:

Bewegingsbesturing met Raspberry Pi en LIS3DHTR, 3-assige versnellingsmeter, met Python - Ajarnpa
Bewegingsbesturing met Raspberry Pi en LIS3DHTR, 3-assige versnellingsmeter, met Python - Ajarnpa

Video: Bewegingsbesturing met Raspberry Pi en LIS3DHTR, 3-assige versnellingsmeter, met Python - Ajarnpa

Video: Bewegingsbesturing met Raspberry Pi en LIS3DHTR, 3-assige versnellingsmeter, met Python - Ajarnpa
Video: Killzone Развитие Серии | Мнение об игре | Хронология 2024, November
Anonim
Image
Image
Basishardware die we nodig hebben
Basishardware die we nodig hebben

Schoonheid omringt ons, maar meestal moeten we in een tuin lopen om het te weten. - Rumi

Als de goed opgeleide groep die we lijken te zijn, investeren we het overgrote deel van onze energie in het werken voor onze pc's en mobiele telefoons. Daarom laten we ons welzijn vaak de secundaire lounge innemen, vinden nooit echt een ideale gelegenheid om naar de sportschool of een fitnessles te gaan en kiezen in de regel fastfood boven veel voordeligere keuzes. Het opbeurende nieuws is of je nu alleen maar wat hulp nodig hebt bij het bijhouden van gegevens of om je vooruitgang te volgen, je kunt de innovatie van vandaag gebruiken om een gadget te maken om jezelf te helpen.

De technologie ontwikkelt zich snel. Consequent krijgen we lucht van een nieuwe innovatie die de wereld en de manier waarop we erin leren zal veranderen. Als je van pc's, coderen en robots houdt of gewoon van knutselen houdt, is er een technische zegen. Raspberry Pi, de micro-, single-board Linux-computer, is toegewijd aan het verbeteren van de manier waarop je leert met de innovatieve technologie, maar ook aan de sleutel tot het verbeteren van het leren in het onderwijs over de hele wereld. Dus wat zijn de mogelijke resultaten van wat we kunnen doen als we een Raspberry Pi en een 3-assige versnellingsmeter in de buurt hebben? Wat als we dit vinden! In deze taak zullen we de versnelling controleren op 3 loodrechte assen, X, Y en Z met behulp van Raspberry Pi en LIS3DHTR, een 3-assige versnellingsmeter. Dus we zouden tijdens deze reis een systeem moeten maken om de driedimensionale versnelling omhoog of G-kracht te controleren.

Stap 1: Basishardware die we nodig hebben

Basishardware die we nodig hebben
Basishardware die we nodig hebben
Basishardware die we nodig hebben
Basishardware die we nodig hebben

De problemen waren minder voor ons, omdat we een enorme hoeveelheid spullen hebben om mee te werken. Hoe dan ook, we weten hoe lastig het is voor anderen om het juiste onderdeel in onberispelijke tijd vanaf de nuttige plek te verzamelen en dat wordt verdedigd met weinig aandacht voor elke cent. Dus we zouden je helpen. Volg de bijgaande lijst om een volledige onderdelenlijst te krijgen.

1. Raspberry Pi

De eerste stap was het aanschaffen van een Raspberry Pi-bord. De Raspberry Pi is een op Linux gebaseerde pc met één bord. Deze kleine pc biedt veel rekenkracht, wordt gebruikt als onderdeel van gadgets-activiteiten en eenvoudige bewerkingen zoals spreadsheets, woordvoorbereiding, webscannen en e-mail, en games.

2. I2C-schild voor Raspberry Pi

Het belangrijkste punt van zorg dat de Raspberry Pi echt afwezig is, is een I²C-poort. Dus daarvoor geeft de TOUTPI2 I²C-connector je het gevoel om Rasp Pi te gebruiken met ELK van I²C-apparaten. Het is beschikbaar in de DCUBE Store

3. 3-assige versnellingsmeter, LIS3DHTR

De LIS3DH is een ultra-low-power high-performance lineaire versnellingsmeter met drie assen die behoort tot de "nano" -familie, met standaard digitale I2C/SPI seriële interface-uitgang. We hebben deze sensor gekocht bij DCUBE Store

4. Aansluitkabel

We hebben de I2C-verbindingskabel gekocht bij de DCUBE Store

5. Micro-USB-kabel

De kleinste verbijsterde, maar toch meest strikte in de mate dat stroom nodig is, is de Raspberry Pi! De eenvoudigste manier om te handelen is door het gebruik van de Micro USB-kabel.

6. Webtoegang is een noodzaak

INTERNET kinderen slapen NOOIT

Koppel uw Raspberry Pi aan een Ethernet-kabel (LAN) en sluit deze aan op uw netwerkrouter. Keuzevak, zoek naar een WiFi-connector en gebruik een van de USB-poorten om bij het externe systeem te komen. Het is een scherpe beslissing, eenvoudig, klein en slordig!

7. HDMI-kabel/toegang op afstand

De Raspberry Pi heeft een HDMI-poort die je met een HDMI-kabel specifiek op een scherm of tv kunt aansluiten. Keuzevak, je kunt SSH gebruiken om te associëren met je Raspberry Pi vanaf een Linux-pc of Macintosh vanaf de terminal. Evenzo klinkt PuTTY, een gratis en open-source terminalemulator, als een goed alternatief.

Stap 2: De hardware aansluiten

De hardware aansluiten
De hardware aansluiten
De hardware aansluiten
De hardware aansluiten
De hardware aansluiten
De hardware aansluiten

Maak de schakeling volgens het verschenen schema. Maak een diagram en volg de schets precies. Verbeelding is belangrijker dan kennis.

Aansluiting van de Raspberry Pi en I2C Shield

Neem vooral de Raspberry Pi en zie het I2C-schild erop. Druk het schild voorzichtig over de GPIO-pinnen van Pi en we zijn klaar met deze progressie zo simpel als taart (zie de module).

Aansluiting van de Sensor en Raspberry Pi

Neem de sensor en koppel de I2C-kabel ermee. Voor de juiste werking van deze kabel dient u eraan te herinneren dat de I2C-uitgang ALTIJD geassocieerd is met de I2C-ingang. Hetzelfde moet worden gedaan voor de Raspberry Pi met het I2C-schild erop gemonteerd, de GPIO-pinnen.

We onderschrijven het gebruik van de I2C-kabel omdat het de noodzaak van het onderzoeken van pinouts, bevestiging en ongemak veroorzaakt door zelfs de kleinste fout, teniet doet. Met deze fundamentele bevestigings- en speelkabel kun je effectief presenteren, gadgets verwisselen of meer gadgets toevoegen aan een applicatie. Dit vergemakkelijkt het werkgewicht tot een aanzienlijk niveau.

Opmerking: de bruine draad moet betrouwbaar de aardverbinding (GND) volgen tussen de uitgang van het ene apparaat en de ingang van een ander apparaat

Webnetwerk is de sleutel

Om van ons streven een succes te maken, hebben we een internetkoppeling nodig voor onze Raspberry Pi. Hiervoor heb je keuzes zoals het koppelen van een Ethernet (LAN)-kabel aan het thuisnetwerk. Bovendien, als alternatief, hoe het ook zij, een accommoderende cursus is het gebruik van een WiFi USB-connector. Hiervoor heb je in de regel een chauffeur nodig om het te laten werken. Dus neig naar degene met Linux in de beschrijving.

Stroomvoorziening

Steek de micro-USB-kabel in de stroomaansluiting van de Raspberry Pi. Opschieten en we zijn er klaar voor.

Verbinding met scherm

We kunnen de HDMI-kabel koppelen aan een ander scherm. In sommige gevallen moet je naar een Raspberry Pi gaan zonder deze met een scherm te verbinden, of je moet er misschien wat gegevens van ergens anders bekijken. Het is denkbaar dat er innovatieve en financieel onderlegde benaderingen zijn om dit als zodanig te doen. Een daarvan maakt gebruik van -SSH (remote command-line login). U kunt daarvoor ook de PUTTY-software gebruiken. Deze zijn voor gevorderde gebruikers. De details zijn hier dus niet opgenomen.

Stap 3: Python-codering voor Raspberry Pi

Python-codering voor Raspberry Pi
Python-codering voor Raspberry Pi

De Python-code voor de Raspberry Pi en LIS3DHTR-sensor is toegankelijk in onze GithubRepository.

Voordat u doorgaat met de code, moet u ervoor zorgen dat u de regels in het Readme-archief leest en uw Raspberry Pi overeenkomstig deze instelt. Het zal even uitrusten om alles in overweging te nemen.

Een versnellingsmeter is een elektromechanisch apparaat dat versnellingskrachten meet. Deze krachten kunnen statisch zijn, vergelijkbaar met de constante zwaartekracht die aan je voeten trekt, of ze kunnen veranderlijk zijn - veroorzaakt door de versnellingsmeter te bewegen of te trillen.

De bijgevoegde is de python-code en je kunt de code klonen en aanpassen op elke gewenste manier.

# Gedistribueerd met een vrije licentie. # Gebruik het zoals je wilt, winst of gratis, op voorwaarde dat het past in de licenties van de bijbehorende werken. # LIS3DHTR # Deze code is ontworpen om te werken met de LIS3DHTR_I2CS I2C Mini Module verkrijgbaar bij dcubestore.com # https://dcubestore.com/product/lis3dhtr-3-axis-accelerometer-digital-output-motion-sensor-i%C2 %B2c-minimodule/

import smbus

import tijd

# Krijg I2C-bus

bus = smbus. SMBus(1)

# LIS3DHTR-adres, 0x18(24)

# Select control register1, 0x20(32) # 0x27(39) Power ON-modus, Selectie datasnelheid = 10 Hz # X, Y, Z-as ingeschakeld bus.write_byte_data(0x18, 0x20, 0x27) # LIS3DHTR-adres, 0x18(24) # Select control register4, 0x23(35) # 0x00(00) Continue update, Full-scale selectie = +/-2G bus.write_byte_data(0x18, 0x23, 0x00)

tijd.slaap(0.5)

# LIS3DHTR-adres, 0x18(24)

# Lees data terug van 0x28(40), 2 bytes # X-Axis LSB, X-Axis MSB data0 = bus.read_byte_data(0x18, 0x28) data1 = bus.read_byte_data(0x18, 0x29)

# Converteer de gegevens

xAccl = data1 * 256 + data0 als xAccl > 32767: xAccl -= 65536

# LIS3DHTR-adres, 0x18(24)

# Lees data terug van 0x2A(42), 2 bytes # Y-Axis LSB, Y-Axis MSB data0 = bus.read_byte_data(0x18, 0x2A) data1 = bus.read_byte_data(0x18, 0x2B)

# Converteer de gegevens

yAccl = data1 * 256 + data0 als yAccl > 32767: yAccl -= 65536

# LIS3DHTR-adres, 0x18(24)

# Lees data terug van 0x2C(44), 2 bytes # Z-Axis LSB, Z-Axis MSB data0 = bus.read_byte_data(0x18, 0x2C) data1 = bus.read_byte_data(0x18, 0x2D)

# Converteer de gegevens

zAccl = data1 * 256 + data0 als zAccl > 32767: zAccl -= 65536

# Gegevens uitvoeren naar scherm

print "Versnelling in X-as: %d" %xAccl print "Versnelling in Y-as: %d" %yAccl print "Versnelling in Z-as: %d" %zAccl

Stap 4: De werkbaarheid van de code

De werkbaarheid van de code
De werkbaarheid van de code

Download (of git pull) de code van Github en open deze in de Raspberry Pi.

Voer de opdrachten uit om de code te compileren en te uploaden in de terminal en bekijk de opbrengst op het scherm. Na een paar minuten zal het elk van de parameters demonstreren. Door te garanderen dat alles moeiteloos werkt, kunt u deze uitdaging tot een meer opmerkelijke onderneming maken.

Stap 5: Toepassingen en functies

De LIS3DHTR, vervaardigd door STMicroelectronics, heeft dynamisch door de gebruiker selecteerbare volledige schalen van ±2g/±4g/±8g/±16g en is in staat om versnellingen te meten met uitvoerdatasnelheden van 1Hz tot 5kHz. De LIS3DHTR is geschikt voor door beweging geactiveerde functies en vrijevaldetectie. Het kwantificeert de statische versnelling van de zwaartekracht in tilt-detecterende toepassingen, en daarnaast de dynamische versnelling die optreedt vanwege beweging of schokken. Andere toepassingen zijn onder meer klik-/dubbelklikherkenning, intelligente energiebesparing voor draagbare apparaten, stappenteller, weergaveoriëntatie, gaming- en virtual reality-invoerapparaten, impactherkenning en logboekregistratie en trillingsbewaking en -compensatie.

Stap 6: Conclusie

Vertrouw erop dat deze onderneming verdere experimenten stimuleert. Deze I2C-sensor is fenomenaal aanpasbaar, bescheiden en beschikbaar. Omdat het een tot op zekere hoogte vergankelijk kader is, zijn er interessante manieren om deze opdracht uit te breiden en zelfs te verbeteren.

U kunt bijvoorbeeld beginnen met het idee van een stappenteller met behulp van de LIS3DHTR en Raspberry Pi. In de bovenstaande taak hebben we fundamentele berekeningen gebruikt. Versnelling kan de relevante parameter zijn om de uitspraak van lopen te analyseren. U kunt de drie bewegingscomponenten van een persoon controleren: voorwaarts (rollen, X), zijwaarts (pitch, Y) en verticaal (gieras, Z). Een typisch patroon van alle 3 de assen wordt vastgelegd. Ten minste 1 as zal relatief grote periodieke versnellingswaarden hebben. Piekrichting en een algoritme zijn dus essentieel. Rekening houdend met de stappenparameter (digitale filter, piekdetectie, tijdvenster, enz.) van dit algoritme, kunt u stappen herkennen en tellen, evenals afstand, snelheid en - tot op zekere hoogte - verbrande calorieën meten. U kunt deze sensor dus op verschillende manieren gebruiken die u kunt overwegen. We vertrouwen erop dat jullie het allemaal leuk vinden! We zullen proberen om eerder vroeger dan later een werkende weergave van deze stappenteller te maken, de configuratie, de code, het onderdeel dat de middelen berekent om lopen en rennen en verbrande calorieën te scheiden.

Voor uw troost hebben we een intrigerende video op YouTube die u kan helpen bij uw onderzoek. Vertrouw erop dat deze onderneming verdere verkenning motiveert. Blijf piekeren! Vergeet niet om voor te zorgen, want er komt steeds meer bij.

Aanbevolen: