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í H3LIS331DL a fotonu částic: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:21
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í s výstupními datovými rychlostmi od 0,5 Hz do 1 kHz. H3LIS331DL zaručeně pracuje v rozšířeném teplotním rozsahu od -40 ° C do +85 ° C.
V tomto tutoriálu předvedeme propojení H3LIS331DL s fotonem částic.
Krok 1: Požadovaný hardware:
Materiály, které potřebujeme k dosažení našeho cíle, zahrnují následující hardwarové komponenty:
1. H3LIS331DL
2. Foton částic
3. Kabel I2C
4. I2C štít pro částicový foton
Krok 2: Připojení hardwaru:
Sekce zapojení hardwaru v zásadě vysvětluje zapojení potřebná pro připojení mezi snímačem a fotonem částic. 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í:
H3LIS331DL 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í:
Začněme nyní kódem částic.
Při použití senzorového modulu s arduino zahrnujeme knihovnu application.h a spark_wiring_i2c.h. Knihovna „application.h“a spark_wiring_i2c.h obsahuje funkce, které usnadňují komunikaci i2c mezi senzorem a částicem.
Celý kód částic je pro pohodlí uživatele uveden níže:
#zahrnout
#zahrnout
// Adresa I2C H3LIS331DL je 0x18 (24)
#define Addr 0x18
int xAccl = 0, yAccl = 0, zAccl = 0;
neplatné nastavení ()
{
// Nastavit proměnnou
Particle.variable ("i2cdevice", "H3LIS331DL");
Particle.variable ("xAccl", xAccl);
Particle.variable ("yAccl", yAccl);
Particle.variable ("zAccl", zAccl);
// Inicializujte komunikaci I2C jako MASTER
Wire.begin ();
// Inicializace sériové komunikace, nastavení přenosové rychlosti = 9600
Serial.begin (9600);
// Spusťte přenos I2C
Wire.beginTransmission (Addr);
// Vyberte řídicí registr 1
Wire.write (0x20);
// Povolit osy X, Y, Z, režim zapnutí, výstupní rychlost dat 50 Hz
Wire.write (0x27);
// Zastavte přenos I2C
Wire.endTransmission ();
// Spusťte přenos I2C
Wire.beginTransmission (Addr);
// Vyberte řídicí registr 4
Wire.write (0x23);
// Nastavit plné měřítko, +/- 100 g, průběžná aktualizace
Wire.write (0x00);
// Zastavte přenos I2C
Wire.endTransmission ();
zpoždění (300);
}
prázdná smyčka ()
{
nepodepsaná int data [6];
pro (int i = 0; i <6; i ++)
{
// Spusťte přenos I2C
Wire.beginTransmission (Addr);
// Vyberte datový registr
Wire.write ((40 + i));
// Zastavte přenos I2C
Wire.endTransmission ();
// Vyžádejte si 1 bajt dat
Wire.requestFrom (Addr, 1);
// Přečíst 6 bajtů dat
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
pokud (Wire.available () == 1)
{
data = Wire.read ();
}
zpoždění (300);
}
// Převod dat
int xAccl = ((data [1] * 256) + data [0]);
if (xAccl> 32767)
{
xAccl -= 65536;
}
int yAccl = ((data [3] * 256) + data [2]);
if (yAccl> 32767)
{
yAccl -= 65536;
}
int zAccl = ((data [5] * 256) + data [4]);
if (zAccl> 32767)
{
zAccl -= 65536;
}
// Výstup dat na řídicí panel
Particle.publish („Zrychlení v ose X je:“, řetězec (xAccl));
Particle.publish („Zrychlení v ose Y je:“, řetězec (yAccl));
Particle.publish („Zrychlení v ose Z je:“, řetězec (zAccl));
zpoždění (300);
}
Funkce Particle.variable () vytváří proměnné pro uložení výstupu senzoru a funkce Particle.publish () zobrazuje výstup na palubní desce webu.
Výstup snímače je uveden na obrázku výše pro vaši referenci.
Krok 4: Aplikace:
Akcelerometry jako H3LIS331DL většinou nacházejí své uplatnění ve hrách a přepínání profilu zobrazení. Tento senzorový modul se také používá v pokročilém systému řízení spotřeby pro mobilní aplikace. H3LIS331DL je tříosý digitální snímač zrychlení, který je vybaven inteligentním řadičem přerušení aktivovaným pohybem na čipu.
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í magnetického pole pomocí HMC5883 a fotonu částic: 4 kroky
Měření magnetického pole pomocí HMC5883 a fotonu částic: HMC5883 je digitální kompas určený pro magnetické snímání v nízkém poli. Toto zařízení má široký rozsah magnetického pole +/- 8 Oe a výstupní rychlost 160 Hz. Senzor HMC5883 obsahuje ovladače odmagnetovacích popruhů, zrušení offsetu a
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í BMA250 a fotonu částic: 4 kroky
Měření zrychlení pomocí fotonů BMA250 a Particle Photon: BMA250 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í I2C. Měří statický