Kazalo:
- 1. korak: Potrebna strojna oprema:
- 2. korak: Priključitev strojne opreme:
- 3. korak: Koda Java za merjenje intenzivnosti magnetnega polja:
- 4. korak: Aplikacije:
Video: Merjenje magnetnega polja z uporabo HMC5883 in Raspberry Pi: 4 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
HMC5883 je digitalni kompas, zasnovan za magnetno zaznavanje nizkih polj. Ta naprava ima široko območje magnetnega polja +/- 8 Oe in izhodno hitrost 160 Hz. Senzor HMC5883 vključuje gonilnike trakov za samodejno razmagliciranje, preklic zamika in 12-bitni ADC, ki omogoča natančnost smeri kompasa od 1 ° do 2 °. Vsi mini moduli I²C so zasnovani za delovanje pri 5VDC.
V tej vadnici bomo razložili podrobno delovanje HMC5883 z Raspberry pi in njegovo programiranje z uporabo programskega jezika java.
1. korak: Potrebna strojna oprema:
Strojna oprema, ki je potrebna za izvedbo naloge, je naslednja:
1. HMC5883
2. Malina Pi
3. Kabel I2C
4. I2C ščit za Raspberry Pi
5. Ethernetni kabel
2. korak: Priključitev strojne opreme:
Oddelek za priključitev strojne opreme v bistvu razlaga potrebne povezave ožičenja med senzorjem in malinovim pi. Zagotavljanje pravilnih povezav je osnovna potreba pri delu na katerem koli sistemu za želeni izhod. Torej so potrebne povezave naslednje:
HMC5883 bo deloval preko I2C. Tu je primer sheme ožičenja, ki prikazuje, kako povezati vsak vmesnik senzorja.
Plošča je že pripravljena za vmesnik I2C, zato priporočamo uporabo te povezave, če niste agnostični. Vse kar potrebujete so štiri žice!
Potrebne so le štiri povezave Vcc, Gnd, SCL in SDA, ki so povezane s kablom I2C.
Te povezave so prikazane na zgornjih slikah.
3. korak: Koda Java za merjenje intenzivnosti magnetnega polja:
Prednost uporabe maline pi je, da vam omogoča prilagodljivost programskega jezika, v katerem želite programirati ploščo, da povežete senzor z njo. Če izkoristimo to prednost te plošče, tukaj dokazujemo njeno programiranje v Javi. Kodo java za HMC5883 lahko prenesete iz naše skupnosti github, ki je Dcube Store.
Poleg lažjega uporabnika kodo razlagamo tudi tukaj:
Kot prvi korak kodiranja morate v primeru jave prenesti knjižnico pi4j, ker ta knjižnica podpira funkcije, ki se uporabljajo v kodi. Če želite prenesti knjižnico, obiščite naslednjo povezavo:
pi4j.com/install.html
Delovno kodo java za ta senzor lahko kopirate tudi tukaj:
uvoz com.pi4j.io.i2c. I2CBus;
uvoz com.pi4j.io.i2c. I2CDevice;
mport com.pi4j.io.i2c. I2CFactory;
import java.io. IOException; javni razred HMC5883
{
public static void main (String args ) vrže Exception
{
// Ustvari vodilo I2C
Vodilo I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);
// Pridobite napravo I2C, naslov I2C HMC5883 je 0x1E (30)
Naprava I2CDevice = Bus.getDevice (0x1E);
// Izberite konfiguracijski register A
// Normalna konfiguracija merjenja, hitrost prenosa podatkov o/p = 0,75 Hz
device.write (0x00, (bajt) 0x60);
// Izberite register načina
// Način neprekinjenega merjenja
device.write (0x02, (bajt) 0x00);
Thread.sleep (500);
// Preberite 6 bajtov podatkov iz 0x03 (3)
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
bajt podatki = novi bajt [6];
device.read (0x03, podatki, 0, 6);
// Pretvorimo podatke
int xMag = ((podatki [0] & 0xFF) * 256 + (podatki [1] & 0xFF));
če (xMag> 32767)
{
xMag -= 65536;
}
int zMag = ((podatki [2] & 0xFF) * 256 + (podatki [3] & 0xFF));
če (zMag> 32767)
{
zMag -= 65536;
}
int yMag = ((podatki [4] & 0xFF) * 256 + (podatki [5] & 0xFF));
če (yMag> 32767)
{
yMag -= 65536;
}
// Izhod podatkov na zaslon
System.out.printf ("Magnetno polje v osi X: %d %n", xMag);
System.out.printf ("Magnetno polje v osi Y: %d %n", yMag);
System.out.printf ("Magnetno polje v osi Z: %d %n", zMag);
}
}
Za zapisovanje ukazov in branje izhoda senzorja se uporabljata funkcija Write () in read (). Naslednji del prikazuje branje vrednosti magnetnega polja.
// Preberite 6 bajtov podatkov iz 0x03 (3)
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
bajt podatki = novi bajt [6];
device.read (0x03, podatki, 0, 6);
Izhod je prikazan na zgornji sliki.
4. korak: Aplikacije:
HMC5883 je površinsko nameščen modul z več čipi, zasnovan za magnetno zaznavanje nizkih polj z digitalnim vmesnikom za aplikacije, kot sta poceni kompas in magnetometrija. Njegova natančnost in natančnost od ene do dveh stopinj omogočata navigacijo za pešce in aplikacije LBS.
Priporočena:
Merjenje temperature z uporabo AD7416ARZ in Raspberry Pi: 4 koraki
Merjenje temperature z uporabo AD7416ARZ in Raspberry Pi: AD7416ARZ je 10-bitno temperaturno tipalo s štirimi enokanalnimi analogno-digitalnimi pretvorniki in vgrajenim senzorjem temperature na vozilu. Do temperaturnega senzorja na delih lahko dostopate po kanalih multiplekserja. Ta visoko natančna temperatura
Merjenje magnetnega polja z uporabo HMC5883 in Arduino Nano: 4 koraki
Merjenje magnetnega polja z uporabo HMC5883 in Arduino Nano: HMC5883 je digitalni kompas, zasnovan za magnetno zaznavanje nizkega polja. Ta naprava ima široko območje magnetnega polja +/- 8 Oe in izhodno hitrost 160 Hz. Senzor HMC5883 vključuje gonilnike trakov za samodejno razmagliciranje, preklic zamika in
Merjenje magnetnega polja z uporabo HMC5883 in fotona delcev: 4 koraki
Merjenje magnetnega polja z uporabo HMC5883 in fotona delcev: HMC5883 je digitalni kompas, zasnovan za zaznavanje magnetnega polja z nizkim poljem. Ta naprava ima široko območje magnetnega polja +/- 8 Oe in izhodno hitrost 160 Hz. Senzor HMC5883 vključuje gonilnike trakov za samodejno razmagliciranje, preklic zamika in
Merjenje tlaka z uporabo CPS120 in Raspberry Pi: 4 koraki
Merjenje tlaka z uporabo CPS120 in Raspberry Pi: CPS120 je visokokakovosten in poceni kapacitivni senzor absolutnega tlaka s popolnoma kompenzirano močjo. Porabi zelo malo energije in je sestavljen iz ultra majhnega mikro-elektro-mehanskega senzorja (MEMS) za merjenje tlaka. Sigma-delta temelji
3-osni senzor magnetnega polja: 10 korakov (s slikami)
3-osni senzor magnetnega polja: Brezžični sistemi za prenos energije so na dobri poti, da nadomestijo običajno žično polnjenje. Od drobnih biomedicinskih vsadkov pa vse do brezžičnega polnjenja ogromnih električnih vozil. Sestavni del raziskav o brezžičnem napajanju je