Sadržaj:

Trosmjerni akcelerometar, ADXL345 s Raspberry Pi pomoću Pythona: 6 koraka
Trosmjerni akcelerometar, ADXL345 s Raspberry Pi pomoću Pythona: 6 koraka

Video: Trosmjerni akcelerometar, ADXL345 s Raspberry Pi pomoću Pythona: 6 koraka

Video: Trosmjerni akcelerometar, ADXL345 s Raspberry Pi pomoću Pythona: 6 koraka
Video: Акселерометр ADXL 345 + Servo мотор SG90 - Arduino! 2024, Novembar
Anonim
Troosni akcelerometar, ADXL345 s Raspberry Pi pomoću Pythona
Troosni akcelerometar, ADXL345 s Raspberry Pi pomoću Pythona

Razmišljajući o gadgetu koji može provjeriti točku na kojoj se vaš Offroader naginje prema dugotrajnoj. Zar ne bi bilo ugodno u slučaju da se netko prilagodi kad postoji mogućnost prevrtanja? Očigledno da. Bilo bi zaista korisno za pojedince koji vole odlaske na planine i poslovna putovanja.

Bez sumnje, pred nama je zaista briljantan period napredne evaluacije figura, IoT. Kao ljubitelji gadgeta i programiranja, vjerujemo, Raspberry Pi, mikro Linux PC tretirao je kreativne sposobnosti ljudi općenito, noseći sa sobom vrhunac u inovativnim metodologijama. Dakle, koji su mogući ishodi koje možemo učiniti u slučaju da u blizini imamo Raspberry Pi i troosni akcelerometar? Trebali bismo otkriti! U ovom zadatku ćemo osjetiti ubrzanje na 3 osi, X, Y i Z pomoću Raspberry Pi i ADXL345, troosnog akcelerometra. Stoga bismo trebali promatrati na ovom izletu kako bismo izradili okvir za mjerenje trodimenzionalnog ubrzanja prema gore ili G-sile.

Korak 1: Osnovni hardver koji nam je potreban

Osnovni hardver koji nam je potreban
Osnovni hardver koji nam je potreban
Osnovni hardver koji nam je potreban
Osnovni hardver koji nam je potreban
Osnovni hardver koji nam je potreban
Osnovni hardver koji nam je potreban

Problemi su za nas bili manji jer imamo hrpu stvari koje leže okolo radi. Bez obzira na to, znamo kako je drugima problematično sastaviti pravi dio u savršeno vrijeme sa pogodnog mjesta, što je opravdano bez obzira na svaki peni. Zato bismo vam pomogli u svim regijama. Pročitajte sljedeće kako biste dobili potpunu listu dijelova.

1. Malina Pi

Prvi korak je bio nabavka Raspberry Pi ploče. Ovaj maleni računar male snage pruža jeftinu i općenito jednostavnu bazu za elektroničke poduhvate, Internet stvari (IoT), pametne gradove, školsko obrazovanje.

2. I2C štit za Raspberry Pi

Glavna stvar koja nedostaje Raspberry Pi -u je I²C port. Dakle, za to vam TOUTPI2 I²C konektor daje osjećaj da koristite Rasp Pi s VEĆIM I²C uređajima. Dostupno je u DCUBE trgovini

3. Troosni akcelerometar, ADXL345

Proizveden od strane Analog Devices, ADXL345, je troosni akcelerometar male snage sa 13-bitnim mjerenjem visoke rezolucije do ± 16 g. Ovaj senzor smo kupili od DCUBE Store -a

4. Priključni kabel

Imali smo I2C priključni kabel dostupan u DCUBE trgovini

5. Mikro USB kabl

Najmanji zbunjeni, ali najstrožiji što se tiče potrebe za energijom je Raspberry Pi! Pristup napajanju Raspberry Pi -a bez napora je pomoću mikro USB kabela.

6. Pristup Webu je potreba

Pristup internetu može se osnažiti putem Ethernet (LAN) kabela povezanog s lokalnom mrežom i webom. S druge strane, možete se povezati s bežičnom mrežom pomoću USB bežičnog ključa, što će zahtijevati konfiguraciju.

7. HDMI kabl/daljinski pristup

S HDMI kablom na ploči, možete ga priključiti na digitalni TV ili na monitor. Potrebno je uštedjeti gotovinu! Raspberry Pi se može daljinski priviknuti na korištenje posebnih strategija poput-SSH i pristupa putem weba. Možete koristiti izvorni softver PuTTYopen.

Korak 2: Povezivanje hardvera

Povezivanje hardvera
Povezivanje hardvera
Povezivanje hardvera
Povezivanje hardvera
Povezivanje hardvera
Povezivanje hardvera
Povezivanje hardvera
Povezivanje hardvera

Učinite krug prema prikazanoj shemi. Nacrtajte nacrt i namjerno nastavite nakon konfiguracije.

Povezivanje Raspberry Pi i I2C štita

Iznad svega, uzmite Raspberry Pi i uočite I2C štit na njemu. Lagano pritisnite Shield preko GPIO iglica Pi i završili smo s ovom progresijom jednostavnom poput pite (pogledajte snimku).

Povezivanje senzora i Raspberry Pi

Uzmite senzor i povežite I2C kabel sa sobom. Za odgovarajući rad ovog kabela, molimo vas da uvijek pozovete I2C izlaz koji je uvijek povezan sa I2C ulazom. Isto se mora uzeti i za Raspberry Pi sa I2C štitom postavljenim preko GPIO pinova.

Propisujemo upotrebu I2C kabela jer odbacuje zahtjev za čitanjem pinouta, lemljenja i slabosti uzrokovane čak i najmanjom greškom. Pomoću ovog osnovnog plug and play kabla možete jednostavno predstaviti, zamijeniti uređaje ili dodati još uređaja u aplikaciju. Ovo čini stvari nekompliciranim.

Napomena: Smeđa žica bi trebala pouzdano pratiti vezu uzemljenja (GND) između izlaza jednog uređaja i ulaza drugog uređaja

Ključna je web mreža

Da bi naš poduhvat pobijedio, potrebna nam je internetska veza za naš Raspberry Pi. U tu svrhu imate alternative poput povezivanja Ethernet (LAN) kabela s kućnim sistemom. Osim toga, kao opcija, međutim, korisna ruta je korištenje WiFi konektora. Nekad vam je za to potreban vozač da bi funkcionirao. Zato se nagnite prema onom s Linuxom na prikazu.

Napajanje

Uključite mikro USB kabel u utičnicu za napajanje Raspberry Pi. Upalite i dobro smo krenuli.

Povezivanje sa ekranom

HDMI kabl možemo povezati s drugim ekranom. U nekim slučajevima morate doći do Raspberry Pi bez povezivanja s ekranom ili ćete možda morati pogledati neke podatke s njega s nekog drugog mjesta. Vjerojatno postoje inovativni i financijski razumljivi pristupi takvom postupanju. Jedan od njih koristi - SSH (udaljeno prijavljivanje na komandnu liniju). Za to možete koristiti i softver PuTTY.

Korak 3: Python kodiranje za Raspberry Pi

Python kodiranje za Raspberry Pi
Python kodiranje za Raspberry Pi

Python kod za Raspberry Pi i ADXL345 senzor dostupan je u našem Github spremištu.

Prije nego prijeđete na kôd, svakako pročitajte smjernice date u dokumentu Readme i postavite Raspberry Pi prema njemu. Jednostavno će zastati na minutu kako bi to učinili.

Akcelerometar je uređaj koji mjeri pravilno ubrzanje; pravilno ubrzanje nije isto što i koordinatno ubrzanje (brzina promjene brzine). Dostupni su jednoosni i višeosni modeli akcelerometra za identifikaciju veličine i smjera odgovarajućeg ubrzanja, kao vektorske veličine, i mogu se koristiti za osjet orijentacije, koordinatnog ubrzanja, vibracija, udara i pada u otporni medij.

Kôd je pred vama jasan i u najjednostavnijoj je strukturi koju možete zamisliti i ne biste trebali imati problema.

# Distribuira se sa slobodnom voljom licence.# Koristite ga kako god želite, profitno ili besplatno, pod uvjetom da se uklapa u licence povezanih djela. # ADXL345 # Ovaj kod je dizajniran za rad s ADXL345_I2CS I2C mini modulom dostupnim na dcubestore.com # https://dcubestore.com/product/adxl345-3-axis-accelerometer-13-bit-i%C2%B2c-mini -modul/

import smbus

vreme uvoza

# Nabavite I2C autobus

sabirnica = smbus. SMBus (1)

# ADXL345 adresa, 0x53 (83)

# Odaberite registar brzine propusnog opsega, 0x2C (44) # 0x0A (10) Normalni način rada, Brzina izlaznih podataka = 100 Hz sabirnica.write_byte_data (0x53, 0x2C, 0x0A) # ADXL345 adresa, 0x53 (83) # Odaberite registar kontrole snage, 0x2D (45) # 0x08 (08) Automatsko spavanje onemogućuje bus.write_byte_data (0x53, 0x2D, 0x08) # ADXL345 adresa, 0x53 (83) # Odaberite format zapisa podataka, 0x31 (49) # 0x08 (08) Samoispitivanje je onemogućeno, 4-žično interfejs # Puna rezolucija, Opseg = +/- 2g magistrale.write_byte_data (0x53, 0x31, 0x08)

vrijeme.spavanje (0,5)

# ADXL345 adresa, 0x53 (83)

# Očitavanje podataka sa 0x32 (50), 2 bajta # X-Axis LSB, X-Axis MSB data0 = bus.read_byte_data (0x53, 0x32) data1 = bus.read_byte_data (0x53, 0x33)

# Pretvorite podatke u 10-bitne

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

# ADXL345 adresa, 0x53 (83)

# Očitavanje podataka iz 0x34 (52), 2 bajta # Y-osa LSB, Y-osa MSB podaci0 = bus.read_byte_data (0x53, 0x34) data1 = bus.read_byte_data (0x53, 0x35)

# Pretvorite podatke u 10-bitne

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

# ADXL345 adresa, 0x53 (83)

# Očitavanje podataka iz 0x36 (54), 2 bajta # Z-Axis LSB, Z-Axis MSB podaci0 = bus.read_byte_data (0x53, 0x36) data1 = bus.read_byte_data (0x53, 0x37)

# Pretvorite podatke u 10-bitne

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

# Izlažite podatke na ekran

ispis "Ubrzanje u osi X: %d" %xAccl ispis "Ubrzanje u osi Y: %d" %yAccl ispis "Ubrzanje u osi Z: %d" %zAccl

Korak 4: Praktičnost Kodeksa

Praktičnost Kodeksa
Praktičnost Kodeksa

Preuzmite (ili git povucite) kôd s Githuba i otvorite ga u Raspberry Pi.

Pokrenite naredbe za kompajliranje i učitavanje koda u terminalu i pogledajte izlaz na monitoru. Nakon nekoliko trenutaka, prikazat će se svaki od parametara. Nakon što ćete osigurati da sve funkcionira lako, ovaj poduhvat možete odvesti na veći zadatak.

Korak 5: Aplikacije i značajke

ADXL345 je mali, tanak, troosni akcelerometar ultra male snage sa mjerenjima visoke rezolucije (13 bita) do ± 16 g. ADXL345 je prikladan za aplikacije za mobitele. Kvantificira statičko ubrzanje gravitacije u aplikacijama za otkrivanje nagiba, a osim toga dolazi do dinamičkog ubrzanja zbog kretanja ili šoka. Druge aplikacije uključuju telefone, medicinske instrumente, igračke i pokazivačke uređaje, industrijske instrumente, lične navigacijske uređaje i zaštitu tvrdog diska (HDD).

Korak 6: Zaključak

Nadam se da će ovaj zadatak potaknuti daljnje eksperimentiranje. Ovaj I2C senzor izuzetno je fleksibilan, jeftin i pristupačan. Budući da je to u velikoj mjeri nestalni sistem, postoje zanimljivi načini na koje možete proširiti ovaj zadatak i čak ga poboljšati.

Na primjer, možete početi s idejom Inclinometra pomoću ADXL345 i Raspberry Pi. U gore navedenom projektu koristili smo osnovne proračune. Možete improvizirati kôd za G-vrijednosti, kutove nagiba (ili nagiba), uzvišenje ili ulegnuće objekta u odnosu na gravitaciju. Zatim možete provjeriti napredne opcije, kao što su uglovi rotacije za kotrljanje (os sprijeda prema natrag, X), nagib (osovina bočno na stranu, Y) i zakretanje (okomita os, Z). Ovaj akcelerometar prikazuje 3-D G-sile. Dakle, ovaj senzor možete koristiti na različite načine.

Radi vaše udobnosti, na YouTubeu imamo fascinantnu vježbu s video uputama koja vam može pomoći u istrazi. Vjerujte da ovaj poduhvat motivira daljnja istraživanja. Nastavite razmišljati! Imajte na umu da tražite sve više jer se stalno pojavljuje.

Preporučuje se: