Sisällysluettelo:
- Vaihe 1: Tarvittava laitteisto:
- Vaihe 2: Laitteiston kytkentä:
- Vaihe 3: Java -koodi magneettikentän voimakkuuden mittaamiseen:
- Vaihe 4: Sovellukset:
Video: Magneettikentän mittaus käyttäen HMC5883 ja Raspberry Pi: 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 Raspberry pi: n kanssa ja sen ohjelmoinnin java -ohjelmointikielellä.
Vaihe 1: Tarvittava laitteisto:
Tehtävän suorittamiseen tarvittava laitteisto on seuraava:
1. HMC5883
2. Vadelma Pi
3. I2C -kaapeli
4. I2C -kilpi Raspberry Pi: lle
5. Ethernet -kaapeli
Vaihe 2: Laitteiston kytkentä:
Laitteiston liitäntäosa selittää periaatteessa anturin ja vadelmapi: n 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: Java -koodi magneettikentän voimakkuuden mittaamiseen:
Raspberry pi: n käytön etuna on, että se tarjoaa joustavuuden ohjelmointikielelle, jolla haluat ohjelmoida levyn, jotta liitäntä anturiin sen kanssa. Hyödynnämme tämän levyn etua ja demonstroimme tässä sen ohjelmointia Javalla. HMC5883: n java -koodin voi ladata gitub -yhteisöltämme, joka on Dcube Store.
Käyttäjien helpottamiseksi selitämme koodin myös täällä:
Koodauksen ensimmäisenä vaiheena sinun on ladattava pi4j -kirjasto java -tapauksessa, koska tämä kirjasto tukee koodissa käytettyjä toimintoja. Joten voit ladata kirjaston seuraavasta linkistä:
pi4j.com/install.html
Voit myös kopioida tämän anturin toimivan Java -koodin täältä:
tuonti com.pi4j.io.i2c. I2CBus;
tuoda com.pi4j.io.i2c. I2CDevice;
mport com.pi4j.io.i2c. I2CFactory;
Tuo java.io. IOException; julkinen luokka HMC5883
{
public staattinen void main (String args ) heittää Poikkeus
{
// Luo I2C -väylä
I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1);
// Hanki I2C -laite, HMC5883 I2C -osoite on 0x1E (30)
I2CDevice device = Bus.getDevice (0x1E);
// Valitse Määritysrekisteri A
// Normaali mittauskonfiguraatio, tiedonsiirtonopeus o/p = 0,75 Hz
device.write (0x00, (tavu) 0x60);
// Valitse tilarekisteri
// Jatkuva mittaustila
device.write (0x02, (tavu) 0x00);
Kierteet.unen (500);
// Lue 6 tavua dataa 0x03: sta (3)
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
tavu data = uusi tavu [6];
device.read (0x03, data, 0, 6);
// Muunna tiedot
int xMag = ((data [0] & 0xFF) * 256 + (data [1] & 0xFF));
jos (xMag> 32767)
{
xMag -= 65536;
}
int zMag = ((data [2] & 0xFF) * 256 + (data [3] & 0xFF));
jos (zMag> 32767)
{
zMag -= 65536;
}
int yMag = ((data [4] & 0xFF) * 256 + (data [5] & 0xFF));
jos (yMag> 32767)
{
yMag -= 65536;
}
// Tulosta tiedot näytölle
System.out.printf ("Magneettikenttä X-akselilla: %d %n", xMag);
System.out.printf ("Magneettikenttä Y-akselilla: %d %n", yMag);
System.out.printf ("Z-akselin magneettikenttä: %d %n", zMag);
}
}
Kirjoitus () - ja luku () -toimintoja käytetään komentojen kirjoittamiseen ja anturilähdön lukemiseen. Seuraava osa kuvaa magneettikentän arvojen lukemista.
// Lue 6 tavua dataa 0x03: sta (3)
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
tavu data = uusi tavu [6];
device.read (0x03, data, 0, 6);
Lä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:
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
Magneettikentän mittaus käyttäen HMC5883 ja hiukkasfotonia: 4 vaihetta
Magneettikentän mittaus HMC5883: n ja hiukkasfotonin 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
Kiihtyvyyden mittaus käyttäen ADXL345 ja Raspberry Pi: 4 vaihetta
Kiihtyvyyden mittaus ADXL345: n ja Raspberry Pi: n avulla: 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
Kiihtyvyyden mittaus käyttäen H3LIS331DL ja Raspberry Pi: 4 vaihetta
Kiihtyvyyden mittaus H3LIS331DL: n ja Raspberry Pi: n avulla: H3LIS331DL on pienitehoinen ja suorituskykyinen 3-akselinen lineaarinen kiihtyvyysanturi, joka kuuluu nano-perheeseen, ja jossa on digitaalinen I²C-sarjaliitäntä. H3LIS331DL: ssä on käyttäjän valittavissa täydet asteikot ± 100 g/± 200 g/± 400 g, ja se pystyy mittaamaan kiihtyvyydet
Kosteuden ja lämpötilan mittaus käyttäen HIH6130 ja Raspberry Pi: 4 vaihetta
Kosteuden ja lämpötilan mittaus HIH6130: n ja Raspberry Pi: n avulla: HIH6130 on kosteus- ja lämpötila -anturi, jossa on digitaalinen lähtö. Nämä anturit antavat tarkkuustason ± 4% RH. Alan johtava pitkän aikavälin vakaus, todellinen lämpötilakompensoitu digitaalinen I2C, alan johtava luotettavuus, energiatehokkuus