Sadržaj:
- Korak 1: Osnovni hardver koji nam je potreban
- Korak 2: Povezivanje hardvera
- Korak 3: Python kodiranje za Raspberry Pi
- Korak 4: Praktičnost Kodeksa
- Korak 5: Aplikacije i značajke
- Korak 6: Zaključak
Video: Akcelerometar s 3 osi, ADXL345 s Raspberry Pi pomoću Pythona: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:34
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
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
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 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
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:
Raspberry Pi - ADXL345 troosni akcelerometar Python Vodič: 4 koraka
Raspberry Pi-ADXL345 troosni akcelerometar Python Vodič: ADXL345 je mali, tanak, troosni akcelerometar ultra niske snage s mjerenjima visoke razlučivosti (13 bita) do ± 16 g. Digitalni izlazni podaci formatirani su kao 16-bitne dvojke nadopunjeni i dostupni su putem I2 C digitalnog sučelja. Mjeri
Arduino Nano-MMA8452Q 3-osi 12-bitni/8-bitni digitalni akcelerometar Vodič: 4 koraka
Arduino Nano-MMA8452Q 3-osi 12-bitni/8-bitni digitalni akcelerometar Tutorial: MMA8452Q je pametan, troosni, kapacitivni, mikro-strojni akcelerometar male snage s 12 bita rezolucije. Fleksibilne korisnički programirane opcije omogućene su uz pomoć ugrađenih funkcija u mjeraču ubrzanja, podesive za dva prekida
Raspberry Pi - ADXL345 troosni akcelerometar Java Tutorial: 4 koraka
Raspberry Pi-ADXL345 troosni akcelerometar Java Uputstvo: ADXL345 je mali, tanak, troosni akcelerometar ultra niske snage s mjerenjima visoke razlučivosti (13 bita) do ± 16 g. Digitalni izlazni podaci oblikovani su kao 16-bitne dvojke nadopunjeni i dostupni su putem I2 C digitalnog sučelja. Mjeri
Raspberry Pi MMA8452Q 3-osi 12-bitni/8-bitni digitalni akcelerometar Python Vodič: 4 koraka
Raspberry Pi MMA8452Q 3-osi 12-bitni/8-bitni digitalni akcelerometar Python Vodič: MMA8452Q je pametan, troosni, kapacitivni, mikro-strojni akcelerometar male snage s 12 bita rezolucije. Fleksibilne korisnički programirane opcije omogućene su uz pomoć ugrađenih funkcija u mjeraču ubrzanja, podesive za dva prekida
Akcelerometar s 3 osi LIS2HH12 Modul: 10 koraka (sa slikama)
Modul LIS2HH12 s 3 osi za mjerenje brzine osi: Ovaj se Instructable smatra početničkom razinom s nekim iskustvom s arduino softverom i lemljenjem. Modul LIS2HH12 izradio je Tiny9. Tiny9 je nova tvrtka koja se bavi prodajom senzorskih modula za domaće majstore, tvrtke ili izumitelje. Tamo