Sadržaj:

Upravljanje kretanjem s Raspberry Pi i LIS3DHTR, troosnim akcelerometrom, pomoću Pythona: 6 koraka
Upravljanje kretanjem s Raspberry Pi i LIS3DHTR, troosnim akcelerometrom, pomoću Pythona: 6 koraka

Video: Upravljanje kretanjem s Raspberry Pi i LIS3DHTR, troosnim akcelerometrom, pomoću Pythona: 6 koraka

Video: Upravljanje kretanjem s Raspberry Pi i LIS3DHTR, troosnim akcelerometrom, pomoću Pythona: 6 koraka
Video: WRC 10 против Dirt Rally 2.0: какая раллийная игра лучше? 2024, Juli
Anonim
Image
Image
Osnovni hardver koji nam je potreban
Osnovni hardver koji nam je potreban

Ljepota nas okružuje, ali obično moramo hodati vrtom da bismo to spoznali. - Rumi

Kao obrazovana grupa, kakvom se činimo, veliku većinu energije ulažemo radeći prije računara i mobilnih telefona. Stoga često dopuštamo svom blagostanju da ide u sekundarni salon, nikada ne pronalazeći idealnu priliku za odlazak u teretanu ili na satove fitnesa i po pravilu birajući brzu hranu umjesto mnogo korisnijih izbora. Uzbudljiva vijest je da li vam je potrebna samo pomoć u vođenju evidencije ili da biste nadgledali svoj napredak, današnju inovaciju možete iskoristiti za izradu nekog gadžeta kako biste sebi pomogli.

Tehnologija se brzo razvija. Dosljedno, hvatamo vjetar neke nove inovacije koja će promijeniti svijet i način na koji u njemu učimo. Kad se bavite računarima, kodiranjem i robotima ili samo volite petljati, postoji tehnološki blagoslov. Raspberry Pi, mikro računar sa jednom pločom na Linuxu, posvećen je poboljšanju načina na koji učite s inovativnom tehnologijom, ali i ključu za poboljšanje obrazovanja širom svijeta. Dakle, koji su mogući rezultati koje možemo učiniti ako imamo Raspberry Pi i troosni akcelerometar u blizini? Kako bi bilo da ovo pronađemo! U ovom zadatku provjerit ćemo ubrzanje na 3 okomite osi, X, Y i Z pomoću Raspberry Pi i LIS3DHTR, troosnog akcelerometra. Stoga bismo na ovom putovanju trebali vidjeti stvaranje sistema za provjeru 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

Problemi su za nas bili manji jer imamo ogromnu količinu stvari koje leže okolo radi. U svakom slučaju, znamo kako je drugima problematično skupljati pravi dio u besprijekornom vremenu s korisne točke, a to se brani obraćajući malo pažnje na svaki peni. Zato bismo vam pomogli. Slijedite priloženo kako biste dobili potpunu listu dijelova.

1. Malina Pi

Prvi korak je bio dobivanje Raspberry Pi ploče. Raspberry Pi je PC sa jednom pločom baziran na Linuxu. Ovaj mali računar donosi veliku snagu računanja, koja se koristi kao dio aktivnosti gadžeta, i jednostavnih operacija poput proračunskih tablica, pripreme riječi, skeniranja weba i e -pošte i igara.

2. I2C štit za Raspberry Pi

Primarna briga da Raspberry Pi zaista nedostaje je I²C port. Dakle, za to vam TOUTPI2 I²C konektor daje smisao da koristite Rasp Pi sa BILO KOJIM od I²C uređaja. Dostupno je u DCUBE Store -u

3. Troosni akcelerometar, LIS3DHTR

LIS3DH je troosni linearni akcelerometar ultra male snage visokih performansi koji pripada "nano" porodici, sa standardnim izlazom za digitalni I2C/SPI serijski interfejs. Ovaj senzor smo kupili od DCUBE Store -a

4. Priključni kabel

I2C spojni kabel nabavljeni smo odDCUBE Store

5. Mikro USB kabl

Najmanji zbunjeni, ali ipak najstroži u onoj mjeri u kojoj je potrebna energija je Raspberry Pi! Najjednostavniji način rješavanja je upotreba mikro USB kabela.

6. Pristup Webu je potreba

INTERNET djeca nikada ne spavaju

Povežite svoj Raspberry Pi s Ethernet (LAN) kablom i povežite ga s mrežnim usmjerivačem. Izborno, potražite WiFi konektor i upotrijebite jedan od USB priključaka za pristup udaljenom sistemu. To je oštra odluka, jednostavna, mala i loša!

7. HDMI kabl/daljinski pristup

Raspberry Pi ima HDMI priključak koji možete posebno povezati s ekranom ili televizorom pomoću HDMI kabela. Izborno, možete koristiti SSH za povezivanje sa vašim Raspberry Pi -om sa Linux računara ili Macintosha sa terminala. Slično, PuTTY, besplatni terminalski emulator otvorenog koda zvuči kao pristojna alternativa.

Korak 2: Povezivanje hardvera

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

Učinite krug prema prikazanoj shemi. Napravite dijagram i precizno slijedite okvir. Mašta je važnija od znanja.

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.

Podržavamo upotrebu I2C kabela jer negira potrebu za ispitivanjem iskrivljenja, pričvršćivanja i nelagode koju izaziva čak i najmanji zajebancija. Pomoću ovog osnovnog kabla za povezivanje i reprodukciju možete efikasno predstaviti, zamijeniti gadžete ili dodati još gadžeta u aplikaciju. Ovo olakšava radnu težinu do značajnog nivoa.

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, potrebno je internetsko udruženje za naš Raspberry Pi. U tu svrhu imate izbor poput povezivanja Ethernet (LAN) kabela spojenog s kućnom mrežom. Nadalje, kao alternativa, kako god bilo, pogodan kurs je korištenje WiFi USB konektora. U pravilu, za rad vam je potreban upravljački program. Zato se u opisu sklonite onom s Linuxom.

Napajanje

Uključite mikro USB kabel u utičnicu za napajanje Raspberry Pi. Okreni se i spremni smo.

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. Ovo su za napredne korisnike. Dakle, detalji ovdje nisu uključeni.

Korak 3: Python kodiranje za Raspberry Pi

Python kodiranje za Raspberry Pi
Python kodiranje za Raspberry Pi

Python kod za Raspberry Pi i LIS3DHTR senzor dostupan je u našem GithubRepositoriju.

Prije nego što pređete na kôd, provjerite da li ste pročitali pravila data u arhivi Readme i podesite Raspberry Pi u skladu s njim. Samo će na trenutak predahnuti da se urade sve stvari koje su uzete u obzir.

Akcelerometar je elektromehanički uređaj koji će mjeriti sile ubrzanja. Ove snage mogu biti statične, slične stalnoj sili gravitacije koja vuče vaša stopala, ili se mogu mijenjati - uzrokovane pomicanjem ili vibriranjem akcelerometra.

Prateći je python kod i možete ga klonirati i prilagoditi na bilo koji način prema kojem se nagnete.

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

import smbus

vreme uvoza

# Nabavite I2C autobus

sabirnica = smbus. SMBus (1)

# LIS3DHTR adresa, 0x18 (24)

# Odaberite upravljački registar1, 0x20 (32) # 0x27 (39) Način uključivanja, odabir brzine prijenosa podataka = 10 Hz # X, Y, Z-os omogućena sabirnica.write_byte_data (0x18, 0x20, 0x27) # LIS3DHTR adresa, 0x18 (24)) # Odaberite kontrolni registar4, 0x23 (35) # 0x00 (00) Kontinuirano ažuriranje, Potpuni odabir = +/- 2G sabirnica.write_byte_data (0x18, 0x23, 0x00)

vrijeme.spavanje (0,5)

# LIS3DHTR adresa, 0x18 (24)

# Očitavanje podataka iz 0x28 (40), 2 bajta # X-Axis LSB, X-Axis MSB data0 = bus.read_byte_data (0x18, 0x28) data1 = bus.read_byte_data (0x18, 0x29)

# Pretvorite podatke

xAccl = data1 * 256 + data0 ako je xAccl> 32767: xAccl -= 65536

# LIS3DHTR adresa, 0x18 (24)

# Očitavanje podataka iz 0x2A (42), 2 bajta # Y-osa LSB, Y-osa MSB podaci0 = bus.read_byte_data (0x18, 0x2A) data1 = bus.read_byte_data (0x18, 0x2B)

# Pretvorite podatke

yAccl = data1 * 256 + data0 ako je yAccl> 32767: yAccl -= 65536

# LIS3DHTR adresa, 0x18 (24)

# Očitavanje podataka iz 0x2C (44), 2 bajta # Z-osa LSB, Z-osa MSB podaci0 = sabirnica.čitaj_bajtske_podatke (0x18, 0x2C) podatak1 = sabirnica.čitaj_bajt_podatke (0x18, 0x2D)

# Pretvorite podatke

zAccl = data1 * 256 + data0 ako je zAccl> 32767: zAccl -= 65536

# 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: Primjenjivost Kodeksa

Obradivost Kodeksa
Obradivost Kodeksa

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

Pokrenite naredbe za kompajliranje i postavljanje koda u terminal i pogledajte prinos na ekranu. Nakon nekoliko minuta, demonstrirat će svaki od parametara. Nakon što jamčite da sve funkcionira bez napora, možete se usuditi odvesti na vrijedniji poduhvat.

Korak 5: Aplikacije i značajke

Proizveden od strane STMicroelectronics, LIS3DHTR ima dinamičke korisničke skale koje se mogu birati od ± 2 g/± 4 g/± 8 g/± 16 g i sposoban je mjeriti ubrzanja s izlaznim brzinama prijenosa podataka od 1Hz do 5kHz. LIS3DHTR je prikladan za funkcije aktivirane pokretom i detekciju slobodnog pada. 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 prepoznavanje klikova/dvostrukih klikova, inteligentnu uštedu energije za ručne uređaje, pedometar, orijentaciju ekrana, ulazne uređaje za igre i virtuelnu stvarnost, prepoznavanje uticaja i evidentiranje te nadgledanje i kompenzaciju vibracija.

Korak 6: Zaključak

Vjerujte da ovaj poduhvat potiče daljnja eksperimentiranja. Ovaj I2C senzor je fenomenalno prilagodljiv, skroman i dostupan. Budući da je to u velikoj mjeri nestalni okvir, 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 pedometra pomoću LIS3DHTR i Raspberry Pi. U gornjem zadatku koristili smo fundamentalna izračunavanja. Ubrzanje može biti relevantan parametar za analizu pravila hodanja. Možete provjeriti tri komponente kretanja za pojedinca: naprijed (kotrljanje, X), bočno (nagib, Y) i okomito (os zakretanja, Z). Snimljen je tipičan uzorak za sve 3 osi. Najmanje 1 osa će imati relativno velike periodične vrijednosti ubrzanja. Stoga su smjer vrha i algoritam bitni. Uzimajući u obzir korake Parametar (digitalni filter, otkrivanje vršnih vrijednosti, vremenski prozor itd.) Ovog algoritma, možete prepoznati i prebrojati korake, kao i mjeriti udaljenost, brzinu i, u određenoj mjeri, potrošene kalorije. Dakle, ovaj senzor možete koristiti na različite načine. Verujemo da vam se svima sviđa! Pokušat ćemo prije ili kasnije izvršiti radnu izvedbu ovog pedometra, konfiguraciju, kôd, dio koji računa na način razdvajanja hodanja i trčanja i sagorijevanje kalorija.

Za vašu utjehu, na YouTubeu imamo intrigantan video koji bi vam mogao pomoći pri pregledu. Vjerujte da ovaj poduhvat motivira daljnja istraživanja. Nastavite razmišljati! Ne zaboravite tražiti jer se uporno nadolazi sve više.

Preporučuje se: