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, Studeni
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 skupina kakvom se činimo, veliku većinu energije ulažemo radeći prije računala i mobitela. Stoga često dopuštamo našoj dobrobiti da ide u sekundarni salon, nikada uistinu ne pronalazeći idealnu priliku za odlazak u teretanu ili na satove fitnessa te u pravilu birajući brzu hranu umjesto mnogo korisnijih izbora. Uzbudljiva je vijest je li vam potrebna samo pomoć u vođenju evidencije ili za praćenje vašeg napretka, današnju inovaciju možete iskoristiti za izradu nekog gadgeta kako biste si 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čunalima, kodiranjem i robotima ili samo volite petljati, postoji tehnološki blagoslov. Raspberry Pi, mikro računalo s jednom pločom za Linux, posvećeno je poboljšanju načina na koji učite s inovativnom tehnologijom, ali i ključu za poboljšanje obrazovanja u cijelom svijetu. Dakle, koji su mogući rezultati onoga što možemo učiniti ako u blizini imamo Raspberry Pi i troosni akcelerometar? Kako bi bilo da ovo pronađemo! U ovom ćemo zadatku provjeriti 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 sustava 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 budući da 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 novčić. Pa bismo vam pomogli. Slijedite priloženi dokument kako biste dobili potpuni popis dijelova.

1. Malina Pi

Prvi korak bio je dobivanje Raspberry Pi ploče. Raspberry Pi je osobno računalo zasnovano na Linuxu. Ovo malo računalo ima veliku snagu računanja, koje se koristi kao dio aktivnosti gadgeta, i jednostavnih operacija poput proračunskih tablica, pripreme riječi, skeniranja weba i e -pošte te igara.

2. I2C štit za Raspberry Pi

Primarna briga da Raspberry Pi uistinu nedostaje je I²C priključak. Dakle, za to vam priključak TOUTPI2 I²C daje smisao koristiti Rasp Pi s BILO KIM I²C uređajima. Dostupno je u trgovini DCUBE

3. Troosni akcelerometar, LIS3DHTR

LIS3DH je troosni linearni akcelerometar iznimno male snage i visokih performansi koji pripada "nano" obitelji, sa standardnim izlazom za digitalno I2C/SPI serijsko sučelje. Ovaj smo senzor nabavili iz trgovine DCUBE

4. Spojni kabel

I2C spojni kabel nabavljeni smo izDCUBE trgovine

5. Mikro USB kabel

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

6. Web pristup je potreba

INTERNET djeca NIKADA ne spavaju

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

7. HDMI kabel/daljinski pristup

Raspberry Pi ima HDMI priključak koji možete posebno povezati s zaslonom ili televizorom pomoću HDMI kabela. Izborno, možete koristiti SSH za povezivanje s vašim Raspberry Pi s Linux računala ili Macintosha s 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 Shield na njemu. Nježno pritisnite Shield preko GPIO pinova Pi i završili smo s ovom progresijom jednostavnom poput pite (pogledajte snimku).

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.

Održavamo uporabu I2C kabela jer negira potrebu za ispitivanjem iskrivljenja, pričvršćivanja i nelagode izazvane čak i najmanjim zezanjem. S ovim temeljnim kabelom za povezivanje i reprodukciju možete učinkovito prezentirati, zamijeniti gadgete ili dodati još gadgeta u aplikaciju. To olakšava radnu težinu do značajne razine.

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š poduhvat pobijedio, potrebna nam je internetska udruga za naš Raspberry Pi. U tu svrhu imate izbore poput povezivanja Ethernet (LAN) kabela spojenog s kućnom mrežom. Nadalje, kao alternativa, koliko god bilo, prilagodljiv tečaj je korištenje WiFi USB konektora. U pravilu je za rad potreban vozač. Zato se u opisu priklonite onom s Linuxom.

Napajanje

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

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. 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 nastavite s kodom, provjerite jeste li pročitali pravila navedena u arhivi Readme i postavite Raspberry Pi prema njemu. To će samo predah na trenutak učiniti sve što je potrebno.

Akcelerometar je elektromehanički uređaj koji će mjeriti sile ubrzanja. Te bi moći mogle biti statične, slične stalnoj sili gravitacije koja vuče vaša stopala, ili bi se mogle 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.

# Distribuirano s licencom slobodne volje.# Koristite ga kako god želite, profitno ili besplatno, pod uvjetom da se uklapa u licence povezanih djela. # LIS3DHTR # Ovaj kôd 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/

uvoz smbus

vrijeme 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 upravljački registar4, 0x23 (35) # 0x00 (00) Kontinuirano ažuriranje, odabir u punom opsegu = +/- 2G sabirnica.write_byte_data (0x18, 0x23, 0x00)

vrijeme.spavanje (0,5)

# LIS3DHTR adresa, 0x18 (24)

# Očitavanje podataka s 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 = podaci1 * 256 + podaci0 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 = podatak1 * 256 + podatak0 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_bajt_podatke (0x18, 0x2C) data1 = sabirnica.čitaj_bajt_podatke (0x18, 0x2D)

# Pretvorite podatke

zAccl = podatak1 * 256 + podatak0 ako je zAccl> 32767: zAccl -= 65536

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

Obradivost Kodeksa
Obradivost Kodeksa

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

Pokrenite naredbe za sastavljanje i prijenos koda u terminalu i pogledajte prinos na ekranu. Nakon nekoliko minuta, pokazat će svaki od parametara. Nakon što jamčite da sve radi bez napora, možete se usuditi odvesti na vrijedniji pothvat.

Korak 5: Aplikacije i značajke

Proizveden od strane tvrtke STMicroelectronics, LIS3DHTR ima dinamički odabir korisnika pune ljestvice 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. Ostale aplikacije uključuju prepoznavanje klika/dvostrukog klika, inteligentnu uštedu energije za ručne uređaje, mjerač koraka, orijentaciju zaslona, igranje i ulazne uređaje za virtualnu stvarnost, prepoznavanje utjecaja te bilježenje i praćenje vibracija i kompenzaciju.

Korak 6: Zaključak

Vjerujte da ovaj pothvat 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 započeti s idejom mjerača koraka pomoću LIS3DHTR i Raspberry Pi. U gornjem zadatku koristili smo temeljna 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). Bilježi se tipičan uzorak za sve 3 osi. Najmanje 1 os ć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 brojati korake, kao i mjeriti udaljenost, brzinu i, u određenoj mjeri, potrošene kalorije. Stoga biste ovaj senzor mogli koristiti na različite načine. Vjerujemo da vam se svima sviđa! Pokušat ćemo prije učiniti radnu izvedbu ovog mjerača koraka, 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 vam može pomoći pri pregledu. Vjerujte da ovaj pothvat motivira daljnja istraživanja. Nastavite razmišljati! Ne zaboravite tražiti jer uporno dolazi sve više.

Preporučeni: