Obsah:
- Krok 1: Požadovaný hardware:
- Krok 2: Připojení hardwaru:
- Krok 3: Kód pro měření zrychlení:
- Krok 4: Aplikace:
Video: Měření zrychlení pomocí ADXL345 a Raspberry Pi: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:21
ADXL345 je malý, tenký, ultralehký, 3osý akcelerometr s měřením s vysokým rozlišením (13 bitů) až ± 16 g. Data digitálního výstupu jsou formátována jako 16bitová dvojčata a jsou přístupná prostřednictvím digitálního rozhraní I2 C. Měří statické gravitační zrychlení v aplikacích snímajících náklon i dynamické zrychlení způsobené pohybem nebo šokem. Jeho vysoké rozlišení (3,9 mg/LSB) umožňuje měření změn sklonu menší než 1,0 °.
V tomto tutoriálu je ukázáno propojení senzorového modulu ADXL345 s malinovým pi a bylo také ukázáno jeho programování pomocí jazyka python. Ke čtení hodnot zrychlení na všech 3 osách jsme použili malinu pi s adaptérem I2C. Tento adaptér I2C umožňuje snadné a spolehlivější připojení k modulu senzoru.
Krok 1: Požadovaný hardware:
Materiály, které potřebujeme k dosažení našeho cíle, zahrnují následující hardwarové komponenty:
1. ADXL345
2. Raspberry Pi
3. Kabel I2C
4. I2C štít pro malinovou pí
5. Ethernetový kabel
Krok 2: Připojení hardwaru:
Sekce zapojení hardwaru v zásadě vysvětluje zapojení kabelů požadovaná mezi snímačem a malinovým pi. Zajištění správného připojení je základní nutností při práci na jakémkoli systému pro požadovaný výstup. Požadovaná připojení jsou tedy následující:
ADXL345 bude fungovat přes I2C. Zde je příklad schématu zapojení, které ukazuje, jak zapojit jednotlivá rozhraní senzoru.
Po vybalení je deska nakonfigurována pro rozhraní I2C, proto doporučujeme tuto přípojku použít, pokud jste jinak agnostik.
Vše, co potřebujete, jsou čtyři dráty! Jsou vyžadována pouze čtyři připojení Vcc, Gnd, SCL a SDA piny a ty jsou spojeny pomocí kabelu I2C.
Tato spojení jsou ukázána na obrázcích výše.
Krok 3: Kód pro měření zrychlení:
Výhodou použití raspberry pi je, že vám poskytuje flexibilitu programovacího jazyka, ve kterém chcete desku programovat, abyste s ní mohli propojit senzor. S využitím této výhody této desky zde předvádíme její programování v pythonu. Pythonový kód pro ADXL345 lze stáhnout z naší komunity github, což je komunita Control Everything.
Stejně jako pro snadnost uživatelů vysvětlujeme kód také zde:
Jako první krok kódování si musíte stáhnout knihovnu smbus v případě pythonu, protože tato knihovna podporuje funkce použité v kódu. Chcete -li si stáhnout knihovnu, můžete navštívit následující odkaz:
pypi.python.org/pypi/smbus-cffi/0.5.1
Pracovní kód pythonu pro tento senzor můžete zkopírovat také zde:
importovat smbus
čas importu
# Získejte sběrnici I2C = smbus. SMBus (1)
# Adresa ADXL345, 0x53 (83)
# Vyberte registr rychlosti šířky pásma, 0x2C (44)
# 0x0A (10) Normální režim, výstupní datový tok = 100 Hz
bus.write_byte_data (0x53, 0x2C, 0x0A)
# Adresa ADXL345, 0x53 (83)
# Vyberte registr řízení výkonu, 0x2D (45)
# 0x08 (08) Vypnutí automatického spánku
bus.write_byte_data (0x53, 0x2D, 0x08)
# Adresa ADXL345, 0x53 (83)
# Vyberte registr formátu dat, 0x31 (49)
# 0x08 (08) Vlastní test deaktivován, 4vodičové rozhraní
# Plné rozlišení, Rozsah = +/- 2g
bus.write_byte_data (0x53, 0x31, 0x08)
time.sleep (0,5)
# Adresa ADXL345, 0x53 (83)
# Přečtěte data zpět z 0x32 (50), 2 bajtů
# Osa X LSB, Osa X 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
pokud xAccl> 511:
xAccl -= 1024
# Adresa ADXL345, 0x53 (83)
# Přečtěte data zpět z 0x34 (52), 2 bajtů
# Osa Y LSB, Osa Y MSB
data0 = 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
pokud yAccl> 511:
yAccl -= 1024
# Adresa ADXL345, 0x53 (83)
# Přečtěte data zpět z 0x36 (54), 2 bajtů
# Osa Z 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
pokud 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
Níže uvedená část kódu obsahuje knihovny potřebné pro správné provedení kódů pythonu.
importovat čas smbusimportu
Kód lze spustit zadáním níže uvedeného příkazu do příkazového řádku.
$> python ADXL345.py
Výstup snímače je také uveden na obrázku výše pro referenci uživatele.
Krok 4: Aplikace:
ADXL345 je malý, tenký, ultralehký, 3osý akcelerometr, který lze použít v mobilních telefonech, lékařských přístrojích atd. Jeho aplikace také zahrnuje herní a polohovací zařízení, průmyslové přístroje, osobní navigační zařízení a ochranu pevného disku (HDD).
Doporučuje:
Měření zrychlení pomocí ADXL345 a fotonu částic: 4 kroky
Měření zrychlení pomocí ADXL345 a částicového fotonu: ADXL345 je malý, tenký, ultra nízký výkon, 3osý akcelerometr s měřením s vysokým rozlišením (13bitové) až ± 16 g. Data digitálního výstupu jsou formátována jako 16bitová dvojčata a jsou přístupná prostřednictvím digitálního rozhraní I2 C. Měří
Měření zrychlení pomocí H3LIS331DL a Arduino Nano: 4 kroky
Měření zrychlení pomocí H3LIS331DL a Arduino Nano: H3LIS331DL je vysoce výkonný 3osý lineární akcelerometr patřící do rodiny „nano“s digitálním sériovým rozhraním I²C. H3LIS331DL má uživatelem volitelné plné stupnice ± 100 g/± 200 g/± 400 g a je schopen měřit zrychlení
Měření zrychlení pomocí H3LIS331DL a Raspberry Pi: 4 kroky
Měření zrychlení pomocí H3LIS331DL a Raspberry Pi: H3LIS331DL je nízkoenergetický vysoce výkonný 3osý lineární akcelerometr patřící do rodiny „nano“, s digitálním sériovým rozhraním I²C. H3LIS331DL má uživatelem volitelné plné stupnice ± 100 g/± 200 g/± 400 g a je schopen měřit zrychlení
Měření zrychlení pomocí ADXL345 a Arduino Nano: 4 kroky
Měření zrychlení pomocí ADXL345 a Arduino Nano: ADXL345 je malý, tenký, ultra nízký výkon, 3osý akcelerometr s měřením s vysokým rozlišením (13bitové) až ± 16 g. Data digitálního výstupu jsou formátována jako 16bitová dvojčata a jsou přístupná prostřednictvím digitálního rozhraní I2 C. Měří
Měření zrychlení pomocí BMA250 a Raspberry Pi: 4 kroky
Měření zrychlení pomocí BMA250 a Raspberry Pi: BMA250 je malý, tenký, ultralehký, 3osý akcelerometr s měřením s vysokým rozlišením (13bitové) až ± 16 g. Data digitálního výstupu jsou formátována jako 16bitová dvojčata a jsou přístupná prostřednictvím digitálního rozhraní I2C. Měří statický