Inhoudsopgave:

Versnellingsvariaties volgen met Raspberry Pi en MMA7455 Python gebruiken - Ajarnpa
Versnellingsvariaties volgen met Raspberry Pi en MMA7455 Python gebruiken - Ajarnpa

Video: Versnellingsvariaties volgen met Raspberry Pi en MMA7455 Python gebruiken - Ajarnpa

Video: Versnellingsvariaties volgen met Raspberry Pi en MMA7455 Python gebruiken - Ajarnpa
Video: Raspberry Pi installeren zonder monitor en toetsenbord (headless) 2024, November
Anonim
Image
Image

Ik struikelde niet, ik testte de zwaartekracht. Het werkt nog steeds…

Een weergave van een versnellende spaceshuttle verduidelijkte dat een klok op het hoogste punt van de shuttle sneller zou kiezen dan een aan de basis vanwege de uitdijing van de zwaartekracht. Sommigen beweerden dat versnellen aan boord van de shuttle voor beide klokken hetzelfde zou zijn, dus ze zouden met dezelfde snelheid moeten tikken. Denk er eens over na.

Gedachten, motivatie en zelfs richtlijnen kunnen overal vandaan komen, maar wanneer uw aandacht op innovatie ligt, krijgt het de bijdrage van de personen die zich op dat punt concentreren. Raspberry Pi, de mini, single-board Linux-pc, biedt unieke ondernemingen en meesterlijke raad bij het arrangeren, programmeren en elektronica-ondernemingen. Dichtbij Raspberry Pi en makers van tutorials voor apparaten, krijgen we een kick van de kans om te programmeren en te sleutelen en verbazingwekkende dingen te maken met Computer Science and Electronics squash up. We hadden de laatste tijd het genoegen om een poging te wagen met behulp van een versnellingsmeter en de gedachten achter wat je met deze gadget zou kunnen doen, zijn echt cool. Dus in deze taak zullen we MMA7455 opnemen, een 3-assige digitale accelerometersensor, om versnelling te meten in 3 dimensies, X, Y en Z, met de Raspberry Pi met Python. Laten we eens kijken of het loont.

Stap 1: Hardware die we nodig hebben

Hardware die we nodig hebben
Hardware die we nodig hebben
Hardware die we nodig hebben
Hardware die we nodig hebben

We weten hoe lastig het kan zijn om het te proberen zonder te weten welke onderdelen we moeten krijgen, waar we het vandaan moeten halen en hoeveel alles van tevoren gaat kosten. Dus we hebben al dat werk voor je gedaan. Als je eenmaal alle onderdelen in het kwadraat hebt, zou het een fluitje van een cent moeten zijn om deze taak uit te voeren. Neem na het gaan mee om een complete 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 een enkel bord. Deze kleine pc heeft een enorme impact op het registreren van kracht, gebruikt als een stuk elektronica, en pc-bewerkingen zoals spreadsheets, tekstverwerking, surfen op het web en e-mail, en games. Je kunt er een kopen bij elke elektronica- of hobbywinkel.

2. I2C-schild voor Raspberry Pi

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

3. 3-assige versnellingsmeter, MMA7455

Geproduceerd door Freescale Semiconductor, Inc., is de MMA7455 3-Axis Digital Accelerometer een laagvermogen, een kleinere machinaal bewerkte sensor die geschikt is voor het meten van versnelling langs de X-, Y- en Z-as. We hebben deze sensor verkregen van DCUBE Store

4. Aansluitkabel

We hebben de I2C-verbindingskabel gekocht bij de DCUBE Store

5. Micro-USB-kabel

De minste verstrengeling, maar de meest strikte met betrekking tot stroombehoefte, is de Raspberry Pi! De meest voorgeschreven en minst veeleisende benadering voor het beheer van de strategie is door het gebruik van de micro-USB-kabel. Een meer geavanceerd en gespecialiseerd pad is om specifiek stroom te geven door middel van GPIO- of USB-poorten.

6. Netwerkondersteuning

Koppel uw Raspberry Pi aan een Ethernet-kabel (LAN) en koppel deze aan uw thuisnetwerk. Scan aan de andere kant naar een WiFi-connector en gebruik een van de USB-poorten om naar het externe netwerk te gaan. Het is een scherpe beslissing, fundamenteel, klein en eenvoudig!

7. HDMI-kabel/toegang op afstand

De Raspberry Pi heeft een HDMI-poort die je met een HDMI-kabel met name op een scherm of tv kunt aansluiten. Keuzevak, je kunt SSH gebruiken om met je Raspberry Pi vanaf een Linux-pc of Mac vanaf de terminal tot stand te brengen. Evenzo klinkt PuTTY, een gratis en open-source terminalemulator, als een slimme gedachte.

Stap 2: De hardware aansluiten

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

Maak het circuit zoals aangegeven door het schema dat is verschenen. In het schema ziet u de aansluitingen van verschillende elektronische componenten, aansluitdraden, stroomkabels en I2C-sensor.

Raspberry Pi en I2C Shield-verbinding

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

Raspberry Pi en sensorverbinding

Neem de sensor en koppel de I2C-kabel ermee. Raadpleeg voor de juiste werking van deze kabel I2C-uitgang neemt ALTIJD de I2C-ingang in beslag. Hetzelfde moet worden gedaan voor de Raspberry Pi met het I2C-schild dat over de GPIO-pinnen is gemonteerd.

We raden het gebruik van de I2C-kabel aan, omdat het de vereiste voor het ontleden van pinouts, beveiliging en moeite die zelfs door de meest bescheiden rommel wordt bereikt, tenietdoet. Met deze belangrijke associatie- en afspeelkabel kunt u presenteren, apparaten verwisselen of meer gadgets toevoegen aan een geschikte toepassing. Dit ondersteunt het werkgewicht tot een enorm niveau.

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

Internettoegang is de sleutel

Om ons streven te laten slagen, hebben we een internetverbinding nodig voor onze Raspberry Pi. Hiervoor heb je alternatieven zoals een Ethernet (LAN) join met het thuisnetwerk. Als alternatief is het ook een bevredigende cursus om een WiFi USB-connector te gebruiken. Over het algemeen heb je een chauffeur nodig om het te laten werken. Dus neig naar degene met Linux in de afbakening.

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 op een andere monitor/tv aansluiten. Soms moet je naar een Raspberry Pi gaan zonder deze met een scherm te verbinden of moet je er misschien informatie van ergens anders vandaan bekijken. Mogelijk zijn er creatieve en fiscaal slimme manieren om alles weloverwogen aan te pakken. Een daarvan gebruikt - SSH (remote command-line login). U kunt daarvoor ook de PuTTY-software gebruiken.

Stap 3: Python-codering voor Raspberry Pi

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

Je kunt de Python-code voor de Raspberry Pi en MMA7455-sensor zien in onze GithubRepository.

Voordat u doorgaat met de code, moet u ervoor zorgen dat u de normen in de Readme-kroniek leest en uw Raspberry Pi instelt zoals erdoor wordt aangegeven. Het zal in het licht van de huidige omstandigheden gewoon een minuutje verlichting zijn.

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.

Het gaat met de python-code en je kunt de code klonen en wijzigen op elke manier die je neigt.

# 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. # MMA7455L # Deze code is ontworpen om te werken met de MMA7455L_I2CS I2C Mini Module verkrijgbaar bij dcubestore.com # https://dcubestore.com/product/mma7455l-3-axis-low-g-digital-output-accelerometer-i%C2 %B2c-minimodule/

import smbus

import tijd

# Krijg I2C-bus

bus = smbus. SMBus(1)

# MMA7455L adres, 0x1D (16)

# Select mode control register, 0x16(22) # 0x01(01) Measurement Mode, +/- 8g bus.write_byte_data(0x1D, 0x16, 0x01)

tijd.slaap(0.5)

# MMA7455L adres, 0x1D (16)

# Lees data terug van 0x00(00), 6 bytes # X-Axis LSB, X-Axis MSB, Y-Axis LSB, Y-Axis MSB, Z-Axis LSB, Z-Axis MSB data=bus.read_i2c_block_data(0x1D, 0x00, 6)

# Converteer de gegevens naar 10-bits

xAccl = (data[1] & 0x03) * 256 + data [0] als xAccl > 511: xAccl -= 1024 yAccl = (data[3] & 0x03) * 256 + data [2] als yAccl > 511: yAccl - = 1024 zAccl = (data[5] & 0x03) * 256 + data [4] als zAccl > 511: zAccl -= 1024

# 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 uitvoerbaarheid van de code

De uitvoerbaarheid van de code
De uitvoerbaarheid 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 weergeven. Om ervoor te zorgen dat alles gemakkelijk werkt, kun je deze wandeling elke dag gebruiken of deze wandeling een klein onderdeel maken van een veel prominentere taak. Wat je ook nodig hebt, je hebt nu nog een ding in je bijeenkomst.

Stap 5: Toepassingen en functies

De MMA7455, vervaardigd door Freescale Semiconductor, een krachtige 3-assige digitale accelerometer met laag vermogen, kan worden gebruikt voor sensorgegevenswijzigingen, productoriëntatie en bewegingsdetectie. Het is perfect voor toepassingen zoals mobiele telefoons/PMP/PDA: Oriëntatiedetectie (Portret/Landschap), Beeldstabiliteit, Tekst scrollen, Bewegingskeuze, Tikken om te dempen, Laptop PC: Antidiefstal, Gaming: Bewegingsdetectie, Auto-Wake/ Slaapstand voor laag stroomverbruik en digitale fotocamera: beeldstabiliteit.

Stap 6: Conclusie

Als je erover hebt nagedacht om het universum van de Raspberry Pi- en I2C-sensoren te verkennen, dan kun je jezelf een schok geven door gebruik te maken van de basisprincipes van de hardware, codering, rangschikking, gezaghebbend, enz. Wanneer je probeert creatiever te zijn in je kleine onderneming, het schaadt nooit om naar externe bronnen te zwaaien. Bij deze methode kunnen er een paar boodschappen zijn die eenvoudig kunnen zijn, terwijl sommige u misschien op de proef stellen, u ontroeren. In ieder geval kun je een weg banen en deze foutloos maken door de jouwe te veranderen en een formatie te maken.

U kunt bijvoorbeeld beginnen met de gedachte aan een Gravimeter-prototype om het lokale zwaartekrachtveld van de aarde te meten met MMA7455 en Raspberry Pi met Python. In de bovenstaande onderneming hebben we fundamentele berekeningen gebruikt. Het basisprincipe van het ontwerp is het meten van zeer kleine fractionele veranderingen binnen de zwaartekracht van de aarde van 1 g. U kunt deze sensor dus op verschillende manieren gebruiken die u kunt overwegen. Het algoritme meet de veranderingssnelheid van de verticale zwaartekrachtvector in alle drie loodrechte richtingen die aanleiding geven tot een zwaartekrachtgradiënttensor. Het kan worden afgeleid door de waarde van de zwaartekracht te differentiëren op twee punten gescheiden door een kleine verticale afstand, l, en te delen door deze afstand. We zullen proberen om eerder vroeger dan later een werkende versie van dit prototype te maken, de configuratie, de code en modellering werken voor structuurgeluid- en trillingsanalyse. We geloven dat jullie het allemaal leuk vinden!

Voor uw troost hebben we een betoverende video op YouTube die u kan helpen bij uw examen. Vertrouw op dit streven routes verder onderzoek. Als de kans niet klopt, bouw dan een deur.

Aanbevolen: