Obsah:

3osý akcelerometr, ADXL345 s Raspberry Pi pomocí Pythonu: 6 kroků
3osý akcelerometr, ADXL345 s Raspberry Pi pomocí Pythonu: 6 kroků

Video: 3osý akcelerometr, ADXL345 s Raspberry Pi pomocí Pythonu: 6 kroků

Video: 3osý akcelerometr, ADXL345 s Raspberry Pi pomocí Pythonu: 6 kroků
Video: Датчик абсолютной ориентации BNO055+BMP280. Лучший датчик! 10DOF AHRS 2024, Listopad
Anonim
3osý akcelerometr, ADXL345 s Raspberry Pi využívající Python
3osý akcelerometr, ADXL345 s Raspberry Pi využívající Python

Přemýšlíte o miniaplikaci, která dokáže zkontrolovat bod, ve kterém je váš Offroader nakloněn směrem k prodlevě. Nebylo by to příjemné v případě, že je někdo upraven, když existuje možnost převrhnutí? Evidentně ano. Bylo by to opravdu užitečné pro jednotlivce, kteří rádi jezdí na hory a podnikové výlety.

Bezpochyby je to skutečně brilantní období pokročilého vyhodnocování hodnocení, IoT je na nás. Jako milovníci gadgetů a programování věříme, že Raspberry Pi, počítač s mikroprocesorem s operačním systémem micro Linux, zacházel s kreativními schopnostmi lidí obecně a přinesl s sebou ohromný pokrok v inovativních metodikách. Jaké jsou tedy myslitelné výsledky toho, co můžeme udělat v případě, že máme poblíž Raspberry Pi a 3osý akcelerometr? Měli bychom objevit! V tomto úkolu pocítíme zrychlení na 3 osách, X, Y a Z s využitím Raspberry Pi a ADXL345, 3osého akcelerometru. Při této exkurzi bychom tedy měli pozorovat výrobu rámce pro měření 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
Základní hardware, který požadujeme
Základní hardware, který požadujeme

Problémů pro nás bylo méně, protože máme spoustu věcí, ze kterých můžeme pracovat. Nicméně víme, jak je pro ostatní obtížné sestavit správnou část v správném čase z vhodného místa, a to je odůvodněné bez ohledu na každý cent. Pomohli bychom vám tedy ve všech regionech. Přečtěte si následující informace, abyste získali kompletní seznam dílů.

1. Raspberry Pi

Prvním krokem bylo získání desky Raspberry Pi. Tento malý počítač s nízkým výkonem poskytuje levnou a obecně jednoduchou základnu pro podnikání s elektronikou, internet věcí (IoT), chytrá města, školní vzdělávání.

2. I2C štít pro Raspberry Pi

Hlavní věc, které Raspberry Pi skutečně chybí, je port I²C. Konektor TOUTPI2 I²C vám tedy dává smysl využívat Rasp Pi se zařízeními MULTIPLE I²C. Je přístupný v obchodě DCUBE

3. 3osý akcelerometr, ADXL345

ADXL345, vyráběný společností Analog Devices, je 3osý akcelerometr s nízkým výkonem a 13bitovým měřením s vysokým rozlišením až ± 16 g. Tento senzor jsme získali z obchodu DCUBE

4. Připojovací kabel

V obchodě DCUBE jsme měli přístupný propojovací kabel I2C

5. Micro USB kabel

Nejméně zmatený, ale nejpřísnější, pokud jde o nutnost napájení, je Raspberry Pi! Nejjednodušší přístup k zapnutí Raspberry Pi je pomocí kabelu Micro USB.

6. Web Access is Need

Přístup na web lze posílit pomocí kabelu Ethernet (LAN) spojeného s místní sítí a webem. Na druhou stranu se můžete spojit s bezdrátovou sítí pomocí bezdrátového klíče USB, který bude vyžadovat konfiguraci.

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

S kabelem HDMI na desce jej můžete připojit k digitální televizi nebo monitoru. Je třeba ušetřit peníze! Raspberry Pi lze vzdáleně dostat k používání charakteristických strategií, jako je SSH a přístup přes web. Můžete použít zdrojový software PuTTYopen.

Krok 2: Připojení hardwaru

Připojení hardwaru
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 obrys a záměrně proveďte konfiguraci.

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.

Předepisujeme využití kabelu I2C, protože vyvrací požadavek na prohlížení vývodů, pájení a malátnosti způsobené i tou nejmenší chybou. Pomocí tohoto základního kabelu typu plug and play můžete do aplikace snadno zavádět, vyměňovat zařízení nebo přidávat další zařízení. Díky tomu jsou věci nekomplikované.

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íť

Aby náš podnik vyhrál, potřebujeme pro naše Raspberry Pi webové připojení. K tomu máte alternativy, jako je propojení ethernetového (LAN) kabelu s domácím systémem. Kromě toho je volitelnou cestou využití konektoru WiFi. Někdy k tomu potřebujete ovladač, aby to fungovalo. Přikloňte se tedy k tomu, který má na obrázku Linux.

Zdroj napájení

Zapojte kabel Micro USB do napájecího konektoru Raspberry Pi. Rozsviťte to a můžeme vyrazit.

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 využití - SSH (vzdálené přihlášení do příkazového řádku). K tomu můžete také použít software PuTTY.

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 ADXL345 je přístupný v našem úložišti Github.

Než přejdete ke kódu, přečtěte si pokyny uvedené v dokumentu Readme a nastavte podle něj Raspberry Pi. Jednoduše se na minutu pozastaví.

Akcelerometr je zařízení, které měří správné zrychlení; správné zrychlení není totéž jako zrychlení souřadnic (rychlost změny rychlosti). Jednoosé a víceosé modely akcelerometru jsou přístupné k identifikaci velikosti a směru správného zrychlení jako vektorové veličiny a lze je využít ke snímání orientace, koordinace zrychlení, vibrací, rázů a pádů v odporovém médiu.

Kód je před vámi prostý a je v nejjednodušší struktuře, jakou si dokážete představit, a neměli byste mít žádné problémy.

# 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. # ADXL345 # Tento kód je navržen pro práci s mini modulem ADXL345_I2CS I2C, který je k dispozici na webu dcubestore.com # https://dcubestore.com/product/adxl345-3-axis-accelerometer-13-bit-i%C2%B2c-mini -modul/

importovat smbus

čas importu

# Získejte autobus I2C

bus = smbus. SMBus (1)

# Adresa ADXL345, 0x53 (83)

# Vyberte registr rychlosti přenosu šířky pásma, 0x2C (44) # 0x0A (10) Normální režim, výstupní datová rychlost = 100 Hz sběrnice. Zápis_byte_data (0x53, 0x2C, 0x0A) # adresa ADXL345, 0x53 (83) # Vyberte registr řízení výkonu, 0x2D (45) # 0x08 (08) Automatické vypnutí spánku bus.write_byte_data (0x53, 0x2D, 0x08) # ADXL345 adresa, 0x53 (83) # Vyberte datový formát registru, 0x31 (49) # 0x08 (08) Vlastní test deaktivován, 4vodičový interface # Full resolution, Range = +/- 2g bus.write_byte_data (0x53, 0x31, 0x08)

time.sleep (0,5)

# Adresa ADXL345, 0x53 (83)

# Přečíst data zpět z 0x32 (50), 2 bajty # Osa X LSB, X-osa MSB data0 = bus.read_byte_data (0x53, 0x32) data1 = bus.read_byte_data (0x53, 0x33)

# Převeďte data na 10 bitů

xAccl = ((data1 & 0x03) * 256) + data0 if xAccl> 511: xAccl -= 1024

# Adresa ADXL345, 0x53 (83)

# Přečíst data zpět z 0x34 (52), 2 bajty # Osa Y LSB, data osy Y MSB = bus.read_byte_data (0x53, 0x34) data1 = bus.read_byte_data (0x53, 0x35)

# Převeďte data na 10 bitů

yAccl = ((data1 & 0x03) * 256) + data0 if yAccl> 511: yAccl -= 1024

# Adresa ADXL345, 0x53 (83)

# Přečíst data zpět z 0x36 (54), 2 bajty # Z-osa LSB, osa Z MSB data0 = bus.read_byte_data (0x53, 0x36) data1 = bus.read_byte_data (0x53, 0x37)

# Převeďte data na 10 bitů

zAccl = ((data1 & 0x03) * 256) + data0 if zAccl> 511: zAccl -= 1024

# 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: Praktičnost kodexu

Praktičnost kodexu
Praktičnost 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ýstup na monitoru. Po několika okamžicích se zobrazí všechny parametry. V návaznosti na zajištění toho, aby vše fungovalo snadno, můžete tento podnik převést na větší úkol.

Krok 5: Aplikace a funkce

ADXL345 je malý, tenký, ultralehký, 3osý akcelerometr s měřením s vysokým rozlišením (13 bitů) až ± 16 g. ADXL345 je vhodný pro aplikace pro mobilní telefony. Kvantifikuje statické zrychlení gravitace v aplikacích s detekcí náklonu a navíc dynamické zrychlení, které se blíží pohybu nebo šoku. Mezi další aplikace patří mobilní telefony, lékařské přístroje, herní a polohovací zařízení, průmyslové přístroje, osobní navigační zařízení a ochrana pevného disku (HDD).

Krok 6: Závěr

Doufám, že tento úkol motivuje další experimentování. Tento senzor I2C je mimořádně flexibilní, levný a dostupný. Jelikož se jedná o do značné míry nestálý systém, existují zajímavé způsoby, jak tento úkol rozšířit a dokonce jej vylepšit.

Můžete například začít s myšlenkou Inclinometru pomocí ADXL345 a Raspberry Pi. Ve výše uvedeném projektu jsme použili základní výpočty. Můžete improvizovat kód pro hodnoty G, úhly sklonu (nebo náklonu), elevaci nebo depresi objektu s ohledem na gravitaci. Poté můžete zkontrolovat možnosti posunu, jako jsou úhly natočení pro náklon (osa zepředu dozadu, X), rozteč (osa ze strany na stranu, Y) a zatáčení (svislá osa, Z). Tento akcelerometr zobrazuje 3-D G-Forces. Tento senzor byste tedy mohli využít různými způsoby, které můžete zvážit.

Pro vaše pohodlí máme na YouTube fascinující video instruktážní cvičení, které vám může pomoci při vyšetřování. Věřte, že tento podnik motivuje další průzkum. Pokračujte v přemýšlení! Mějte na paměti, že je třeba hledat, protože se neustále objevují další.

Doporučuje: