Inhoudsopgave:

Versnelling bewaken met Raspberry Pi en AIS328DQTR met Python - Ajarnpa
Versnelling bewaken met Raspberry Pi en AIS328DQTR met Python - Ajarnpa

Video: Versnelling bewaken met Raspberry Pi en AIS328DQTR met Python - Ajarnpa

Video: Versnelling bewaken met Raspberry Pi en AIS328DQTR met Python - Ajarnpa
Video: 2022 - Home Assistant op een Raspberry PI installeren #21 2024, Juli-
Anonim
Image
Image

Versnelling is eindig, denk ik volgens sommige wetten van de natuurkunde.- Terry Riley

Een jachtluipaard maakt gebruik van verbazingwekkende versnelling en snelle veranderingen in snelheid tijdens het jagen. Het snelste schepsel aan de wal gebruikt af en toe zijn hoogste tempo om een prooi te vangen. De wezens krijgen deze snelheid door bijna vijf keer meer kracht toe te passen dan die van Usain Bolt tijdens zijn recordbrekende 100 m-run.

In de huidige tijd kunnen individuen zich hun bestaan niet voorstellen zonder innovatie. Om ons heen helpen verschillende innovaties mensen om extravaganter door te gaan met hun bestaan. Raspberry Pi, de mini, single board Linux-pc, biedt een goedkope en respectabele basis voor elektronica-inspanningen en geavanceerde ontwikkelingen zoals IoT, Smart Cities en schoolonderwijs. Als fans van computers en gadgets hebben we een behoorlijke stap genomen met de Raspberry Pi en hebben we ervoor gekozen om onze interesses te combineren. 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? In deze taak zullen we AIS328DQTR opnemen, een digitale 3-assige MEMS lineaire versnellingsmetersensor, om versnelling in 3 richtingen, X, Y en Z, te meten met de Raspberry Pi met Python. Dat is het onderzoeken waard.

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

De problemen waren minder voor ons, omdat we een enorme hoeveelheid spullen hebben om mee te werken. We weten in ieder geval hoe lastig het is voor anderen om het juiste onderdeel op tijd van de sterke plek weg te zetten en dat is beschermd met weinig aandacht voor elke cent. Dus we zouden je helpen.

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 is krachtig in 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, AIS328DQTR

Behorend tot de STMicroelectronics bewegingssensoren, is de AIS328DQTR een ultra-low-power high-performance 3-assige lineaire versnellingsmeter met een digitale seriële interface SPI-standaarduitgang. We hebben deze sensor gekocht bij DCUBE Store

4. Aansluitkabel

We hebben de I2C-verbindingskabel gekocht bij DCUBE Store

5. Micro-USB-kabel

De meest nederige verbijsterde, maar toch meest strikte energiebehoefte is de Raspberry Pi! De eenvoudigste manier om met het spelplan om te gaan, is door het gebruik van de micro-USB-kabel. GPIO-pinnen of USB-poorten kunnen op dezelfde manier worden gebruikt om voldoende stroomvoorziening te geven.

6. Webtoegang is een noodzaak

Koppel uw Raspberry Pi aan een Ethernet-kabel (LAN) en koppel deze aan uw netwerk. 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 speciaal op een monitor of tv kunt aansluiten. Keuzevak, je kunt SSH gebruiken om je Raspberry Pi op te halen vanaf een Linux-pc of Macintosh vanaf de terminal. PuTTY, een gratis en open-source terminalemulator, klinkt ook als een niet zo slechte keuze.

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 de grafiek zie je de verschillende onderdelen, stroomfragmenten en I2C-sensor.

Raspberry Pi en I2C Shield-verbinding

Het belangrijkste is dat je de Raspberry Pi neemt en het I2C-schild erop ziet. Druk het schild voorzichtig over de GPIO-pinnen van Pi en we zijn klaar met deze stap zo eenvoudig 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 moedigen het gebruik van de I2C-kabel aan, omdat het de vereiste voor het ontleden van pinouts, beveiliging en moeite die wordt bereikt door zelfs de meest bescheiden rommel, 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 de aardverbinding (GND) tussen de uitgang van het ene apparaat en de ingang van een ander apparaat betrouwbaar volgen

Webnetwerk is de sleutel

Om onze poging te laten winnen, hebben we een internetverbinding nodig voor onze Raspberry Pi. Hiervoor heb je opties zoals het koppelen van een Ethernet (LAN) join met het thuisnetwerk. Bovendien is het natuurlijk prettig om als optie gebruik te maken van een WiFi USB-aansluiting. Over het algemeen heb je hiervoor een chauffeur nodig om het te laten werken. Dus neig naar degene met Linux in de afbeelding.

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 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

U kunt de Python-code voor de Raspberry Pi en AIS328DQTR-sensor bekijken in onze Github-repository.

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.

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. # AIS328DQTR # Deze code is ontworpen om te werken met de AIS328DQTR_I2CS I2C Mini Module verkrijgbaar bij dcubestore.com # https://dcubestore.com/product/ais328dqtr-high-performance-ultra-low-power-3-axis-accelerometer-with -digitale-uitgang-voor-auto-toepassingen-i%C2%B2c-mini-module/

import smbus

import tijd

# Krijg I2C-bus

bus = smbus. SMBus(1)

# AIS328DQTR-adres, 0x18 (24)

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

tijd.slaap(0.5)

# AIS328DQTR-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

# AIS328DQTR-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

# AIS328DQTR-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 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. Het duurt enkele minuten en het zal alle parameters vertonen. Om te garanderen dat alles moeiteloos werkt, kun je deze onderneming elke dag gebruiken of deze onderneming een klein onderdeel maken van een veel grotere opdracht. Wat je ook nodig hebt, je hebt nu nog een ding in je accumulatie.

Stap 5: Toepassingen en functies

Vervaardigd door STMicroelectronics, ultracompacte low-power high-performance 3-assige lineaire versnellingsmeter die behoort tot de bewegingssensoren. De AIS328DQTR is geschikt voor toepassingen zoals telematica en zwarte dozen, autonavigatie in het dashboard, kantel-/hellingmeting, antidiefstalapparaat, intelligente energiebesparing, schokherkenning en registratie, trillingsbewaking en -compensatie en bewegingsgeactiveerde functies.

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. Bij deze methode kunnen er een paar boodschappen zijn die kan eenvoudig zijn, terwijl sommigen je misschien op de proef stellen, je 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 Behavior Tracker-prototype om de fysieke bewegingen en lichaamshoudingen van dieren te volgen en weer te geven met AIS328DQTR en Raspberry Pi met Python. In de bovenstaande taak hebben we fundamentele berekeningen van een versnellingsmeter gebruikt. Het protocol is om een systeem van versnellingsmeters te creëren samen met elke gyrometer en een GPS, en een begeleid (machine) leeralgoritme (ondersteuningsvectormachine (SVM)) voor geautomatiseerde gedragsidentificatie van dieren. Dit moet worden gevolgd door het verzamelen van parallelle sensormetingen en evaluatie van de metingen met behulp van support vector machine (SVM) classificatie. Gebruik verschillende combinaties van onafhankelijke metingen (zitten, lopen of rennen) voor training en validatie om de robuustheid van het prototype te bepalen. We zullen proberen om eerder vroeger dan later een werkende versie van dit prototype te maken, de configuratie, de code en modellering werken voor meer gedragsmodi. We geloven dat jullie het allemaal leuk vinden!

Voor uw comfort hebben we een charmante video op YouTube die u kan helpen bij uw onderzoek. Vertrouw erop dat dit streven verdere verkenning motiveert. Begin waar je bent. Gebruik wat je hebt. Doe wat je kan.

Aanbevolen: