Tartalomjegyzék:
- 1. lépés: Szükséges hardver:
- 2. lépés: Hardver csatlakoztatása:
- 3. lépés: A mágneses mező intenzitásának mérésére szolgáló kód:
- 4. lépés: Alkalmazások:
Videó: Mágneses mező mérése HMC5883 és részecskefoton segítségével: 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észecskefotonnal való részletes működését. A részecske -foton egy olyan tábla, amely megkönnyíti az adatok küldését és fogadását a webhelyről, és amely támogatja az Internet Of Things (IoT) legalapvetőbb jellemzőjét.
1. lépés: Szükséges hardver:
A célunk eléréséhez szükséges anyagok a következő hardverkomponenseket tartalmazzák:
1. HMC5883
2. Foton részecske
3. I2C kábel
4. I2C pajzs részecske fotonhoz
2. lépés: Hardver csatlakoztatása:
A hardvercsatlakozási szakasz alapvetően elmagyarázza az érzékelő és a részecskefoton 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: A mágneses mező intenzitásának mérésére szolgáló kód:
Kezdjük most a részecske kóddal.
Miközben az érzékelő modult használja az Arduino -val, az application.h és a spark_wiring_i2c.h könyvtárat is tartalmazza. Az "application.h" és a spark_wiring_i2c.h könyvtár azokat a funkciókat tartalmazza, amelyek megkönnyítik az i2c kommunikációt az érzékelő és a részecske között.
A teljes szemcsekódot az alábbiakban adjuk meg a felhasználó kényelme érdekében:
#befoglalni
#befoglalni
// A HMC5883 I2C címe 0x1E (30)
#define Addr 0x1E
int xMag = 0, yMag = 0, zMag = 0;
üres beállítás ()
{
// Változó beállítása
Particle.variable ("i2cdevice", "HMC5883");
Particle.variable ("xMag", xMag);
Particle.variable ("yMag", yMag);
Particle.variable ("zMag", zMag);
// 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
xMag = ((adatok [0] * 256) + adatok [1]);
ha (xMag> 32767)
{
xMag -= 65536;
}
zMag = ((adatok [2] * 256) + adatok [3]);
ha (zMag> 32767)
{
zMag -= 65536;
}
yMag = ((adatok [4] * 256) + adatok [5]);
ha (yMag> 32767)
{
yMag -= 65536;
}
// Adatok kimenete a műszerfalra
Particle.publish ("Mágneses mező az X-tengelyen:", String (xMag));
késleltetés (1000);
Particle.publish ("Mágneses mező az Y tengelyen:", String (yMag));
késleltetés (1000);
Particle.publish ("Mágneses mező Z-tengelyben:", String (zMag));
késleltetés (1000);
}
A Particle.variable () függvény létrehozza a változókat az érzékelő kimenetének tárolására, a Particle.publish () függvény pedig megjeleníti a kimenetet a webhely műszerfalán.
Az érzékelő kimenete 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:
A gyorsulás mérése ADXL345 és részecskefoton segítségével: 4 lépés
A gyorsulás mérése ADXL345 és részecskefoton segítségével: Az ADXL345 egy kicsi, vékony, ultralow teljesítményű, 3 tengelyes gyorsulásmérő, nagy felbontású (13 bites) méréssel, ± 16 g-ig. A digitális kimeneti adatok 16 bites kettes kiegészítésként vannak formázva, és az I2 C digitális interfészen keresztül érhetők el. Méri a
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: 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 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
Hőmérséklet mérése ADT75 és részecskefoton segítségével: 4 lépés
Hőmérsékletmérés ADT75 és részecskefoton segítségével: Az ADT75 egy nagyon 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
Hőmérséklet mérése AD7416ARZ és részecskefoton segítségével: 4 lépés
Hőmérséklet mérése AD7416ARZ és részecskefoton 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