Obsah:

Pohybové ovládanie s Raspberry Pi a LIS3DHTR, 3-osým akcelerometrom, pomocou Pythonu: 6 krokov
Pohybové ovládanie s Raspberry Pi a LIS3DHTR, 3-osým akcelerometrom, pomocou Pythonu: 6 krokov

Video: Pohybové ovládanie s Raspberry Pi a LIS3DHTR, 3-osým akcelerometrom, pomocou Pythonu: 6 krokov

Video: Pohybové ovládanie s Raspberry Pi a LIS3DHTR, 3-osým akcelerometrom, pomocou Pythonu: 6 krokov
Video: Detektor pritomnosti Niko osvetlenie a ventilacia 2024, November
Anonim
Image
Image
Základný hardvér, ktorý požadujeme
Základný hardvér, ktorý požadujeme

Krása nás obklopuje, ale spravidla je potrebné, aby sme sa prechádzali po záhrade, aby sme to poznali. - Rumi

Ako vzdelaná skupina, ktorou sa zdáme byť, investujeme veľkú väčšinu energie do práce pred počítačmi a mobilnými telefónmi. Preto často nechávame svoju pohodu v sekundárnom salóniku, nikdy skutočne nenájdeme ideálnu príležitosť ísť do posilňovne alebo fitnes triedy a spravidla si vyberáme rýchle občerstvenie z oveľa prospešnejších možností. Povzbudivou správou je, či už potrebujete iba pomoc s uchovávaním záznamov alebo sledovať svoj pokrok, môžete využiť dnešné inovácie na výrobu pomôcok, ktoré vám pomôžu.

Technológia sa rýchlo vyvíja. Dôsledne sa chytíme nových inovácií, ktoré zmenia svet a spôsob, akým sa v ňom učíme. Ak máte radi počítače, kódovanie a roboty alebo si len radi pohrávate, existuje technické požehnanie. Raspberry Pi, micro, jednodoskový počítač Linux, sa zameriava na zlepšenie spôsobu, akým sa učíte pomocou inovatívnej technológie, ale je tiež kľúčom k zlepšeniu vzdelávania vo svete. Aké sú teda možné výsledky a čo môžeme urobiť, ak máme blízko seba Raspberry Pi a 3-osový akcelerometer? Čo keby sme to našli! V tejto úlohe skontrolujeme zrýchlenie na 3 kolmých osiach, X, Y a Z pomocou 3-osového akcelerometra Raspberry Pi a LIS3DHTR. Na tejto ceste by sme teda mali vidieť vytvorenie systému na kontrolu trojrozmerného zrýchlenia alebo sily G.

Krok 1: Základný hardvér, ktorý požadujeme

Základný hardvér, ktorý požadujeme
Základný hardvér, ktorý požadujeme
Základný hardvér, ktorý požadujeme
Základný hardvér, ktorý požadujeme

Problémov bolo pre nás menej, pretože máme okolo seba obrovské množstvo vecí, z ktorých môžeme pracovať. V každom prípade vieme, ako je pre ostatných problematické hromadiť správnu časť v nepoškvrnenom čase z užitočného miesta, a že sa bráni venovať malú pozornosť každému penny. Pomohli by sme vám teda. Kompletný zoznam dielov získate podľa priloženého dokumentu.

1. Raspberry Pi

Prvým krokom bolo získanie dosky Raspberry Pi. Raspberry Pi je jednodoskový počítač na báze Linuxu. Tento malý počítač ponúka množstvo výpočtového výkonu, ktorý sa používa ako súčasť aktivít miniaplikácií a jednoduchých operácií, ako sú tabuľky, príprava slov, skenovanie webu a e -mail a hry.

2. I2C štít pre Raspberry Pi

Hlavným problémom, ktorý Raspberry Pi skutočne chýba, je port I²C. Konektor TOUTPI2 I²C vám teda dáva zmysel používať Rasp Pi s KAŽDÝM z I²C zariadení. Je k dispozícii v obchode DCUBE

3. 3-osový akcelerometer, LIS3DHTR

LIS3DH je vysoko výkonný trojosový lineárny akcelerometer s ultra nízkym výkonom, ktorý patrí do rodiny „nano“, so štandardným výstupom digitálneho sériového rozhrania I2C/SPI. Tento senzor sme získali z obchodu DCUBE Store

4. Pripojovací kábel

Spojovací kábel I2C sme získali z obchodu DCUBE Store

5. Kábel Micro USB

Najmenším zmäteným, ale zároveň najprísnejším výkonom je Raspberry Pi! Najjednoduchší spôsob riešenia je pomocou kábla Micro USB.

6. Webový prístup je potrebný

INTERNET deti NIKDY nespia

Pripojte svoj Raspberry Pi k ethernetovému (LAN) káblu a pripojte ho k sieťovému smerovaču. Voliteľné, vyhľadajte konektor WiFi a pomocou jedného z portov USB sa dostanete do vzdialeného systému. Je to bystré rozhodnutie, jednoduché, malé a nekvalitné!

7. Kábel HDMI/vzdialený prístup

Raspberry Pi má port HDMI, ktorý môžete konkrétne pripojiť k obrazovke alebo televízoru pomocou kábla HDMI. Voliteľné, môžete použiť SSH na priradenie k vášmu Raspberry Pi z Linux PC alebo Macintosh z terminálu. Rovnako PuTTY, bezplatný a otvorený zdrojový emulátor terminálov, znie ako dôstojná alternatíva.

Krok 2: Pripojenie hardvéru

Pripojenie hardvéru
Pripojenie hardvéru
Pripojenie hardvéru
Pripojenie hardvéru
Pripojenie hardvéru
Pripojenie hardvéru

Vytvorte obvod podľa schémy, ktorá sa objavila. Nakreslite diagram a urobte presne za ním. Predstavivosť je dôležitejšia ako znalosti.

Pripojenie štítu Raspberry Pi a I2C

Predovšetkým vezmite Raspberry Pi a všimnite si na ňom štít I2C. Jemne pritlačte štít na kolíky GPIO Pi a skončíme s týmto postupom jednoduchým ako koláč (pozri snímku).

Pripojenie senzora a Raspberry Pi

Vezmite so sebou senzor a prepojte kábel I2C. Pre správnu funkciu tohto kábla si prosím VŽDY spojte výstup I2C so vstupom I2C. To isté je potrebné urobiť aj vtedy, ak sú na Raspberry Pi s kolíkom I2C namontovaným nad ním kolíky GPIO.

Schvaľujeme používanie kábla I2C, pretože neguje potrebu skúmania vývodov, zapínania a nepohodlia spôsobeného aj najmenším pokazením. Vďaka tomuto základnému káblu na pripojenie a prehrávanie môžete efektívne prezentovať, vymieňať moduly gadget alebo do aplikácie pridávať ďalšie moduly gadget. To uľahčuje pracovnú hmotnosť až na významnú úroveň.

Poznámka: Hnedý vodič by mal spoľahlivo nasledovať uzemnenie (GND) medzi výstupom jedného zariadenia a vstupom iného zariadenia

Webová sieť je kľúčová

Aby bolo naše úsilie víťazné, potrebujeme pre naše Raspberry Pi internetové združenie. K tomu máte možnosti, ako je prepojenie ethernetového (LAN) kábla s domácou sieťou. Ďalej, ako alternatíva, ako to môže byť, ubytovacím kurzom je použitie WiFi USB konektora. Spravidla to vyžaduje ovládač, aby to fungovalo. V popise sa teda prikloňte k tej s Linuxom.

Zdroj

Zapojte kábel Micro USB do napájacieho konektora Raspberry Pi. Dajte si pauzu a sme pripravení.

Pripojenie k obrazovke

Kábel HDMI môžeme priradiť k inej obrazovke. V niektorých prípadoch sa musíte dostať k Raspberry Pi bez toho, aby ste ho museli prepojiť s obrazovkou, alebo budete musieť z neho zobraziť niektoré údaje odinakiaľ. Je možné, že existujú inovatívne a finančne zdatné prístupy k tomu, ako to urobiť. Jeden z nich používa -SSH (vzdialené prihlásenie do príkazového riadka). Na to môžete tiež použiť softvér PUTTY. Sú určené pre pokročilých používateľov. Podrobnosti tu teda nie sú zahrnuté.

Krok 3: Kódovanie Pythonu pre Raspberry Pi

Kódovanie Pythonu pre Raspberry Pi
Kódovanie Pythonu pre Raspberry Pi

Kód Python pre snímač Raspberry Pi a LIS3DHTR je dostupný v našom úložisku GithubRepository.

Predtým, ako pristúpite ku kódu, prečítajte si pravidlá uvedené v archíve Readme a nastavte podľa neho svoje Raspberry Pi. Chvíľu to bude odpočívať, aby ste urobili všetky zvažované veci.

Akcelerometer je elektromechanický prístroj, ktorý meria akceleračné sily. Tieto sily môžu byť statické, podobné konštantnej gravitačnej sile, ktorá vám ťahá nohy, alebo sa dajú zmeniť - môžu sa prejaviť pohybom alebo vibrovaním akcelerometra.

Priložený je kód pythonu a kód môžete klonovať a upravovať akýmkoľvek spôsobom, ku ktorému sa prikloníte.

# Distribuované s licenciou slobodnej vôle.# Používajte ho akýmkoľvek spôsobom chcete, so ziskom alebo zadarmo, za predpokladu, že sa zmestí do licencií k ním pridruženým dielam. # LIS3DHTR # Tento kód je navrhnutý tak, aby fungoval s mini modulom LIS3DHTR_I2CS I2C dostupným na adrese dcubestore.com # https://dcubestore.com/product/lis3dhtr-3-axis-accelerometer-digital-output-motion-sensor-i%C2 %B2c-mini-modul/

import smbus

čas importu

# Získajte autobus I2C

bus = smbus. SMBus (1)

# Adresa LIS3DHTR, 0x18 (24)

# Select control register1, 0x20 (32) # 0x27 (39) Power ON mode, Data rate selection = 10 Hz # X, Y, Z-Axis enabled bus.write_byte_data (0x18, 0x20, 0x27) # LIS3DHTR address, 0x18 (24) # Vyberte riadiaci register4, 0x23 (35) # 0x00 (00) Nepretržitá aktualizácia, výber v plnom rozsahu = +/- 2G bus.write_byte_data (0x18, 0x23, 0x00)

čas.spánok (0,5)

# Adresa LIS3DHTR, 0x18 (24)

# Načítajte údaje späť z 0x28 (40), 2 bajty # Os X X LSB, Údaje osi X osi X = bus.read_byte_data (0x18, 0x28) data1 = bus.read_byte_data (0x18, 0x29)

# Previesť údaje

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

# Adresa LIS3DHTR, 0x18 (24)

# Načítajte údaje späť z 0x2A (42), 2 bajty # Osa Y LSB, MSB údaje osi Y0 = bus.read_byte_data (0x18, 0x2A) data1 = bus.read_byte_data (0x18, 0x2B)

# Previesť údaje

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

# Adresa LIS3DHTR, 0x18 (24)

# Načítať údaje späť z 0x2C (44), 2 bajty # Z-os LSB, osová MSB data0 = bus.read_byte_data (0x18, 0x2C) data1 = bus.read_byte_data (0x18, 0x2D)

# Previesť údaje

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

# Výstup údajov na obrazovku

vytlačiť "Zrýchlenie v osi X: %d" %xAccl vytlačiť "Zrýchlenie v osi Y: %d" %yAccl vytlačiť "Zrýchlenie v osi Z: %d" %zAccl

Krok 4: Realizovateľnosť kódexu

Realizovateľnosť kódexu
Realizovateľnosť kódexu

Stiahnite si (alebo git pull) kód z Githubu a otvorte ho v Raspberry Pi.

Spustite príkazy na kompiláciu a nahranie kódu do terminálu a pozrite sa na výťažok na obrazovke. Po niekoľkých minútach ukáže každý z parametrov. V dôsledku toho, aby ste zaistili, že všetko funguje bez námahy, sa môžete odvážiť ísť na pozoruhodnejší podnik.

Krok 5: Aplikácie a funkcie

LIS3DHTR, vyrobený spoločnosťou STMicroelectronics, má dynamicky užívateľsky voliteľné plné stupnice ± 2 g/± 4 g/± 8 g/± 16 g a je schopný merať zrýchlenia s výstupnými dátovými rýchlosťami od 1 Hz do 5 kHz. LIS3DHTR je vhodný pre funkcie aktivované pohybom a detekciu voľného pádu. Kvantifikuje statické zrýchlenie gravitácie v aplikáciách detekujúcich náklon a navyše dynamické zrýchlenie, ktoré sa môže vyskytnúť v dôsledku pohybu alebo šoku. Medzi ďalšie aplikácie patrí napríklad rozpoznávanie kliknutí/dvojitých kliknutí, inteligentné šetrenie energie pre ručné zariadenia, krokomer, orientácia displeja, vstupné zariadenia pre hry a virtuálnu realitu, rozpoznávanie a zaznamenávanie nárazov a monitorovanie a kompenzácia vibrácií.

Krok 6: Záver

Verte, že tento podnik podnecuje ďalšie experimentovanie. Tento snímač I2C je fenomenálne prispôsobivý, skromný a dostupný. Keďže ide o nestály rámec do úžasnej miery, existujú zaujímavé spôsoby, ako môžete túto úlohu rozšíriť a dokonca vylepšiť.

Môžete napríklad začať s myšlienkou krokomera pomocou LIS3DHTR a Raspberry Pi. Pri vyššie uvedenej úlohe sme použili základné výpočty. Zrýchlenie môže byť relevantným parametrom na analýzu vládnucej chôdze. Tri zložky pohybu môžete skontrolovať u jednotlivca, ktorý je vpred (rolovanie, X), bočný (rozstup, Y) a zvislý (os otáčania, Z). Zaznamená sa typický vzor všetkých 3 osí. Minimálne 1 os bude mať relatívne veľké hodnoty periodického zrýchlenia. Smer špičky a algoritmus sú teda nevyhnutné. S prihliadnutím na parametre krokov (digitálny filter, detekcia píkov, časové okno atď.) Tohto algoritmu môžete rozpoznať a počítať kroky, ako aj merať vzdialenosť, rýchlosť a do určitej miery spálené kalórie. Tento senzor môžete teda využiť rôznymi spôsobmi, ktoré môžete zvážiť. Veríme, že sa vám všetkým páči! Pokúsime sa vytvoriť pracovné prevedenie tohto krokomera skôr, ako neskôr, konfiguráciu, kód, časť počítajúcu prostriedky na oddelenie chôdze a behu a spálené kalórie.

Pre vašu útechu máme na YouTube zaujímavé video, ktoré vám môže pomôcť pri skúmaní. Verte, že tento podnik motivuje ďalšie skúmanie. Pokračujte v premýšľaní! Nezabudnite sa o to starať, pretože stále pribúdajú ďalšie.

Odporúča: