Tartalomjegyzék:
- 1. lépés: Szükséges hardver:
- 2. lépés: Hardver csatlakoztatása:
- 3. lépés: Arduino kód a mágneses mező intenzitásának mérésére:
- 4. lépés: Alkalmazások:
![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: 4 lépés](https://i.howwhatproduce.com/images/004/image-10147-j.webp)
Videó: Mágneses mező mérése HMC5883 és Arduino Nano használatával: 4 lépés
![Videó: Mágneses mező mérése HMC5883 és Arduino Nano használatával: 4 lépés Videó: Mágneses mező mérése HMC5883 és Arduino Nano használatával: 4 lépés](https://i.ytimg.com/vi/6tBEfuPCQq4/hqdefault.jpg)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
![Image Image](https://i.howwhatproduce.com/images/004/image-10147-2-j.webp)
![](https://i.ytimg.com/vi/st6MFpw2dGA/hqdefault.jpg)
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 az Arduino nanóval.
1. lépés: Szükséges hardver:
![Szükséges hardver Szükséges hardver](https://i.howwhatproduce.com/images/004/image-10147-3-j.webp)
![Szükséges hardver Szükséges hardver](https://i.howwhatproduce.com/images/004/image-10147-4-j.webp)
![Szükséges hardver Szükséges hardver](https://i.howwhatproduce.com/images/004/image-10147-5-j.webp)
A célunk eléréséhez szükséges anyagok a következő hardverkomponenseket tartalmazzák:
1. HMC5883
2. Arduino Nano
3. I2C kábel
4. I2C pajzs Arduino Nano számára
2. lépés: Hardver csatlakoztatása:
![Hardver csatlakoztatása Hardver csatlakoztatása](https://i.howwhatproduce.com/images/004/image-10147-6-j.webp)
![Hardver csatlakoztatása Hardver csatlakoztatása](https://i.howwhatproduce.com/images/004/image-10147-7-j.webp)
A hardvercsatlakozási szakasz alapvetően elmagyarázza az érzékelő és az arduino nano 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: Arduino kód a mágneses mező intenzitásának mérésére:
![Arduino kód a mágneses mező intenzitásának mérésére Arduino kód a mágneses mező intenzitásának mérésére](https://i.howwhatproduce.com/images/004/image-10147-8-j.webp)
![Arduino kód a mágneses mező intenzitásának mérésére Arduino kód a mágneses mező intenzitásának mérésére](https://i.howwhatproduce.com/images/004/image-10147-9-j.webp)
Kezdjük most az Arduino kóddal.
Miközben az érzékelő modult használja az Arduino -val, a Wire.h könyvtárat is tartalmazza. A "Wire" könyvtár azokat a funkciókat tartalmazza, amelyek megkönnyítik az i2c kommunikációt az érzékelő és az Arduino kártya között.
A teljes Arduino kódot az alábbiakban adjuk meg a felhasználó kényelme érdekében:
#befoglalni
// A HMC5883 I2C címe 0x1E (30)
#define Addr 0x1E
üres beállítás ()
{
// Inicializálja az I2C kommunikációt MASTER -ként
Wire.begin ();
// Inicializálja a soros kommunikációt, állítsa be az átviteli sebességet = 9600
Sorozat.kezdet (9600);
// Indítsa el az I2C átvitelt
Wire.beginTransmission (Addr);
// Válassza ki az A regiszter konfigurálása lehetőséget
Wire.write (0x00);
// Állítsa be a normál mérési konfigurációt, az adatkimeneti sebesség = 0,75 Hz
Wire.write (0x60);
// Állítsa le az I2C átvitelt
Wire.endTransmission ();
// Indítsa el az I2C átvitelt
Wire.beginTransmission (Addr);
// Válassza ki a Mode regisztert
Wire.write (0x02);
// Folyamatos mérés beállítása
Wire.write (0x00);
// Állítsa le az I2C átvitelt
Wire.endTransmission ();
késleltetés (300);
}
üres hurok ()
{
előjel nélküli int adatok [6];
// Indítsa el az I2C átvitelt
Wire.beginTransmission (Addr);
// Adatregiszter kiválasztása
Wire.write (0x03);
// Állítsa le az I2C átvitelt
Wire.endTransmission ();
// 6 bájt adat kérése
Wire.requestFrom (Addr, 6);
// 6 bájt adat olvasása
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
ha (Wire.available () == 6)
{
adatok [0] = Wire.read ();
adatok [1] = Wire.read ();
adatok [2] = Wire.read ();
adatok [3] = Wire.read ();
adatok [4] = Wire.read ();
adatok [5] = Wire.read ();
}
késleltetés (300);
// Konvertálja az adatokat
int xMag = ((adatok [0] * 256) + adatok [1]);
int zMag = ((adatok [2] * 256) + adatok [3]);
int yMag = ((adatok [4] * 256) + adatok [5]);
// Adatok kimenete soros monitorra
Serial.print ("Mágneses mező az X-tengelyen:");
Soros.println (xMag);
Serial.print ("Mágneses mező az Y tengelyen:");
Soros.println (yMag);
Serial.print ("Mágneses mező Z-tengelyben:");
Soros.println (zMag);
késleltetés (300);
}
A vezetékes könyvtárban a Wire.write () és a Wire.read () parancsokat írják és olvassák le az érzékelő kimenetét. A kód következő része az érzékelő kimenetének leolvasását szemlélteti.
// 6 bájt adat olvasása // xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb if (Wire.available () == 6) {data [0] = Wire.read (); adatok [1] = Wire.read (); adatok [2] = Wire.read (); adatok [3] = Wire.read (); adatok [4] = Wire.read (); adatok [5] = Wire.read (); }
A Serial.print () és a Serial.println () az érzékelő kimenetének megjelenítésére szolgál az Arduino IDE soros monitorán.
Az érzékelő kimenete a fenti képen látható.
4. lépés: Alkalmazások:
![Alkalmazások Alkalmazások](https://i.howwhatproduce.com/images/004/image-10147-10-j.webp)
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:
Mágneses mező mérése HMC5883 és Raspberry Pi használatával: 4 lépés
![Mágneses mező mérése HMC5883 és Raspberry Pi használatával: 4 lépés Mágneses mező mérése HMC5883 és Raspberry Pi használatával: 4 lépés](https://i.howwhatproduce.com/images/004/image-10131-j.webp)
Mágneses mező mérése HMC5883 és Raspberry Pi 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: 4 lépés Mágneses mező mérése HMC5883 és részecskefoton segítségével: 4 lépés](https://i.howwhatproduce.com/images/004/image-10149-j.webp)
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
A gyorsulás mérése H3LIS331DL és Arduino Nano használatával: 4 lépés
![A gyorsulás mérése H3LIS331DL és Arduino Nano használatával: 4 lépés A gyorsulás mérése H3LIS331DL és Arduino Nano használatával: 4 lépés](https://i.howwhatproduce.com/images/008/image-22422-j.webp)
A gyorsulás mérése a H3LIS331DL és az Arduino Nano használatával: A H3LIS331DL egy kis teljesítményű, nagyteljesítményű, 3 tengelyes lineáris gyorsulásmérő, amely a „nano” családba tartozik, digitális I²C soros interfésszel. A H3LIS331DL felhasználó által választható teljes skála ± 100 g/± 200 g/± 400 g, és képes gyorsulások mérésére
Hőmérséklet mérése ADT75 és Arduino Nano használatával: 4 lépés
![Hőmérséklet mérése ADT75 és Arduino Nano használatával: 4 lépés Hőmérséklet mérése ADT75 és Arduino Nano használatával: 4 lépés](https://i.howwhatproduce.com/images/010/image-27330-j.webp)
Hőmérsékletmérés az ADT75 és az Arduino Nano segítségével: Az ADT75 egy rendkívül pontos, digitális hőmérséklet -érzékelő. Tartalmaz egy sávköz-hőmérséklet-érzékelőt és egy 12 bites analóg-digitális átalakítót a hőmérséklet figyelésére és digitalizálására. Rendkívül érzékeny érzékelője kellően hozzáértővé teszi számomra
3 tengelyes mágneses mező érzékelő: 10 lépés (képekkel)
![3 tengelyes mágneses mező érzékelő: 10 lépés (képekkel) 3 tengelyes mágneses mező érzékelő: 10 lépés (képekkel)](https://i.howwhatproduce.com/images/001/image-2425-59-j.webp)
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