Sadržaj:

Akcelerometar s 3 osi, ADXL345 s Raspberry Pi pomoću Pythona: 6 koraka
Akcelerometar s 3 osi, ADXL345 s Raspberry Pi pomoću Pythona: 6 koraka

Video: Akcelerometar s 3 osi, ADXL345 s Raspberry Pi pomoću Pythona: 6 koraka

Video: Akcelerometar s 3 osi, ADXL345 s Raspberry Pi pomoću Pythona: 6 koraka
Video: Arduino ADXL345 Accelerometer - How to read out the Arduino ADXL345 2024, Studeni
Anonim
Akcelerometar s 3 osi, ADXL345 s Raspberry Pi pomoću Pythona
Akcelerometar s 3 osi, 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. Ne bi li to bilo ugodno u slučaju da se netko prilagodi kad postoji mogućnost prevrtanja? Očigledno da. Bilo bi doista korisno pojedincima koji vole odlaske u planine i poslovna putovanja.

Bez sumnje, pred nama je pravo briljantno razdoblje napredne evaluacije figura, IoT. Kao ljubitelji gadgeta i programiranja, vjerujemo, Raspberry Pi, mikro Linux računalo tretiralo 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 osjetit ćemo 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 nam bili manji budući da imamo hrpu stvari koje leže okolo radi. Usprkos tome, znamo kako je drugima problematično sastaviti pravi dio u savršeno vrijeme s pogodnog mjesta, što je opravdano bez obzira na svaki novčić. Stoga bismo vam pomogli u svim regijama. Pročitajte sljedeće kako biste dobili potpuni popis dijelova.

1. Malina Pi

Prvi korak bio je nabavka ploče Raspberry Pi. Ovo maleno računalo male snage pruža jeftinu i općenito jednostavnu bazu za pothvate u elektronici, Internet stvari (IoT), pametne gradove, školsko obrazovanje.

2. I2C štit za Raspberry Pi

Glavna stvar koja nedostaje Raspberry Pi je I²C priključak. Dakle, za to vam TOUTPI2 I²C konektor daje osjećaj da koristite Rasp Pi s MULTIPLE I²C uređajima. Dostupno je u trgovini DCUBE

3. Troosni akcelerometar, ADXL345

Proizveden od strane Analog Devices, ADXL345, troosni je akcelerometar male snage s 13-bitnim mjerenjima visoke razlučivosti do ± 16 g. Ovaj smo senzor nabavili iz trgovine DCUBE

4. Spojni kabel

Imali smo I2C spojni kabel dostupan u DCUBE trgovini

5. Mikro USB kabel

Najmanji zbunjeni, ali najstrožiji što se tiče potrebe za energijom je Raspberry Pi! Najlakši pristup napajanju Raspberry Pi je pomoću Micro USB kabela.

6. Web pristup je potreba

Web pristup 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 kabel/daljinski pristup

S HDMI kabelom možete ga spojiti na digitalni TV ili na monitor. Potrebno je uštedjeti gotovinu! Raspberry Pi se može daljinski koristiti korištenjem 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 Shield na njemu. Nježno pritisnite Shield preko GPIO pinova Pi i završili smo s ovom progresijom jednostavnom poput pite (vidi snap).

Spajanje 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 s I2C ulazom. Isto se mora uzeti i za Raspberry Pi sa I2C štitom postavljenim preko GPIO pinova.

Propisujemo uporabu I2C kabela jer opovrgava uvjete za čitanje pinouta, lemljenja i slabosti uzrokovane čak i najmanjom greškom. Pomoću ovog osnovnog plug and play kabela možete jednostavno predstaviti, zamijeniti uređaje ili dodati više uređaja u aplikaciju. To čini stvari nekompliciranim.

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

Ključna je web mreža

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

Napajanje

Priključite mikro USB kabel u utičnicu za napajanje Raspberry Pi. Upalite ga i spremni smo za polazak.

Spajanje na zaslon

HDMI kabel možemo povezati s drugim zaslonom. U nekim slučajevima morate doći do Raspberry Pi bez povezivanja s zaslonom ili ćete možda morati vidjeti neke podatke s nekog drugog mjesta. Vjerojatno postoje inovativni i financijski razumljivi pristupi takvom postupanju. Jedan od njih koristi - SSH (udaljena prijava u naredbeni redak). Za to također možete koristiti 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 pravilnog ubrzanja, kao vektorske veličine, a mogu se koristiti za osjet orijentacije, koordinirano ubrzanje, vibracije, udar i pad u otpornom mediju.

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

# Distribuirano s licencom slobodne volje.# 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/

uvoz smbus

vrijeme uvoza

# Nabavite I2C autobus

sabirnica = smbus. SMBus (1)

# ADXL345 adresa, 0x53 (83)

# Odaberite registar brzine propusnosti, 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 za kontrolu snage, 0x2D (45) # 0x08 (08) Automatsko isključivanje u stanju mirovanja sabirnica.write_byte_data (0x53, 0x2D, 0x08) # ADXL345 adresa, 0x53 (83) # Odaberite format formata podataka, 0x31 (49) # 0x08 (08) Samoispitivanje je onemogućeno, 4-žično sučelje # Puna razlučivost, Raspon = +/- 2g sabirnice.write_byte_data (0x53, 0x31, 0x08)

vrijeme.spavanje (0,5)

# ADXL345 adresa, 0x53 (83)

# Očitavanje podataka iz 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 podataka0 = sabirnica.čitaj_bajt_podatke (0x53, 0x34) data1 = sabirnica.čitaj_bajt_podatke (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 s 0x36 (54), 2 bajta # Z-osa LSB, Z-osa MSB podataka0 = sabirnica.čitaj_bajt_podatke (0x53, 0x36) data1 = sabirnica.čitaj_bajt_podatke (0x53, 0x37)

# Pretvorite podatke u 10-bitne

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

# Izlažite podatke na zaslon

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 prijenos koda na terminalu i pogledajte izlaz na monitoru. Nakon nekoliko trenutaka prikazat će svaki od parametara. Nakon što ćete osigurati da sve funkcionira jednostavno, ovaj pothvat možete odvesti na veći zadatak.

Korak 5: Aplikacije i značajke

ADXL345 je mali, tanki, troosni akcelerometar ultra male snage s mjerenjima visoke razlučivosti (13 bita) do ± 16 g. ADXL345 je prikladan za aplikacije mobitela. Kvantificira statičko ubrzanje gravitacije u aplikacijama za otkrivanje nagiba, a osim toga dolazi do dinamičkog ubrzanja zbog kretanja ili šoka. Druge primjene uključuju mobilne telefone, medicinske instrumente, igračke i pokazivačke uređaje, industrijske instrumente, osobne 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 sustav, 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 izrač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 mogućnosti unaprijed, poput kutova zakretanja za kotrljanje (os sprijeda prema natrag, X), nagib (osovina sa strane, Y) i zakretanje (okomita os, Z). Ovaj mjerač ubrzanja prikazuje 3-D G-sile. Stoga biste ovaj senzor mogli koristiti na različite načine.

Radi vaše udobnosti, na YouTubeu imamo fascinantnu video pouku koja vam može pomoći u istrazi. Vjerujte da ovaj pothvat motivira daljnja istraživanja. Nastavite razmišljati! Imajte na umu da tražite jer se stalno povećava.

Preporučeni: