Obsah:
- Krok 1: Základný hardvér, ktorý požadujeme
- Krok 2: Pripojenie hardvéru
- Krok 3: Kódovanie Pythonu pre Raspberry Pi
- Krok 4: Praktickosť kódexu
- Krok 5: Aplikácie a funkcie
- Krok 6: Záver
Video: 3-osý akcelerometer, ADXL345 s Raspberry Pi s využitím Pythonu: 6 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
Premýšľate o miniaplikácii, ktorá dokáže skontrolovať bod, v ktorom je váš Offroader naklonený smerom k oneskoreniu. Nebolo by to príjemné v prípade, že sa niekto upraví, keď existuje možnosť prevrátenia? Očividne áno. Bolo by to skutočne užitočné pre jednotlivcov, ktorí radi chodia do hôr a podnikať výlety.
IOT je bezpochyby na nás, skutočne brilantnom období pokročilého vyhodnocovania. Ako milovníci pomôcok a programovania veríme, že Raspberry Pi, počítač s operačným systémom micro Linux, spracoval kreatívne schopnosti ľudí vo všeobecnosti a priniesol so sebou výbuch v inovatívnych metodológiách. Aké sú teda mysliteľné výsledky, ktoré by sme mohli urobiť v prípade, že budeme mať Raspberry Pi a 3-osový akcelerometer blízko? Mali by sme objaviť! V tejto úlohe budeme cítiť zrýchlenie na 3 osiach, X, Y a Z pomocou 3-osového akcelerometra Raspberry Pi a ADXL345. Na tejto exkurzii by sme teda mali pozorovať a vytvoriť rámec na meranie trojrozmerného zrýchlenia alebo sily G.
Krok 1: Základný hardvér, ktorý požadujeme
Problémov bolo pre nás menej, pretože máme veľa vecí, z ktorých sa dá pracovať. Napriek tomu vieme, ako je pre ostatných problematické zostaviť správnu časť v správnom čase z vhodného miesta, a to je odôvodnené bez ohľadu na každý cent. Pomohli by sme vám teda vo všetkých regiónoch. Prečítajte si nasledujúce informácie, aby ste získali kompletný zoznam náhradných dielov.
1. Raspberry Pi
Prvým krokom bolo získanie dosky Raspberry Pi. Tento malý počítač s nízkym výkonom poskytuje lacnú a spravidla jednoduchú základňu pre podniky pôsobiace v oblasti elektroniky, internetu vecí (IoT), inteligentných miest a školského vzdelávania.
2. I2C štít pre Raspberry Pi
Hlavná vec, 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 so zariadeniami MULTIPLE I²C. Je prístupný v obchode DCUBE
3. 3-osový akcelerometer, ADXL345
ADXL345, vyrobený spoločnosťou Analog Devices, je trojosový akcelerometer s nízkym výkonom a 13-bitovým meraním s vysokým rozlíšením až do ± 16 g. Tento senzor sme získali z obchodu DCUBE Store
4. Pripojovací kábel
Spojovací kábel I2C sme mali prístupný v obchode DCUBE
5. Kábel Micro USB
Najmenší zmätok, ale najprísnejší, pokiaľ ide o potrebu energie, je Raspberry Pi! Najľahší spôsob napájania Raspberry Pi je pomocou kábla Micro USB.
6. Webový prístup je potrebný
Prístup na web je možné posilniť pomocou kábla Ethernet (LAN) spojeného s miestnou sieťou a webom. Na druhej strane sa môžete priradiť k bezdrôtovej sieti pomocou bezdrôtového kľúča USB, ktorý bude vyžadovať konfiguráciu.
7. Kábel HDMI/vzdialený prístup
S káblom HDMI na doske ho môžete pripojiť k digitálnej televízii alebo monitoru. Potrebujete ušetriť peniaze! K Raspberry Pi sa dá na diaľku dostať k používaniu charakteristických stratégií, ako sú SSH a prístup cez web. Môžete použiť zdrojový softvér PuTTYopen.
Krok 2: Pripojenie hardvéru
Vytvorte obvod podľa schémy, ktorá sa objavila. Nakreslite obrys a úmyselne pokračujte v konfigurácii.
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.
Predpisujeme použitie kábla I2C, pretože vyvracia požiadavku na preštudovanie vývodov, spájkovania a malátnosti spôsobenej aj najmenšou chybou. S týmto základným káblom typu plug and play môžete do aplikácie jednoducho zavádzať, vymieňať alebo pridávať ďalšie zariadenia. Vďaka tomu sú veci nekomplikované.
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 bol náš podnik víťazný, potrebujeme pre naše Raspberry Pi webové pripojenie. K tomu máte alternatívy, ako je prepojenie ethernetového (LAN) kábla s domácim systémom. Navyše, ako alternatíva, ako užitočná cesta je použiť konektor WiFi. Niekedy na to potrebujete ovládač, aby to fungovalo. Prikloňte sa teda k tomu, ktorý má na obrázku Linux.
Zdroj
Zapojte kábel Micro USB do napájacieho konektora Raspberry Pi. Zapáľte a môžeme vyraziť.
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.
Krok 3: Kódovanie Pythonu pre Raspberry Pi
Kód Python pre snímač Raspberry Pi a ADXL345 je dostupný v našom úložisku Github.
Predtým, ako prejdete ku kódu, prečítajte si pokyny uvedené v dokumente Readme a nastavte podľa neho Raspberry Pi. Ak to chcete urobiť, jednoducho sa na minútu pozastaví.
Akcelerometer je zariadenie, ktoré meria správne zrýchlenie; správne zrýchlenie nie je to isté ako súradnicové zrýchlenie (rýchlosť zmeny rýchlosti). Jedno- a viacosové modely akcelerometra sú prístupné na identifikáciu veľkosti a smeru správneho zrýchlenia ako vektorovej veličiny a môžu byť použité na snímanie orientácie, koordinácie zrýchlenia, vibrácií, otrasov a pádov v odporovom médiu.
Kód je pred vami jasný a je v najjednoduchšej štruktúre, akú si dokážete predstaviť, a nemali by ste mať žiadne problémy.
# 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. # ADXL345 # Tento kód je navrhnutý tak, aby fungoval s mini modulom ADXL345_I2CS I2C dostupným na adrese dcubestore.com # https://dcubestore.com/product/adxl345-3-axis-accelerometer-13-bit-i%C2%B2c-mini -modul/
import smbus
čas importu
# Získajte autobus I2C
bus = smbus. SMBus (1)
# Adresa ADXL345, 0x53 (83)
# Vyberte register rýchlosti šírky pásma, 0x2C (44) # 0x0A (10) Normálny režim, rýchlosť dátového výstupu = 100 Hz zbernica.write_byte_data (0x53, 0x2C, 0x0A) # adresa ADXL345, 0x53 (83) # Vyberte register riadenia výkonu, 0x2D (45) # 0x08 (08) Automatické vypnutie režimu spánku bus.write_byte_data (0x53, 0x2D, 0x08) # ADXL345 adresa, 0x53 (83) # Vyberte register formátu údajov, 0x31 (49) # 0x08 (08) Automatický test deaktivovaný, 4-vodičový interface # Full resolution, Range = +/- 2g bus.write_byte_data (0x53, 0x31, 0x08)
čas.spánok (0,5)
# Adresa ADXL345, 0x53 (83)
# Načítajte údaje späť z 0x32 (50), 2 bajty # Os X X LSB, Údaje osi X osi X = bus.read_byte_data (0x53, 0x32) data1 = bus.read_byte_data (0x53, 0x33)
# Konvertujte údaje na 10-bitové
xAccl = ((data1 & 0x03) * 256) + data0 if xAccl> 511: xAccl -= 1024
# Adresa ADXL345, 0x53 (83)
# Načítajte údaje späť z 0x34 (52), 2 bajty # Osa Y LSB, MSB údaje osi Y0 = bus.read_byte_data (0x53, 0x34) data1 = bus.read_byte_data (0x53, 0x35)
# Konvertujte údaje na 10-bitové
yAccl = ((data1 & 0x03) * 256) + data0 if yAccl> 511: yAccl -= 1024
# Adresa ADXL345, 0x53 (83)
# Načítajte údaje späť z 0x36 (54), 2 bajty # Z-os LSB, os MS Z data 0 = bus.read_byte_data (0x53, 0x36) data1 = bus.read_byte_data (0x53, 0x37)
# Konvertujte údaje na 10-bitové
zAccl = ((data1 & 0x03) * 256) + data0 if zAccl> 511: zAccl -= 1024
# 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: Praktickosť kódexu
Stiahnite si (alebo git pull) kód z Githubu a otvorte ho v Raspberry Pi.
Spustite príkazy na kompiláciu a nahrajte kód do terminálu a pozrite sa na výstup na monitore. V nasledujúcich chvíľach sa zobrazia všetky parametre. Potom, čo zaistíte, aby všetko fungovalo ľahko, môžete tento podnik previesť na väčšiu úlohu.
Krok 5: Aplikácie a funkcie
ADXL345 je malý, tenký, 3-osový akcelerometer s ultra nízkym výkonom a meraním s vysokým rozlíšením (13 bitov) až ± 16 g. ADXL345 je vhodný pre aplikácie pre mobilné telefóny. 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 patria telefóny, lekárske prístroje, herné a polohovacie zariadenia, priemyselné prístroje, osobné navigačné zariadenia a ochrana pevného disku (HDD).
Krok 6: Záver
Dúfam, že táto úloha motivuje ďalšie experimentovanie. Tento snímač I2C je mimoriadne flexibilný, lacný a prístupný. Pretože je to do značnej miery nestály systém, 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 Inclinometra pomocou ADXL345 a Raspberry Pi. Vo vyššie uvedenom projekte sme použili základné výpočty. Môžete improvizovať kód pre hodnoty G, uhly sklonu (alebo náklonu), nadmorskú výšku alebo depresiu objektu vzhľadom na gravitáciu. Potom môžete skontrolovať možnosti posunu, ako sú uhly natočenia valca (os dopredu, dozadu, X), rozstup (os vedľa seba, Y) a vybočenie (zvislá os, Z). Tento akcelerometer zobrazuje 3-D sily G. Tento senzor môžete teda využiť rôznymi spôsobmi, ktoré môžete zvážiť.
Pre vaše pohodlie máme pre vás fascinujúce video inštruktážne cvičenie na YouTube, ktoré vám môže pomôcť pri vyšetrovaní. Verte, že tento podnik motivuje ďalšie skúmanie. Pokračujte v premýšľaní! Majte na pamäti, že je potrebné hľadať, pretože stále pribúdajú ďalšie.
Odporúča:
Raspberry Pi - 3 -osový akcelerometer ADXL345 Python Výukový program: 4 kroky
Raspberry Pi-3-osový akcelerometer ADXL345 Python Výukový program: ADXL345 je malý, tenký, extrémne nízky výkon, 3-osový akcelerometer s meraním s vysokým rozlíšením (13 bitov) až ± 16 g. Digitálne výstupné údaje sú formátované ako 16-bitové dvojčatá a sú prístupné prostredníctvom digitálneho rozhrania I2 C. Meria
Gyroskop MPU 6050, akcelerometer, komunikácia s Arduino (Atmega328p): 5 krokov
Gyroskop MPU 6050, akcelerometer s Arduino (Atmega328p): MPU6050 IMU má v jednom čipe integrovaný trojosový akcelerometer aj trojosový gyroskop. Gyroskop meria rýchlosť otáčania alebo rýchlosť zmeny uhlovej polohy v priebehu času pozdĺž Os X, Y a Z. Výstupy gyroskopu sú
Akcelerometer na invalidnom vozíku pre telesne postihnutých: 13 krokov
Akcelerometer na invalidnom vozíku pre telesne postihnutých: V našej krajine s 1,3 miliardami populácií máme stále viac ako 1% populácie starších alebo zdravotne postihnutých ľudí, ktorí potrebujú podporu osobnej mobility. Cieľom nášho projektu je splniť ich požiadavky na mobilitu pomocou inteligentných technológií. Problém
Akcelerometer/gyroskopický režim ovládača pre Xbox 360: 7 krokov
Akcelerometer/gyroskopický režim ovládača pre Xbox 360: Hrám Assetto Corsa s mojím ovládačom pre Xbox 360. Riadenie analógovou páčkou je bohužiaľ veľmi nepraktické a nemám priestor na nastavenie kolies. Pokúsil som sa vymyslieť spôsoby, ako by som mohol obuť lepší mechanizmus riadenia do
Stolný pinball s využitím technológie Evive- vstavaná forma na báze Arduina: 18 krokov (s obrázkami)
Stolový pinball s využitím technológie Evive- integrovaná platforma založená na Arduine: Ďalší víkend, ďalšia vzrušujúca hra! A tentokrát to nie je nikto iný ako obľúbená arkádová hra všetkých - Pinball! Tento projekt vám ukáže, ako si vyrobíte svoj vlastný automat Pinball ľahko doma. Všetko, čo budete potrebovať, sú komponenty z celého sveta