INHOUDSOPGAWE:

3-as versnellingsmeter, ADXL345 met framboos Pi met behulp van Python: 6 stappe
3-as versnellingsmeter, ADXL345 met framboos Pi met behulp van Python: 6 stappe

Video: 3-as versnellingsmeter, ADXL345 met framboos Pi met behulp van Python: 6 stappe

Video: 3-as versnellingsmeter, ADXL345 met framboos Pi met behulp van Python: 6 stappe
Video: How does an Accelerometer work? | 3D Animation 2024, November
Anonim
3-as versnellingsmeter, ADXL345 met framboos Pi met behulp van Python
3-as versnellingsmeter, ADXL345 met framboos Pi met behulp van Python

Dink u aan 'n gadget wat die punt kan bepaal waarop u offroader gekantel is om te vertoef. Sou dit nie aangenaam wees as iemand aangepas word as daar 'n kans is om om te keer nie? Duidelik ja. Dit sal werklik nuttig wees vir individue wat daarvan hou om op die berge en ondernemingsuitstappies te gaan.

Sonder twyfel, 'n ware briljante periode van gevorderde evaluering, is IoT op ons. As liefhebbers van gadgets en programmeer, meen ons, Raspberry Pi, het die mikro -Linux -rekenaar die kreatiewe vermoëns van mense in die algemeen behandel, en dit het 'n blaaskans in vernuwende metodologieë meegebring. Wat is die denkbare uitkomste wat ons kan doen as ons 'n Framboos Pi en 'n 3-as versnellingsmeter in die buurt het? Ons moet ontdek! In hierdie taak sal ons die versnelling op 3 asse, X, Y en Z, met behulp van Raspberry Pi en ADXL345, 'n 3-as versnellingsmeter, waarneem. Ons moet dus hierdie uitstappie waarneem om 'n raamwerk op te stel om die 3-dimensionele versnelling of G-Force te meet.

Stap 1: Basiese hardeware wat ons benodig

Basiese hardeware wat ons benodig
Basiese hardeware wat ons benodig
Basiese hardeware wat ons benodig
Basiese hardeware wat ons benodig
Basiese hardeware wat ons benodig
Basiese hardeware wat ons benodig

Die kwessies was vir ons minder, want ons het baie goed om rond te werk. Tog weet ons hoe moeilik dit is vir ander om die regte deel op die regte tyd op die regte tyd bymekaar te maak, en dit is geregverdig, ongeag elke sent. Ons sal u dus in alle streke help. Lees die volgende om 'n volledige onderdele -lys te kry.

1. Framboos Pi

Die eerste stap was die verkryging van 'n Raspberry Pi -bord. Hierdie klein rekenaar met 'n lae krag bied 'n goedkoop en in die algemeen eenvoudige basis vir elektroniese ondernemings, Internet of Things (IoT), Smart Cities, School Education.

2. I2C -skild vir Framboos Pi

Die belangrikste ding wat die Raspberry Pi regtig ontbreek, is 'n I²C -poort. Die TOUTPI2 I²C -aansluiting gee u dus die gevoel om Rasp Pi te gebruik met MEERDERE I²C -toestelle. Dit is toeganklik in DCUBE Store

3. 3-as versnellingsmeter, ADXL345

Die ADXL345, vervaardig deur Analog Devices, is 'n lae-krag 3-as versnellingsmeter met 'n hoë-resolusie 13-bis meting tot ± 16g. Ons het hierdie sensor by DCUBE Store aangeskaf

4. Aansluitkabel

Ons het die I2C -aansluitkabel beskikbaar by DCUBE Store

5. Mikro -USB -kabel

Die geringste verwarring, maar tog die strengste wat die noodsaaklikheid van krag betref, is die Raspberry Pi! Die maklikste manier om die Raspberry Pi aan te skakel, is deur middel van die mikro -USB -kabel.

6. Webtoegang is 'n behoefte

Webtoegang kan bemagtig word deur 'n Ethernet (LAN) kabel wat verband hou met 'n plaaslike netwerk en die internet. Aan die ander kant kan u met 'n draadlose netwerk assosieer met 'n USB -draadlose dongle, wat konfigurasie benodig.

7. HDMI -kabel/afstandtoegang

Met 'n HDMI -kabel aan boord kan u dit aansluit op 'n digitale TV of 'n monitor. Moet kontant spaar! Raspberry Pi kan op afstand gebruik word van kenmerkende strategieë soos-SSH en Access via die internet. U kan die PuTTYopen -bronsagteware gebruik.

Stap 2: Koppel die hardeware aan

Koppel die hardeware
Koppel die hardeware
Koppel die hardeware
Koppel die hardeware
Koppel die hardeware
Koppel die hardeware
Koppel die hardeware
Koppel die hardeware

Maak die stroombaan volgens die skematiese verskyn. Maak 'n uiteensetting en neem die opset doelbewus op.

Verbinding van die Raspberry Pi en I2C Shield

Bo alles, neem die Raspberry Pi en sien die I2C -skild daarop. Druk die Skild delikaat oor die GPIO -penne van Pi, en ons is klaar met hierdie progressie so eenvoudig soos tert (sien die snap).

Aansluiting van die sensor en Framboos Pi

Neem die sensor en koppel die I2C -kabel daarmee. Onthou altyd dat die I2C -uitvoer altyd verband hou met die I2C -invoer vir die korrekte werking van hierdie kabel. Dieselfde moet gevolg word vir die Raspberry Pi met die I2C -skild daaroor, die GPIO -penne.

Ons skryf die gebruik van die I2C -kabel voor, aangesien dit die vereiste vir die deurlees van pinouts, soldeer en malaise wat veroorsaak word deur selfs die kleinste fout, weerlê. Met hierdie basiese plug and play -kabel kan u toestelle bekendstel, uitruil of meer toestelle maklik by 'n toepassing voeg. Dit maak dinge ongekompliseerd.

Let wel: Die bruin draad behoort betroubaar die grondverbinding (GND) tussen die uitset van een toestel en die ingang van 'n ander toestel te volg

Webnetwerk is die sleutel

Om ons onderneming te laat wen, benodig ons 'n webverbinding vir ons Raspberry Pi. Hiervoor het u alternatiewe, soos om 'n Ethernet (LAN) kabel met die tuisstelsel te koppel. As 'n opsie is dit egter ook 'n nuttige manier om 'n WiFi -aansluiting te gebruik. Soms benodig u 'n bestuurder om dit te laat werk. Leun dus na die een met Linux in die voorstelling.

Kragtoevoer

Steek die mikro -USB -kabel in die kragaansluiting van die Raspberry Pi. Verlig dit en ons is gereed om te gaan.

Koppel aan skerm

Ons kan die HDMI -kabel met 'n ander skerm verbind. In sommige gevalle moet u by 'n Raspberry Pi uitkom sonder om dit op 'n skerm te koppel, of u moet data van elders af sien. Daar is moontlik innovatiewe en finansieel vaardige benaderings om dit as sodanig te doen. Een daarvan is SSH (afstandsbedienings op die opdraglyn). U kan ook die PuTTY -sagteware daarvoor gebruik.

Stap 3: Python -kodering vir Framboos Pi

Python -kodering vir Framboos Pi
Python -kodering vir Framboos Pi

Die Python -kode vir die Raspberry Pi en ADXL345 sensor is toeganklik in ons Github Repository.

Voordat u met die kode verder gaan, moet u die riglyne in die leesmeerdokument lees en u Raspberry Pi volgens die opstel daarvan opstel. Dit sal net 'n minuut stilstaan om dit as sodanig te doen.

'N Versnellingsmeter is 'n toestel wat die regte versnelling meet; behoorlike versnelling is nie dieselfde as koördinaatversnelling (tempo van verandering in snelheid). Enkel- en meerasmodelle van die versnellingsmeter is toeganklik om die grootte en rigting van die korrekte versnelling as 'n vektorhoeveelheid te identifiseer, en kan gebruik word om oriëntasie, koördineer versnelling, vibrasie, skok en val in 'n weerstandsmedium te identifiseer.

Die kode is duidelik voor u en dit is in die eenvoudigste struktuur wat u kan voorstel, en u behoort geen probleme te hê nie.

# Versprei met 'n vrywillige lisensie.# Gebruik dit op enige manier wat u wil, wins of gratis, mits dit in die lisensies van die gepaardgaande werke pas. # ADXL345 # Hierdie kode is ontwerp om te werk met die ADXL345_I2CS I2C Mini Module beskikbaar by dcubestore.com # https://dcubestore.com/product/adxl345-3-axis-accelerometer-13-bit-i%C2%B2c-mini -module/

invoer smbus

invoer tyd

# Kry I2C -bus

bus = smbus. SMBus (1)

# ADXL345 adres, 0x53 (83)

# Kies bandbreedtesnelheidsregister, 0x2C (44) # 0x0A (10) Normale modus, Uitvoerdatasnelheid = 100 Hz bus.write_byte_data (0x53, 0x2C, 0x0A) # ADXL345 adres, 0x53 (83) # Kies kragbeheerregister, 0x2D (45) # 0x08 (08) Auto Sleep deaktiveer bus.write_byte_data (0x53, 0x2D, 0x08) # ADXL345 adres, 0x53 (83) # Kies dataformaatregister, 0x31 (49) # 0x08 (08) Selftoets gedeaktiveer, 4-draad koppelvlak # Volle resolusie, Range = +/- 2g bus.write_byte_data (0x53, 0x31, 0x08)

tyd. slaap (0,5)

# ADXL345 adres, 0x53 (83)

# Lees data terug van 0x32 (50), 2 grepe # X-Axis LSB, X-Axis MSB data0 = bus.read_byte_data (0x53, 0x32) data1 = bus.read_byte_data (0x53, 0x33)

# Skakel die data om na 10-bisse

xAccl = ((data1 & 0x03) * 256) + data0 as xAccl> 511: xAccl -= 1024

# ADXL345 adres, 0x53 (83)

# Lees data terug van 0x34 (52), 2 grepe # Y-as LSB, Y-as MSB-data0 = bus.read_byte_data (0x53, 0x34) data1 = bus.read_byte_data (0x53, 0x35)

# Skakel die data om na 10-bisse

yAccl = ((data1 & 0x03) * 256) + data0 as yAccl> 511: yAccl -= 1024

# ADXL345 adres, 0x53 (83)

# Lees data terug van 0x36 (54), 2 grepe # Z-Axis LSB, Z-Axis MSB data0 = bus.read_byte_data (0x53, 0x36) data1 = bus.read_byte_data (0x53, 0x37)

# Skakel die data om na 10-bisse

zAccl = ((data1 & 0x03) * 256) + data0 as zAccl> 511: zAccl -= 1024

# Uitset data na die skerm

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

Stap 4: Die praktiese van die kode

Die praktiese van die kode
Die praktiese van die kode

Laai die kode van Github af (of trek dit af) en maak dit oop in die Raspberry Pi.

Voer die opdragte uit om die kode in die terminale op te stel en op te laai en sien die uitset op Monitor. Na 'n paar oomblikke sal dit elkeen van die parameters wys. Nadat u verseker het dat alles maklik werk, kan u hierdie onderneming na 'n groter taak neem.

Stap 5: Toepassings en funksies

Die ADXL345 is 'n klein, dun, ultra-lae, drie-as versnellingsmeter met 'n hoë resolusie (13-bis) meting tot ± 16 g. Die ADXL345 is geskik vir selfoontoepassings. Dit kwantifiseer die statiese versnelling van swaartekrag in kantelopsporingstoepassings, en daarbenewens kan dinamiese versnelling plaasvind as gevolg van beweging of skok. Ander toepassings sluit in toestelle soos toestelle, mediese instrumente, speel- en wysapparate, industriële instrumente, persoonlike navigasietoestelle en beskerming teen hardeskyf (HDD).

Stap 6: Gevolgtrekking

Hoop hierdie taak motiveer verdere eksperimentering. Hierdie I2C -sensor is buitengewoon buigsaam, goedkoop en toeganklik. Aangesien dit 'n in 'n groot mate onbestendige stelsel is, is daar interessante maniere waarop u hierdie taak kan verbreed en selfs kan verbeter.

U kan byvoorbeeld begin met die idee van 'n hellingmeter met behulp van die ADXL345 en Raspberry Pi. In die bogenoemde projek het ons basiese berekeninge gebruik. U kan die kode improviseer vir G-waardes, hellingshoeke (of kanteling), hoogte of neerslag van 'n voorwerp met betrekking tot swaartekrag. Dan kan u die vooruitgangsopsies nagaan, soos rotasiehoeke vir rol (voor-na-agter-as, X), toonhoogte (as-tot-kant-as, Y) en gaai (vertikale as, Z). Hierdie versnellingsmeter toon 3D-magte. U kan hierdie sensor dus op verskillende maniere gebruik.

Vir u gemak het ons 'n fassinerende video -onderrigoefening op YouTube wat u ondersoek kan help. Vertrou hierdie onderneming motiveer verdere verkenning. Hou aan besin! Hou in gedagte om op te let, want daar kom voortdurend meer.

Aanbeveel: