Obsah:
- Krok 1: Potrebný hardvér:
- Krok 2: Pripojenie hardvéru:
- Krok 3: Kód Java na meranie intenzity magnetického poľa:
- Krok 4: Aplikácie:
Video: Meranie magnetického poľa pomocou HMC5883 a Raspberry Pi: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:56
HMC5883 je digitálny kompas určený na magnetické snímanie v nízkom poli. Toto zariadenie má široký rozsah magnetického poľa +/- 8 Oe a výstupnú frekvenciu 160 Hz. Senzor HMC5883 obsahuje automatické remagnetizačné popruhy, potlačenie ofsetu a 12-bitový ADC, ktorý umožňuje presnosť smeru kompasu 1 ° až 2 °. Všetky moduly I²C Mini sú navrhnuté tak, aby pracovali pri 5 VDC.
V tomto tutoriáli vysvetlíme detailné fungovanie HMC5883 s Raspberry pi a jeho programovanie pomocou programovacieho jazyka java.
Krok 1: Potrebný hardvér:
Hardvér, ktorý je potrebný na splnenie úlohy, je nasledujúci:
1. HMC5883
2. Raspberry Pi
3. Kábel I2C
4. I2C štít pre Raspberry Pi
5. Ethernetový kábel
Krok 2: Pripojenie hardvéru:
Časť zapojenia hardvéru v zásade vysvetľuje zapojenie potrebné medzi senzorom a malinovým pi. Zabezpečenie správneho pripojenia je základnou potrebou pri práci na akomkoľvek systéme s požadovaným výstupom. Potrebné spojenia sú teda tieto:
HMC5883 bude fungovať cez I2C. Tu je príklad schémy zapojenia, ktorá ukazuje, ako prepojiť každé rozhranie snímača.
Hneď po vybalení je doska nakonfigurovaná na rozhranie I2C, preto vám toto pripojenie odporúčame použiť, ak ste inak agnostik. Všetko, čo potrebujete, sú štyri drôty!
Vyžadujú sa iba štyri pripojenia Vcc, Gnd, SCL a SDA piny, ktoré sú prepojené pomocou kábla I2C.
Tieto spojenia sú znázornené na obrázkoch vyššie.
Krok 3: Kód Java na meranie intenzity magnetického poľa:
Výhodou použitia raspberry pi je, že vám poskytuje flexibilitu programovacieho jazyka, v ktorom chcete dosku programovať, aby ste s ním mohli prepojiť senzor. S využitím tejto výhody tejto dosky demonštrujeme, že je programovaná v jazyku Java. Java kód pre HMC5883 si môžete stiahnuť z našej komunity github, ktorou je Dcube Store.
Rovnako ako pre jednoduchosť používateľov, vysvetľujeme kód aj tu:
Ako prvý krok kódovania si musíte stiahnuť knižnicu pi4j v prípade jazyka Java, pretože táto knižnica podporuje funkcie použité v kóde. Ak si chcete stiahnuť knižnicu, môžete navštíviť nasledujúci odkaz:
pi4j.com/install.html
Pracovný kód java pre tento senzor môžete skopírovať aj tu:
import com.pi4j.io.i2c. I2CBus;
import com.pi4j.io.i2c. I2CDevice;
mport com.pi4j.io.i2c. I2CFactory;
import java.io. IOException; verejná trieda HMC5883
{
public static void main (String args ) hodí výnimku
{
// Vytvorenie zbernice I2C
Zbernica I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);
// Získať zariadenie I2C, adresa I2C HMC5883 je 0x1E (30)
I2CDevice zariadenie = Bus.getDevice (0x1E);
// Vyberte konfiguračný register A
// Normálna konfigurácia merania, dátový tok o/p = 0,75 Hz
device.write (0x00, (byte) 0x60);
// Vyberte režim Register
// Režim nepretržitého merania
device.write (0x02, (byte) 0x00);
Thread.sleep (500);
// Prečítajte 6 bajtov údajov z 0x03 (3)
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
bajt dáta = nový bajt [6];
device.read (0x03, data, 0, 6);
// Previesť údaje
int xMag = ((údaje [0] & 0xFF) * 256 + (údaje [1] & 0xFF));
if (xMag> 32767)
{
xMag -= 65536;
}
int zMag = ((údaje [2] & 0xFF) * 256 + (údaje [3] & 0xFF));
ak (zMag> 32767)
{
zMag -= 65536;
}
int yMag = ((údaje [4] & 0xFF) * 256 + (údaje [5] & 0xFF));
if (yMag> 32767)
{
yMag -= 65536;
}
// Výstup údajov na obrazovku
System.out.printf ("Magnetické pole v osi X: %d %n", xMag);
System.out.printf ("Magnetické pole v osi Y: %d %n", yMag);
System.out.printf ("Magnetické pole v osi Z: %d %n", zMag);
}
}
Na zápis príkazov a čítanie výstupu senzora sa používajú funkcie write () a read (). Nasledujúca časť ilustruje čítanie hodnôt magnetického poľa.
// Prečítajte 6 bajtov údajov z 0x03 (3)
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
bajt dáta = nový bajt [6];
device.read (0x03, data, 0, 6);
Výstup je zobrazený na obrázku vyššie.
Krok 4: Aplikácie:
HMC5883 je viacčipový modul na povrchovú montáž určený na magnetické snímanie v nízkom poli s digitálnym rozhraním pre aplikácie, ako je nízkonákladový kompas a magnetometria. Jeho jeden až dva stupne presnosti a presnosti umožňujú navigáciu pre chodcov a aplikácie LBS.
Odporúča:
Meranie času (hodiny na meranie pásky): 5 krokov (s obrázkami)
Meranie času (hodiny na meranie pásky): Pre tento projekt sme (Alex Fiel a Anna Lynton) vzali každodenný merací nástroj a urobili z neho hodiny! Pôvodný plán bol motorizovať existujúci zvinovací meter. Pri tom sme sa rozhodli, že bude jednoduchšie vytvoriť si vlastnú škrupinu,
Meranie magnetického poľa pomocou HMC5883 a Arduino Nano: 4 kroky
Meranie magnetického poľa pomocou HMC5883 a Arduino Nano: HMC5883 je digitálny kompas určený na magnetické snímanie v nízkom poli. Toto zariadenie má široký rozsah magnetického poľa +/- 8 Oe a výstupnú frekvenciu 160 Hz. Senzor HMC5883 obsahuje ovládače popruhov na automatické odmontovanie, zrušenie ofsetu a
Meranie magnetického poľa pomocou HMC5883 a fotónu častíc: 4 kroky
Meranie magnetického poľa pomocou HMC5883 a fotónu častíc: HMC5883 je digitálny kompas určený na magnetické snímanie v nízkom poli. Toto zariadenie má široký rozsah magnetického poľa +/- 8 Oe a výstupnú frekvenciu 160 Hz. Senzor HMC5883 obsahuje ovládače popruhov na automatické odmontovanie, zrušenie ofsetu a
Alarm dverí pomocou magnetického Hallovho senzora: 5 krokov
Alarm dverí pomocou magnetického Hallovho senzora: Alarm dverí je veľmi bežné a užitočné zariadenie z bezpečnostných dôvodov. Slúžia na zistenie, či sú dvere otvorené alebo zatvorené. Často sme v chladničke videli nejaký dverný alarm, ktorý pri aktivácii vydával iný zvuk. Dverový alarm Pro
3-osý snímač magnetického poľa: 10 krokov (s obrázkami)
3-osý snímač magnetického poľa: Bezdrôtové systémy prenosu energie sú na dobrej ceste nahradiť konvenčné káblové nabíjanie. Od malých biomedicínskych implantátov až po bezdrôtové nabíjanie veľkých elektrických vozidiel. Neoddeliteľnou súčasťou výskumu bezdrôtového napájania je