Inhoudsopgave:
- Stap 1: Basishardware die we nodig hebben
- Stap 2: De hardware aansluiten
- Stap 3: Python-codering voor Raspberry Pi
- Stap 4: De uitvoerbaarheid van de code
- Stap 5: Toepassingen en functies
- Stap 6: Conclusie
Video: 3-Axis Accelerometer, ADXL345 met Raspberry Pi met Python - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
Denkend aan een gadget dat kan controleren op welk punt uw Offroader wordt gekanteld om te blijven hangen. Zou het niet prettig zijn als iemand wordt afgesteld als de kans op kantelen bestaat? Duidelijk ja. Het zou echt nuttig zijn voor mensen die graag de bergen in gaan en zakenreizen.
Zonder twijfel, een werkelijk briljante periode van geavanceerde cijferevaluatie, IoT staat voor de deur. Als liefhebbers van gadgets en programmeren geloven we dat Raspberry Pi, de micro-Linux-pc, de creatieve vaardigheden van mensen in het algemeen heeft behandeld, met een explosie in innovatieve methodologieën. Dus wat zijn de denkbare resultaten die we kunnen doen in het geval dat we een Raspberry Pi en een 3-assige versnellingsmeter in de buurt hebben? We moeten ontdekken! In deze taak zullen we de versnelling op 3 assen, X, Y en Z, voelen met behulp van Raspberry Pi en ADXL345, een 3-assige versnellingsmeter. Dus we moeten observeren tijdens deze excursie om een raamwerk te fabriceren om de driedimensionale versnelling omhoog of G-kracht te meten.
Stap 1: Basishardware die we nodig hebben
De problemen waren minder voor ons, omdat we een hoop spullen hebben om mee te werken. Desalniettemin weten we hoe lastig het voor anderen is om het juiste onderdeel op de juiste tijd op de juiste plek te monteren en dat is ongeacht elke cent gerechtvaardigd. Zo helpen we je in alle regio's. Lees het volgende voor een volledige onderdelenlijst.
1. Raspberry Pi
De eerste stap was het aanschaffen van een Raspberry Pi-bord. Deze kleine, energiezuinige computer biedt een goedkope en over het algemeen eenvoudige basis voor elektronica-ondernemingen, Internet of Things (IoT), Smart Cities, schoolonderwijs.
2. I2C-schild voor Raspberry Pi
Het belangrijkste dat de Raspberry Pi echt mist, is een I²C-poort. Dus daarvoor geeft de TOUTPI2 I²C-connector je het gevoel om Rasp Pi te gebruiken met MEERDERE I²C-apparaten. Het is toegankelijk in de DCUBE Store
3. 3-assige versnellingsmeter, ADXL345
De ADXL345, vervaardigd door Analog Devices, is een 3-assige accelerometer met laag vermogen en 13-bits meting met hoge resolutie tot ±16g. We hebben deze sensor gekocht bij DCUBE Store
4. Aansluitkabel
We hadden de I2C-verbindingskabel toegankelijk bij DCUBE Store
5. Micro-USB-kabel
De minste verwarde, maar toch meest strikte wat betreft stroombehoefte is de Raspberry Pi! De meest moeiteloze manier om de Raspberry Pi op te starten is door middel van de Micro USB-kabel.
6. Webtoegang is een noodzaak
Toegang tot internet kan worden verleend via een Ethernet-kabel (LAN) die is gekoppeld aan een lokaal netwerk en internet. Aan de andere kant kunt u verbinding maken met een draadloos netwerk met behulp van een draadloze USB-dongle, waarvoor configuratie vereist is.
7. HDMI-kabel/toegang op afstand
Met HDMI-kabel aan boord kunt u hem aansluiten op een digitale tv of op een monitor. Noodzaak om geld te sparen! Raspberry Pi kan op afstand worden gebruikt om onderscheidende strategieën zoals SSH en Access via het web te gebruiken. U kunt de PuTTYopen source-software gebruiken.
Stap 2: De hardware aansluiten
Maak de schakeling volgens het verschenen schema. Maak een schets en ga bewust voor de configuratie.
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 schrijven het gebruik van de I2C-kabel voor, omdat deze de vereiste voor het doorlezen van pinouts, solderen en malaise, veroorzaakt door zelfs de kleinste blunder, weerlegt. Met deze eenvoudige plug-and-play-kabel kunt u eenvoudig apparaten introduceren, verwisselen of meer apparaten toevoegen aan een toepassing. Dit maakt het ongecompliceerd.
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 onze onderneming tot een succes te maken, hebben we een internetverbinding nodig voor onze Raspberry Pi. Hiervoor heb je alternatieven zoals een Ethernet(LAN)-kabel koppelen aan het thuissysteem. Daarnaast is het als optie echter een handige manier om een WiFi-connector te gebruiken. Soms 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. Steek het aan en we zijn klaar om te gaan.
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.
Stap 3: Python-codering voor Raspberry Pi
De Python-code voor de Raspberry Pi en ADXL345-sensor is toegankelijk in onze Github-repository.
Voordat u doorgaat met de code, moet u ervoor zorgen dat u de richtlijnen in het Readme-document leest en uw Raspberry Pi volgens de code instelt. Het zal gewoon een minuut pauzeren om als zodanig te doen.
Een versnellingsmeter is een apparaat dat de juiste versnelling meet; juiste versnelling is niet hetzelfde als coördinaatversnelling (snelheid van verandering van snelheid). Een- en meerassige modellen van de versnellingsmeter zijn toegankelijk om de grootte en richting van de juiste versnelling te identificeren, als een vectorgrootheid, en kunnen worden gebruikt om oriëntatie te detecteren, versnelling, trillingen, schokken en vallen in een resistief medium te detecteren.
De code is duidelijk voor je en het is in de meest eenvoudige structuur die je je kunt voorstellen en je zou geen problemen moeten hebben.
# 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. # ADXL345 # Deze code is ontworpen om te werken met de ADXL345_I2CS I2C Mini Module die verkrijgbaar is bij dcubestore.com # https://dcubestore.com/product/adxl345-3-axis-accelerometer-13-bit-i%C2%B2c-mini -module/
import smbus
import tijd
# Krijg I2C-bus
bus = smbus. SMBus(1)
# ADXL345 adres, 0x53(83)
# Selecteer bandbreedtesnelheidsregister, 0x2C(44) # 0x0A(10) Normale modus, uitgangsgegevenssnelheid = 100 Hz bus.write_byte_data(0x53, 0x2C, 0x0A) # ADXL345-adres, 0x53(83) # Selecteer vermogensregelingsregister, 0x2D(45) # 0x08(08) Auto Sleep uitschakelen bus.write_byte_data(0x53, 0x2D, 0x08) # ADXL345 adres, 0x53(83) # Select data format register, 0x31(49) # 0x08(08) Zelftest uitgeschakeld, 4-draads interface # Volledige resolutie, bereik = +/-2g bus.write_byte_data (0x53, 0x31, 0x08)
tijd.slaap(0.5)
# ADXL345 adres, 0x53(83)
# Lees data terug van 0x32(50), 2 bytes # X-Axis LSB, X-Axis MSB data0 = bus.read_byte_data(0x53, 0x32) data1 = bus.read_byte_data(0x53, 0x33)
# Converteer de gegevens naar 10-bits
xAccl = ((data1 & 0x03) * 256) + data0 als xAccl > 511: xAccl -= 1024
# ADXL345 adres, 0x53(83)
# Lees data terug van 0x34(52), 2 bytes # Y-Axis LSB, Y-Axis MSB data0 = bus.read_byte_data(0x53, 0x34) data1 = bus.read_byte_data(0x53, 0x35)
# Converteer de gegevens naar 10-bits
yAccl = ((data1 & 0x03) * 256) + data0 als yAccl > 511: yAccl -= 1024
# ADXL345 adres, 0x53(83)
# Lees data terug van 0x36(54), 2 bytes # Z-Axis LSB, Z-Axis MSB data0 = bus.read_byte_data(0x53, 0x36) data1 = bus.read_byte_data(0x53, 0x37)
# Converteer de gegevens naar 10-bits
zAccl = ((data1 & 0x03) * 256) + data0 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
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 uitvoer op Monitor. Na enkele ogenblikken zal het alle parameters tonen. Nadat u ervoor heeft gezorgd dat alles gemakkelijk werkt, kunt u deze onderneming naar een grotere taak tillen.
Stap 5: Toepassingen en functies
De ADXL345 is een kleine, dunne, ultralaag vermogen, 3-assige accelerometer met hoge resolutie (13-bits) meting tot ±16 g. De ADXL345 is geschikt voor mobiele telefoontoepassingen. Het kwantificeert de statische versnelling van de zwaartekracht in kanteldetectietoepassingen en daarnaast de dynamische versnelling die op komst is vanwege beweging of schokken. Andere toepassingen zijn onder meer handsets, medische instrumenten, gaming- en aanwijsapparatuur, industriële instrumenten, persoonlijke navigatieapparatuur en bescherming van de harde schijf (HDD).
Stap 6: Conclusie
Ik hoop dat deze taak verdere experimenten motiveert. Deze I2C-sensor is buitengewoon flexibel, goedkoop en toegankelijk. Aangezien het een in hoge mate vergankelijk systeem is, zijn er interessante manieren om deze taak te verbreden en zelfs te verbeteren.
U kunt bijvoorbeeld beginnen met het idee van een hellingsmeter met behulp van de ADXL345 en Raspberry Pi. In het bovenstaande project hebben we basisberekeningen gebruikt. U kunt de code improviseren voor G-waarden, hellingshoeken (of hellingshoeken), elevatie of depressie van een object ten opzichte van de zwaartekracht. Vervolgens kunt u de geavanceerde opties controleren, zoals rotatiehoeken voor rollen (as van voren naar achteren, X), pitch (as van links naar rechts, Y) en gieren (verticale as, Z). Deze versnellingsmeter geeft 3D G-krachten weer. U kunt deze sensor dus op verschillende manieren gebruiken die u kunt overwegen.
Voor uw comfort hebben we een fascinerende instructievideo op YouTube die u kan helpen bij uw onderzoek. Vertrouw erop dat deze onderneming verdere verkenning motiveert. Blijf nadenken! Houd er rekening mee dat je ernaar moet zoeken, want er komt voortdurend meer bij.
Aanbevolen:
Meting van versnelling met behulp van ADXL345 en Particle Photon: 4 stappen
Meting van versnelling met behulp van ADXL345 en deeltjesfoton: De ADXL345 is een kleine, dunne, ultralaagvermogen, 3-assige versnellingsmeter met hoge resolutie (13-bits) meting tot ±16 g. Digitale uitvoergegevens zijn geformatteerd als 16-bits tweetallen en zijn toegankelijk via de digitale I2 C-interface. Het meet de
Accelerometer jas: 5 stappen
Accelerometer Jacket: Ontworpen door ThunderLily voor een samenwerking met ontwerper Minika Ko voor de KOllision catwalkshow, het acceleratiejack combineert mode, technologie en kunst. Met behulp van een versnellingsmeter om de bewegingsrichting te detecteren, een microprocessor van de flora en
Meerdere LED's besturen met Python en de GPIO-pinnen van je Raspberry Pi: 4 stappen (met afbeeldingen)
Meerdere LED's besturen met Python en de GPIO-pinnen van je Raspberry Pi: deze Instructable laat zien hoe je meerdere GPIO-pinnen op je RaspberryPi kunt besturen om 4 LED's van stroom te voorzien. Het zal je ook kennis laten maken met parameters en voorwaardelijke uitspraken in Python.Onze vorige Instructable met behulp van de GPIO-pinnen van je Raspberry Pi om
Meting van versnelling met behulp van ADXL345 en Arduino Nano: 4 stappen
Meting van versnelling met behulp van ADXL345 en Arduino Nano: De ADXL345 is een kleine, dunne, ultralaag vermogen, 3-assige versnellingsmeter met hoge resolutie (13-bits) meting tot ±16 g. Digitale uitvoergegevens zijn geformatteerd als 16-bits tweetallen en zijn toegankelijk via de digitale I2 C-interface. Het meet de
Een Cubesat bouwen met een Arduino en accelerometer: 5 stappen
Hoe maak je een Cubesat bouwen met een Arduino en Accelerometer .: Onze namen zijn Brock, Eddie en Drew. Het belangrijkste doel van onze natuurkundeles is om van de aarde naar Mars te reizen terwijl we de baan rond Mars simuleren met behulp van een Cube Sat en het verzamelen van gegevens. Het doel van onze groep voor dit project is om gegevens te verzamelen met behulp van een accele