Obsah:
- Krok 1: Požadovaný hardware:
- Krok 2: Připojení hardwaru:
- Krok 3: Java kód pro měření intenzity magnetického pole:
- Krok 4: Aplikace:
Video: Měření magnetického pole pomocí HMC5883 a Raspberry Pi: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:19
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 automatické ovladače demagnetizačních popruhů, zrušení offsetu a 12bitový ADC, který umožňuje přesnost směru kompasu 1 ° až 2 °. Všechny moduly I²C Mini jsou navrženy pro provoz při 5 V DC.
V tomto tutoriálu vysvětlíme detailní práci HMC5883 s Raspberry pi a jeho programování pomocí programovacího jazyka java.
Krok 1: Požadovaný hardware:
Hardware potřebný k provedení úkolu je následující:
1. HMC5883
2. Raspberry Pi
3. Kabel I2C
4. I2C štít pro Raspberry Pi
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í:
HMC5883 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: Java kód pro měření intenzity magnetického pole:
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 programování v Javě. Java kód pro HMC5883 lze stáhnout z naší komunity github, kterou je Dcube Store.
Stejně jako pro snadnost uživatelů vysvětlujeme kód také zde:
Jako první krok kódování si musíte stáhnout knihovnu pi4j v případě Java, 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:
pi4j.com/install.html
Pracovní java kód pro tento senzor můžete zkopírovat také zde:
importovat com.pi4j.io.i2c. I2CBus;
importovat com.pi4j.io.i2c. I2CDevice;
mport com.pi4j.io.i2c. I2CFactory;
import java.io. IOException; veřejná třída HMC5883
{
public static void main (String args ) vyvolá výjimku
{
// Vytvoření sběrnice I2C
Sběrnice I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);
// Získejte zařízení I2C, adresa I2C HMC5883 je 0x1E (30)
I2CDevice zařízení = Bus.getDevice (0x1E);
// Vyberte konfigurační registr A
// Normální konfigurace měření, datový tok o/p = 0,75 Hz
device.write (0x00, (byte) 0x60);
// Vyberte režim Registrovat
// Režim kontinuálního měření
device.write (0x02, (byte) 0x00);
Thread.sleep (500);
// Přečíst 6 bajtů dat z 0x03 (3)
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
byte data = nový byte [6];
device.read (0x03, data, 0, 6);
// Převod dat
int xMag = ((data [0] & 0xFF) * 256 + (data [1] & 0xFF));
if (xMag> 32767)
{
xMag -= 65536;
}
int zMag = ((data [2] & 0xFF) * 256 + (data [3] & 0xFF));
if (zMag> 32767)
{
zMag -= 65536;
}
int yMag = ((data [4] & 0xFF) * 256 + (data [5] & 0xFF));
if (yMag> 32767)
{
yMag -= 65536;
}
// Výstup dat na obrazovku
System.out.printf ("Magnetické pole v ose X: %d %n", xMag);
System.out.printf ("Magnetické pole v ose Y: %d %n", yMag);
System.out.printf ("Magnetické pole v ose Z: %d %n", zMag);
}
}
Funkce Write () a read () se používají k zápisu příkazů a čtení výstupu snímače. Následující část ilustruje čtení hodnot magnetického pole.
// Přečíst 6 bajtů dat z 0x03 (3)
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
byte data = nový byte [6];
device.read (0x03, data, 0, 6);
Výstup je zobrazen na obrázku výše.
Krok 4: Aplikace:
HMC5883 je vícečipový modul pro povrchovou montáž navržený pro magnetické snímání s nízkým polem s digitálním rozhraním pro aplikace, jako je levný kompas a magnetometrie. Jeho přesnost a přesnost jeden až dva stupně umožňuje pěší navigaci a aplikace LBS.
Doporučuje:
Měření času (hodiny na měření pásky): 5 kroků (s obrázky)
Time Measure (Tape Measure Clock): Pro tento projekt jsme (Alex Fiel & Anna Lynton) vzali každodenní měřicí nástroj a udělali z něj hodiny! Původní plán byl motorizovat stávající svinovací metr. Při tom jsme se rozhodli, že bude snazší vytvořit si vlastní shell, do kterého
Měření magnetického pole pomocí HMC5883 a Arduino Nano: 4 kroky
Měření magnetického pole pomocí HMC5883 a Arduino Nano: 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í 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
Alarm dveří pomocí magnetického Hallova senzoru: 5 kroků
Dveřní alarm pomocí magnetického Hallova senzoru: Dveřní alarm je velmi běžné a užitečné zařízení z bezpečnostních důvodů. Používají se k detekci, zda jsou dveře otevřené nebo zavřené. Často jsme v lednici viděli nějaký dveřní alarm, který při aktivaci vydával jiný zvuk. Dveřní alarm Pro
3osý snímač magnetického pole: 10 kroků (s obrázky)
3osý snímač magnetického pole: Bezdrátové systémy přenosu energie jsou na dobré cestě k nahrazení konvenčního kabelového nabíjení. Od malých biomedicínských implantátů až po bezdrátové dobíjení velkých elektrických vozidel. Nedílnou součástí výzkumu bezdrátového napájení je