Sisällysluettelo:
- Vaihe 1: Tarvittava laitteisto:
- Vaihe 2: Laitteiston kytkentä:
- Vaihe 3: Koodi magneettikentän voimakkuuden mittaamiseksi:
- Vaihe 4: Sovellukset:
Video: Magneettikentän mittaus käyttäen HMC5883 ja hiukkasfotonia: 4 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
HMC5883 on digitaalinen kompassi, joka on suunniteltu matalan kentän magneettitunnistukseen. Tällä laitteella on laaja magneettikenttäalue +/- 8 Oe ja lähtötaajuus 160 Hz. HMC5883-anturissa on automaattiset degaussing-hihnaohjaimet, offset-peruutus ja 12-bittinen ADC, joka mahdollistaa kompassin suunnan 1 °-2 ° tarkkuuden. Kaikki I²C -minimoduulit on suunniteltu toimimaan 5 VDC: n jännitteellä.
Tässä opetusohjelmassa aiomme selittää HMC5883: n yksityiskohtaisen työskentelyn hiukkasfotonilla. Hiukkasfotoni on levy, joka helpottaa tietojen lähettämistä ja vastaanottamista verkkosivustolta ja joka tukee Internet of Things (IoT) -järjestelmän perusominaisuutta.
Vaihe 1: Tarvittava laitteisto:
Tavoitteemme saavuttamiseen tarvittavat materiaalit sisältävät seuraavat laitteistokomponentit:
1. HMC5883
2. Hiukkasfotoni
3. I2C -kaapeli
4. I2C -suoja hiukkasfotonille
Vaihe 2: Laitteiston kytkentä:
Laitteiston kytkentäosio selittää periaatteessa anturin ja hiukkasfotonin väliset tarvittavat johdotusliitännät. Oikeiden liitosten varmistaminen on perustarve, kun työskentelet minkä tahansa järjestelmän kanssa halutun lähdön saavuttamiseksi. Tarvittavat liitännät ovat siis seuraavat:
HMC5883 toimii I2C: n yli. Tässä on esimerkki kytkentäkaaviosta, joka osoittaa, miten anturin jokainen liitäntä kytketään.
Valmis levy on konfiguroitu I2C-rajapintaa varten, joten suosittelemme käyttämään tätä kytkentää, jos olet muuten agnostikko. Tarvitset vain neljä johtoa!
Tarvitaan vain neljä liitäntää Vcc, Gnd, SCL ja SDA, ja ne on kytketty I2C -kaapelin avulla.
Nämä yhteydet on esitetty yllä olevissa kuvissa.
Vaihe 3: Koodi magneettikentän voimakkuuden mittaamiseksi:
Aloitetaan nyt hiukkaskoodilla.
Kun käytät anturimoduulia Arduinon kanssa, sisällytämme hakemistoon application.h ja spark_wiring_i2c.h. "application.h" ja spark_wiring_i2c.h -kirjasto sisältävät toiminnot, jotka helpottavat i2c -tiedonsiirtoa anturin ja hiukkasen välillä.
Koko hiukkaskoodi annetaan alla käyttäjän mukavuuden vuoksi:
#sisältää
#sisältää
// HMC5883 I2C -osoite on 0x1E (30)
#define Addr 0x1E
int xMag = 0, yMag = 0, zMag = 0;
mitätön asennus ()
{
// Aseta muuttuja
Particle.variable ("i2cdevice", "HMC5883");
Particle.variable ("xMag", xMag);
Particle.variable ("yMag", yMag);
Particle.variable ("zMag", zMag);
// Alusta I2C -viestintä MASTERiksi
Wire.begin ();
// Alusta sarjaliikenne, aseta baudinopeus = 9600
Sarja.alku (9600);
// Käynnistä I2C -lähetys
Wire.beginTransmission (Addr);
// Valitse configure register A
Wire.write (0x00);
// Aseta normaali mittauskonfiguraatio, tiedonsiirtonopeus = 0,75 Hz
Wire.write (0x60);
// Pysäytä I2C -lähetys
Wire.endTransmission ();
// Käynnistä I2C -lähetys
Wire.beginTransmission (Addr);
// Valitse tilarekisteri
Wire.write (0x02);
// Aseta jatkuva mittaus
Wire.write (0x00);
// Pysäytä I2C -lähetys
Wire.endTransmission ();
viive (300);
}
tyhjä silmukka ()
{
allekirjoittamattomat int -tiedot [6];
// Käynnistä I2C -lähetys
Wire.beginTransmission (Addr);
// Valitse tietorekisteri
Wire.write (0x03);
// Pysäytä I2C -lähetys
Wire.endTransmission ();
// Pyydä 6 tavua dataa
Wire.requestFrom (Addr, 6);
// Lue 6 tavua dataa
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
jos (Wire.available () == 6)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
data [2] = Wire.read ();
data [3] = Wire.read ();
data [4] = Wire.read ();
data [5] = Wire.read ();
}
viive (300);
// Muunna tiedot
xMag = ((data [0] * 256) + data [1]);
jos (xMag> 32767)
{
xMag -= 65536;
}
zMag = ((data [2] * 256) + data [3]);
jos (zMag> 32767)
{
zMag -= 65536;
}
yMag = ((data [4] * 256) + data [5]);
jos (yMag> 32767)
{
yMag -= 65536;
}
// Tulosta tiedot kojelautaan
Particle.publish ("Magneettikenttä X-akselilla:", Jono (xMag));
viive (1000);
Particle.publish ("Magneettikenttä Y-akselilla:", Jono (yMag));
viive (1000);
Particle.publish ("Magneettikenttä Z-akselilla:", Jono (zMag));
viive (1000);
}
Particle.variable () -funktio luo muuttujat anturin lähdön tallentamiseksi ja Particle.publish () -toiminto näyttää tuotoksen sivuston kojelaudalla.
Anturilähtö näkyy yllä olevassa kuvassa.
Vaihe 4: Sovellukset:
HMC5883 on pinta-asennettava monisirumoduuli, joka on suunniteltu matalan kentän magneettitunnistukseen ja jossa on digitaalinen käyttöliittymä sovelluksiin, kuten edulliseen kompassointiin ja magnetometriaan. Sen yhden tai kahden asteen korkea tarkkuus mahdollistaa jalankulkijoiden navigoinnin ja LBS -sovellukset.
Suositeltava:
Kiihtyvyyden mittaus käyttämällä ADXL345: tä ja hiukkasfotonia: 4 vaihetta
Kiihtyvyyden mittaus käyttämällä ADXL345: tä ja hiukkasfotonia: ADXL345 on pieni, ohut, erittäin pienitehoinen, 3-akselinen kiihtyvyysanturi, jonka tarkkuus (13-bittinen) mitataan jopa ± 16 g. Digitaalinen lähtötieto on muotoiltu 16-bittiseksi kaksoiskappaleeksi, ja se on saatavana digitaalisen I2 C-liitännän kautta. Se mittaa
Magneettikentän mittaus käyttäen HMC5883 ja Raspberry Pi: 4 vaihetta
Magneettikentän mittaus HMC5883: n ja Raspberry Pi: n avulla: HMC5883 on digitaalinen kompassi, joka on suunniteltu matalan kentän magneettitunnistukseen. Tällä laitteella on laaja magneettikenttäalue +/- 8 Oe ja lähtötaajuus 160 Hz. HMC5883 -anturi sisältää automaattiset hihnaohjaimet, offset -peruutus ja
Magneettikentän mittaus käyttäen HMC5883 ja Arduino Nano: 4 vaihetta
Magneettikentän mittaus HMC5883: n ja Arduino Nanon avulla: HMC5883 on digitaalinen kompassi, joka on suunniteltu matalan kentän magneettitunnistukseen. Tällä laitteella on laaja magneettikenttäalue +/- 8 Oe ja lähtötaajuus 160 Hz. HMC5883 -anturi sisältää automaattiset hihnaohjaimet, offset -peruutus ja
Lämpötilan mittaus käyttäen MCP9803: ta ja hiukkasfotonia: 4 vaihetta
Lämpötilan mittaus käyttäen MCP9803: ta ja hiukkasfotonia: MCP9803 on 2-johtiminen korkean tarkkuuden lämpötila-anturi. Ne on varustettu käyttäjän ohjelmoitavilla rekistereillä, jotka helpottavat lämpötilan tunnistamista. Tämä anturi sopii erittäin kehittyneeseen monivyöhykkeen lämpötilanvalvontajärjestelmään
Lämpötilan mittaus käyttämällä ADT75: tä ja hiukkasfotonia: 4 vaihetta
Lämpötilan mittaus käyttämällä ADT75: tä ja hiukkasfotonia: ADT75 on erittäin tarkka, digitaalinen lämpötila -anturi. Se koostuu kaistaraon lämpötila-anturista ja 12-bittisestä analogisesta digitaaliseen muuntimeen lämpötilan valvontaa ja digitointia varten. Sen erittäin herkkä anturi tekee siitä riittävän pätevän minulle