Obsah:

Motion Control With Raspberry Pi and LIS3DHTR, 3-Axis Accelerometer, Using Python: 6 Steps
Motion Control With Raspberry Pi and LIS3DHTR, 3-Axis Accelerometer, Using Python: 6 Steps

Video: Motion Control With Raspberry Pi and LIS3DHTR, 3-Axis Accelerometer, Using Python: 6 Steps

Video: Motion Control With Raspberry Pi and LIS3DHTR, 3-Axis Accelerometer, Using Python: 6 Steps
Video: 6 DOF IMU (3 axis accelerometer, 3 axis gyroscope), Arduino, OpenGL, Python, complementary filter 2024, Listopad
Anonim
Image
Image
Základní hardware, který požadujeme
Základní hardware, který požadujeme

Krása nás obklopuje, ale obvykle musíme chodit po zahradě, abychom to poznali. - Rumi

Jako vzdělaná skupina, kterou se zdáme být, investujeme drtivou většinu své energie do práce před počítači a mobilním telefonem. Proto často necháváme naši pohodu v sekundárním salonku, nikdy skutečně nenacházíme ideální příležitost jít do posilovny nebo fitness třídy a zpravidla vybíráme rychlé občerstvení před mnohem prospěšnějšími možnostmi. Povzbudivou zprávou je, zda vám stačí jen pomoc s vedením záznamů nebo sledovat váš pokrok, můžete využít dnešní inovaci k výrobě nějakého gadgetu, který vám pomůže.

Technologie se rychle vyvíjí. Důsledně se chytíme nějaké nové inovace, která změní svět a způsob, jakým se v něm učíme. Když máte rádi počítače, kódování a roboty nebo si jen rádi pohrajete, je tu technologické požehnání. Raspberry Pi, mikropodnikový počítač s jednou deskou Linux, se zaměřuje na zlepšování způsobu, jakým se učíte pomocí inovativní technologie, ale také na klíč ke zlepšování učení ve vzdělávání po celém světě. Jaké jsou tedy možné výsledky a co můžeme dělat, pokud máme poblíž Raspberry Pi a 3osý akcelerometr? Co kdybychom to našli! V tomto úkolu zkontrolujeme zrychlení na 3 kolmých osách, X, Y a Z pomocí Raspberry Pi a LIS3DHTR, 3osého akcelerometru. Na této cestě bychom tedy měli vidět vytvoření systému pro kontrolu 3-dimenzionálního zrychlení nahoru nebo G-Force.

Krok 1: Základní hardware, který požadujeme

Základní hardware, který požadujeme
Základní hardware, který požadujeme
Základní hardware, který požadujeme
Základní hardware, který požadujeme

Problémů pro nás bylo méně, protože máme obrovské množství věcí, od kterých se dá pracovat. V každém případě víme, jak je pro ostatní problematické shromažďovat správnou část v neposkvrněném čase z užitečného místa, a že se brání věnovat malou pozornost každému penny. Pomohli bychom vám tedy. Kompletní seznam dílů získáte podle přiloženého dokumentu.

1. Raspberry Pi

Prvním krokem bylo získání desky Raspberry Pi. Raspberry Pi je jednodeskový počítač na bázi Linuxu. Tento malý počítač má ohromný výpočetní výkon, který se používá jako součást aktivit gadgetů a jednoduchých operací, jako jsou tabulky, příprava textu, skenování webu a e -mail a hry.

2. I2C štít pro Raspberry Pi

Hlavním problémem, který Raspberry Pi skutečně chybí, je port I²C. Konektor TOUTPI2 I²C vám tedy dává smysl používat Rasp Pi s JAKÝMKOLI zařízením I²C. Je k dispozici v obchodě DCUBE

3. 3osý akcelerometr, LIS3DHTR

LIS3DH je vysoce výkonný tříosý lineární akcelerometr s ultra nízkým výkonem, patřící do rodiny „nano“, se standardním výstupem digitálního sériového rozhraní I2C/SPI. Tento senzor jsme získali z obchodu DCUBE

4. Připojovací kabel

Spojovací kabel I2C jsme získali z obchodu DCUBE

5. Micro USB kabel

Nejmenší zmatený, a přesto nejpřísnější do té míry potřeby napájení, je Raspberry Pi! Nejjednodušší způsob řešení je použití kabelu Micro USB.

6. Web Access is Need

INTERNETOVÉ děti NIKDY nespí

Spojte svůj Raspberry Pi s ethernetovým (LAN) kabelem a připojte jej k síťovému routeru. Volitelné, vyhledejte konektor WiFi a pomocí jednoho z portů USB se dostanete ke vzdálenému systému. Je to bystré rozhodnutí, jednoduché, malé a nekvalitní!

7. Kabel HDMI/vzdálený přístup

Raspberry Pi má port HDMI, který můžete konkrétně připojit k obrazovce nebo televizi pomocí kabelu HDMI. Volitelné, můžete použít SSH ke spojení s vaším Raspberry Pi z Linux PC nebo Macintosh z terminálu. Podobně jako slušná alternativa zní PuTTY, bezplatný a otevřený emulátor terminálu.

Krok 2: Připojení hardwaru

Připojení hardwaru
Připojení hardwaru
Připojení hardwaru
Připojení hardwaru
Připojení hardwaru
Připojení hardwaru

Vytvořte obvod podle schématu. Nakreslete diagram a vezměte si přesně obrys. Představivost je důležitější než znalosti.

Připojení Raspberry Pi a I2C Shield

Především vezměte Raspberry Pi a všimněte si na něm I2C Shield. Jemně přitlačte štít na GPIO piny Pi a jsme hotovi s touto progresí tak jednoduchou jako koláč (viz snap).

Připojení senzoru a Raspberry Pi

Vezměte s sebou senzor a propojte kabel I2C. Pro správnou funkci tohoto kabelu si prosím VŽDY spomeňte výstup I2C se vstupem I2C. Totéž je třeba vzít v úvahu pro Raspberry Pi s I2C štítem namontovaným přes GPIO piny.

Schvalujeme použití kabelu I2C, protože to popírá nutnost zkoumat vývody, upevnění a nepohodlí způsobené i tím nejmenším pokazením. Díky tomuto základnímu kabelu pro připojení a přehrávání můžete efektivně prezentovat, vyměňovat miniaplikace nebo přidávat další gadgety do aplikace. To usnadňuje pracovní hmotnost až na významnou úroveň.

Poznámka: Hnědý vodič by měl spolehlivě sledovat uzemnění (GND) mezi výstupem jednoho zařízení a vstupem jiného zařízení

Klíčem je webová síť

Abychom dosáhli vítězství, potřebujeme pro náš Raspberry Pi internetové připojení. K tomu máte možnosti, jako je propojení ethernetového (LAN) kabelu s domácí sítí. Kromě toho, jako alternativa, ať už je to jakkoli, vstřícným kurzem je použití WiFi USB konektoru. K tomu zpravidla potřebujete ovladač, aby fungoval. V popisu se tedy přikloňte k té s Linuxem.

Zdroj napájení

Zapojte kabel Micro USB do napájecího konektoru Raspberry Pi. Udeřte a jsme připraveni.

Připojení k obrazovce

Můžeme mít kabel HDMI přidružený k jiné obrazovce. V některých případech se musíte dostat k Raspberry Pi bez jeho připojení k obrazovce, nebo budete muset zobrazit některá data z něj odjinud. Je možné, že existují inovativní a finančně důvtipné přístupy k tomu, jak to udělat. Jedním z nich je použití -SSH (vzdálené přihlášení do příkazového řádku). K tomu můžete také použít software PUTTY. Ty jsou pro pokročilé uživatele. Podrobnosti zde tedy nejsou zahrnuty.

Krok 3: Kódování Pythonu pro Raspberry Pi

Kódování Pythonu pro Raspberry Pi
Kódování Pythonu pro Raspberry Pi

Kód Pythonu pro snímač Raspberry Pi a LIS3DHTR je přístupný v našem GithubRepository.

Než přistoupíte ke kódu, přečtěte si pravidla uvedená v archivu Readme a podle něj nastavte svůj Raspberry Pi. Bude to jen na chvíli oddechnout, aby se udělaly všechny zvažované věci.

Akcelerometr je elektromechanický přístroj, který měří síly zrychlení. Tyto síly mohou být statické, podobné konstantní gravitační síle přitahující se k vašim nohám, nebo mohou být měnitelné - vyvolané pohybem nebo vibracemi akcelerometru.

Doprovodný je kód pythonu a kód můžete klonovat a upravovat jakýmkoli způsobem, ke kterému se přikloníte.

# Distribuováno s licencí svobodné vůle.# Používejte jej libovolným způsobem, ať už ziskem nebo zdarma, za předpokladu, že se vejde do licencí souvisejících děl. # LIS3DHTR # Tento kód je navržen tak, aby fungoval s mini modulem LIS3DHTR_I2CS I2C, který je k dispozici na adrese dcubestore.com # https://dcubestore.com/product/lis3dhtr-3-axis-accelerometer-digital-output-motion-sensor-i%C2 %B2c-mini-modul/

importovat smbus

čas importu

# Získejte autobus I2C

bus = smbus. SMBus (1)

# Adresa LIS3DHTR, 0x18 (24)

# Vyberte řídicí registr1, 0x20 (32) # 0x27 (39) Režim zapnutí, výběr datové rychlosti = 10 Hz # X, Y, sběrnice s povolenou osou Z.write_byte_data (0x18, 0x20, 0x27) # Adresa LIS3DHTR, 0x18 (24) # Select control register4, 0x23 (35) # 0x00 (00) Continuous update, Full-scale selection = +/- 2G bus.write_byte_data (0x18, 0x23, 0x00)

time.sleep (0,5)

# Adresa LIS3DHTR, 0x18 (24)

# Přečíst data zpět z 0x28 (40), 2 bajty # X osa LSB, data osy X MSB0 = bus.read_byte_data (0x18, 0x28) data1 = bus.read_byte_data (0x18, 0x29)

# Převeďte data

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

# Adresa LIS3DHTR, 0x18 (24)

# Číst data zpět z 0x2A (42), 2 bajty # Osa Y LSB, data osy Y MSB = bus.read_byte_data (0x18, 0x2A) data1 = bus.read_byte_data (0x18, 0x2B)

# Převeďte data

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

# Adresa LIS3DHTR, 0x18 (24)

# Přečíst data zpět z 0x2C (44), 2 bajty # Z-osa LSB, ZB osa MSB data0 = bus.read_byte_data (0x18, 0x2C) data1 = bus.read_byte_data (0x18, 0x2D)

# Převeďte data

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

# Výstup dat na obrazovku

tisk "Zrychlení v ose X: %d" %xAccl tisk "Zrychlení v ose Y: %d" %yAccl tisk "Zrychlení v ose Z: %d" %zAccl

Krok 4: Zpracovatelnost kódu

Zpracovatelnost kodexu
Zpracovatelnost kodexu

Stáhněte (nebo git pull) kód z Githubu a otevřete jej v Raspberry Pi.

Spusťte příkazy pro kompilaci a nahrání kódu do terminálu a podívejte se na výtěžek na obrazovce. Po několika minutách předvede každý z parametrů. V důsledku zajištění toho, že vše funguje bez námahy, se můžete odvážit odvážit se na pozoruhodnější podnik.

Krok 5: Aplikace a funkce

Vyrábí STMicroelectronics, LIS3DHTR má dynamicky uživatelem volitelné plné stupnice ± 2g/± 4g/± 8g/± 16g a je schopen měřit zrychlení s výstupními datovými rychlostmi od 1Hz do 5kHz. LIS3DHTR je vhodný pro funkce aktivované pohybem a detekci volného pádu. Kvantifikuje statické zrychlení gravitace v aplikacích s detekcí náklonu a navíc přichází dynamické zrychlení kvůli pohybu nebo šoku. Mezi další aplikace patří například rozpoznávání kliknutí/dvojitého kliknutí, inteligentní úspora energie pro ruční zařízení, krokoměr, orientace displeje, vstupní zařízení pro hraní a virtuální realitu, rozpoznávání a protokolování nárazů a monitorování a kompenzace vibrací.

Krok 6: Závěr

Věřte, že tento závazek podněcuje další experimentování. Tento snímač I2C je fenomenálně přizpůsobivý, skromný a dostupný. Vzhledem k tomu, že jde o nestálý rámec do úžasné míry, existují zajímavé způsoby, jak můžete toto přiřazení rozšířit a ještě vylepšit.

Můžete například začít s myšlenkou krokoměru pomocí LIS3DHTR a Raspberry Pi. Ve výše uvedeném úkolu jsme použili základní výpočty. Zrychlení může být relevantním parametrem pro analýzu vládnoucí chůze. Můžete zkontrolovat tři složky pohybu pro jednotlivce, které jsou vpřed (roll, X), boční (rozteč, Y) a vertikální (osa zatáčení, Z). Je zaznamenán typický vzor všech 3 os. Minimálně 1 osa bude mít relativně velké hodnoty periodického zrychlení. Směr špičky a algoritmus jsou tedy zásadní. S přihlédnutím k parametrům kroků (digitální filtr, detekce špiček, časové okno atd.) Tohoto algoritmu můžete rozpoznávat a počítat kroky a také měřit vzdálenost, rychlost a do určité míry spálené kalorie. Tento senzor byste tedy mohli využít různými způsoby, které můžete zvážit. Věříme, že se vám všem líbí! Pokusíme se vytvořit pracovní ztvárnění tohoto krokoměru dříve než později, konfiguraci, kód, část počítající prostředky k oddělení chůze a běhu a spálené kalorie.

Pro vaši útěchu máme na YouTube zajímavé video, které vám může pomoci při zkoumání. Věřte, že tento podnik motivuje další průzkum. Pokračujte v přemýšlení! Nezapomeňte se starat o to, jak se neustále objevují další.

Doporučuje: