Tartalomjegyzék:
- 1. lépés: Szükséges hardver:
- 2. lépés: Hardver csatlakoztatása:
- 3. lépés: Java kód a mágneses mező intenzitásának mérésére:
- 4. lépés: Alkalmazások:
Videó: Mágneses mező mérése HMC5883 és Raspberry Pi használatával: 4 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
A HMC5883 egy digitális iránytű, amelyet alacsony mezőű mágneses érzékelésre terveztek. Ennek a készüléknek a széles mágneses tartománya +/- 8 Oe, és a kimeneti sebessége 160 Hz. A HMC5883 érzékelő automatikus gáztalanító heveder meghajtókat, eltolás törlést és 12 bites ADC-t tartalmaz, amely lehetővé teszi az iránytű irányának 1 ° és 2 ° közötti pontosságát. Minden I²C mini modult 5VDC feszültségre való működésre terveztek.
Ebben az oktatóanyagban elmagyarázzuk a HMC5883 részletes működését a Raspberry pi -val és programozását a java programozási nyelv használatával.
1. lépés: Szükséges hardver:
A feladat végrehajtásához szükséges hardver a következő:
1. HMC5883
2. Málna Pi
3. I2C kábel
4. I2C Shield For Raspberry Pi
5. Ethernet kábel
2. lépés: Hardver csatlakoztatása:
A hardvercsatlakozási szakasz alapvetően elmagyarázza az érzékelő és a málna pi között szükséges vezetékeket. A megfelelő kapcsolatok biztosítása az alapvető szükséglet, amikor bármilyen rendszeren dolgozik a kívánt kimenet érdekében. Tehát a szükséges kapcsolatok a következők:
A HMC5883 az I2C -n keresztül fog működni. Íme a példa kapcsolási rajz, amely bemutatja, hogyan kell bekötni az érzékelő egyes interfészeit.
A doboz készenlétben I2C interfészre van konfigurálva, ezért javasoljuk, hogy használja ezt a csatlakozást, ha egyébként agnosztikus. Csak négy vezetékre van szüksége!
Csak négy csatlakozóra van szükség Vcc, Gnd, SCL és SDA csapokra, és ezeket I2C kábel segítségével kell csatlakoztatni.
Ezeket az összefüggéseket a fenti képek mutatják be.
3. lépés: Java kód a mágneses mező intenzitásának mérésére:
A málna pi használatának előnye az, hogy rugalmasságot biztosít a programozási nyelvben, amelyen a táblát programozni szeretné, hogy az érzékelőt hozzá lehessen illeszteni. A tábla ezen előnyét kihasználva bemutatjuk, hogy Java nyelven programozunk. A HMC5883 java kódja letölthető gitub közösségünkből, azaz a Dcube Store -ból.
A felhasználók kényelme érdekében itt is elmagyarázzuk a kódot:
A kódolás első lépéseként le kell töltenie a pi4j könyvtárat java esetén, mert ez a könyvtár támogatja a kódban használt funkciókat. Tehát a könyvtár letöltéséhez látogasson el az alábbi linkre:
pi4j.com/install.html
Innen is másolhatja az érzékelő működő java kódját:
import com.pi4j.io.i2c. I2CBus;
import com.pi4j.io.i2c. I2CDevice;
mport com.pi4j.io.i2c. I2CFactory;
import java.io. IOException; nyilvános osztályú HMC5883
{
public static void main (String args ) dobások Kivétel
{
// I2C busz létrehozása
I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1);
// I2C eszköz beszerzése, HMC5883 Az I2C cím 0x1E (30)
I2CDevice device = Bus.getDevice (0x1E);
// Válassza ki az A konfigurációs regisztert
// Normál mérési konfiguráció, adatátviteli sebesség o/p = 0,75 Hz
device.write (0x00, (bájt) 0x60);
// Válassza ki a Mode regisztert
// Folyamatos mérési mód
device.write (0x02, (bájt) 0x00);
Téma.alvás (500);
// 6 bájt adat olvasása a 0x03 -ból (3)
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
bájt adat = új bájt [6];
device.read (0x03, adat, 0, 6);
// Konvertálja az adatokat
int xMag = ((adatok [0] és 0xFF) * 256 + (adatok [1] és 0xFF));
ha (xMag> 32767)
{
xMag -= 65536;
}
int zMag = ((adatok [2] és 0xFF) * 256 + (adatok [3] és 0xFF));
ha (zMag> 32767)
{
zMag -= 65536;
}
int yMag = ((adatok [4] és 0xFF) * 256 + (adatok [5] és 0xFF));
ha (yMag> 32767)
{
yMag -= 65536;
}
// Adatok megjelenítése a képernyőn
System.out.printf ("Mágneses mező az X-tengelyben: %d %n", xMag);
System.out.printf ("Mágneses mező az Y tengelyen: %d %n", yMag);
System.out.printf ("Mágneses mező a Z-tengelyben: %d %n", zMag);
}
}
Az Írás () és az Olvasás () függvények a parancsok írására és az érzékelő kimenetének olvasására szolgálnak. A következő rész a mágneses mező értékeit mutatja be.
// 6 bájt adat olvasása a 0x03 -ból (3)
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
bájt adat = új bájt [6];
device.read (0x03, adat, 0, 6);
A kimenet a fenti képen látható.
4. lépés: Alkalmazások:
A HMC5883 egy felületre szerelhető, többcsipes modul, amely alacsony mezőű mágneses érzékelésre készült, digitális interfésszel, olyan alkalmazásokhoz, mint az alacsony költségű iránytű és a magnetometria. Egy -két fokos magas szintű pontossága és pontossága lehetővé teszi a gyalogos navigációt és az LBS alkalmazásokat.
Ajánlott:
Hőmérséklet mérése AD7416ARZ és Raspberry Pi használatával: 4 lépés
Hőmérsékletmérés az AD7416ARZ és a Raspberry Pi segítségével: Az AD7416ARZ 10 bites hőmérséklet-érzékelő négy egycsatornás analóg-digitális átalakítóval és egy beépített hőmérséklet-érzékelővel. Az alkatrészek hőmérséklet -érzékelője multiplexer csatornákon keresztül érhető el. Ez a nagy pontosságú hőmérséklet
Fényintenzitás mérése a BH1715 és a Raspberry Pi használatával: 5 lépés
Fényintenzitás -mérés a BH1715 és a Raspberry Pi használatával: Tegnap LCD kijelzőn dolgoztunk, és közben rájöttünk a fényintenzitás számításának fontosságára. A fény intenzitása nemcsak a világ fizikai területén fontos, hanem a biológiai életben is jól megfogalmazott
Mágneses mező mérése HMC5883 és Arduino Nano használatával: 4 lépés
Mágneses mező mérése HMC5883 és Arduino Nano használatával: A HMC5883 egy digitális iránytű, amelyet alacsony mezőű mágneses érzékelésre terveztek. Ennek a készüléknek a széles mágneses tartománya +/- 8 Oe, és a kimeneti sebessége 160 Hz. A HMC5883 érzékelő magában foglalja az automatikus kivezető heveder meghajtókat, az eltolás törlését és egy
Mágneses mező mérése HMC5883 és részecskefoton segítségével: 4 lépés
Mágneses mező mérése HMC5883 és részecskefoton segítségével: A HMC5883 egy digitális iránytű, amelyet alacsony mezőű mágneses érzékelésre terveztek. Ennek az eszköznek a mágneses mező széles tartománya +/- 8 Oe, és a kimeneti sebessége 160 Hz. A HMC5883 érzékelő magában foglalja az automatikus kivezető heveder meghajtókat, az eltolás törlését és egy
3 tengelyes mágneses mező érzékelő: 10 lépés (képekkel)
3 tengelyes mágneses mező érzékelő: A vezeték nélküli erőátviteli rendszerek jó úton haladnak a hagyományos vezetékes töltés helyett. Az apró orvosbiológiai implantátumoktól egészen a hatalmas elektromos járművek vezeték nélküli újratöltéséig. A vezeték nélküli áramellátással kapcsolatos kutatás szerves része