Obsah:
- Krok 1: Základní hardware, který požadujeme
- Krok 2: Připojení hardwaru
- Krok 3: Kódování Pythonu pro Raspberry Pi
- Krok 4: Zpracovatelnost kódu
- Krok 5: Aplikace a funkce
- Krok 6: Závěr
Video: Motion Control With Raspberry Pi and LIS3DHTR, 3-Axis Accelerometer, Using Python: 6 Steps
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:20
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
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
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ó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
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:
Tutorial: How to Make a Simple Temperature Sensor by using DS18B20 and Arduino UNO: 3 Steps
Tutorial: How to Make a Simple Temperature Sensor by using DS18B20 and Arduino UNO: Description: This tutorial will show you a few simple steps how how to make temperature sensor automated. Trvá jen několik minut, než se váš projekt stane skutečností. Hodně štěstí ! Digitální teploměr DS18B20 poskytuje 9bitovou až 12bitovou teplotu Celsia
Augmented Reality (AR) for Dragonboard410c or Dragonboard820c using OpenCV and Python 3.5: 4 Steps
Augmented Reality (AR) for Dragonboard410c or Dragonboard820c using OpenCV and Python 3.5: This instructables describes how to install OpenCV, Python 3.5, and dependencies for Python 3.5 to run the augmented reality application
IOT Base Computing using Nodemcu and Micropython: 11 Steps
IOT Base Computing pomocí Nodemcu a Micropython: V tomto tutoriálu použiji k připojení serveru připojení NodeMcu, micropython a Mqtt. Tento tutoriál používá připojení mqtt založené na https pro připojení z Nodemcu na server Adafruit.io. V tomto projektu jsem pomocí programovacího jazyka mikropythonu
DIY Wave Tank/flume using Arduino and V-slot: 11 Steps (with Pictures)
DIY Wave Tank/flume pomocí Arduina a V-slotu: Wave tank je laboratorní zařízení pro pozorování chování povrchových vln. Typickou vlnovou nádrží je krabice naplněná kapalinou, obvykle vodou, přičemž nahoře zůstává otevřený nebo vzduchem naplněný prostor. Na jednom konci nádrže generuje pohon vlny; druhý e
Propagator Thermostat using ESP8266/NodeMCU and Blynk: 7 Steps (with Pictures)
Propagátorový termostat pomocí ESP8266/NodeMCU a Blynk: Nedávno jsem si koupil vyhřívaný propagátor, který by měl pomoci klíčení semen květin a zeleniny dříve v sezóně. Přišlo to bez termostatu. A protože jsou termostaty dost drahé, rozhodl jsem se vyrobit si vlastní. Jak jsem chtěl použít