Spisu treści:
- Krok 1: Wymagany sprzęt:
- Krok 2: Podłączenie sprzętu:
- Krok 3: Kod Java do pomiaru natężenia pola magnetycznego:
- Krok 4: Aplikacje:
Wideo: Pomiar pola magnetycznego za pomocą HMC5883 i Raspberry Pi: 4 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:28
HMC5883 to cyfrowy kompas przeznaczony do wykrywania pola magnetycznego o niskim polu. To urządzenie ma szeroki zakres pola magnetycznego +/-8 Oe i częstotliwość wyjściową 160 Hz. Czujnik HMC5883 zawiera automatyczne sterowniki paska rozmagnesowania, anulowanie przesunięcia i 12-bitowy przetwornik ADC, który zapewnia dokładność kierunku kompasu od 1° do 2°. Wszystkie moduły I²C Mini są zaprojektowane do pracy przy 5VDC.
W tym samouczku wyjaśnimy szczegółowo działanie HMC5883 z Raspberry pi i jego programowanie przy użyciu języka programowania java.
Krok 1: Wymagany sprzęt:
Sprzęt wymagany do wykonania zadania to:
1. HMC5883
2. Raspberry Pi
3. Kabel I2C
4. Osłona I2C dla Raspberry Pi
5. Kabel Ethernet
Krok 2: Podłączenie sprzętu:
Sekcja dotycząca podłączania sprzętu zasadniczo wyjaśnia połączenia okablowania wymagane między czujnikiem a raspberry pi. Zapewnienie prawidłowych połączeń jest podstawową koniecznością podczas pracy na dowolnym systemie o pożądanej mocy. Tak więc wymagane połączenia są następujące:
HMC5883 będzie działał przez I2C. Oto przykładowy schemat okablowania, pokazujący, jak okablować każdy interfejs czujnika.
Po wyjęciu z pudełka, płyta jest skonfigurowana do interfejsu I2C, dlatego zalecamy korzystanie z tego podłączenia, jeśli jesteś agnostykiem. Wszystko czego potrzebujesz to cztery przewody!
Wymagane są tylko cztery połączenia Vcc, Gnd, SCL i SDA, które są połączone za pomocą kabla I2C.
Połączenia te są pokazane na powyższych zdjęciach.
Krok 3: Kod Java do pomiaru natężenia pola magnetycznego:
Zaletą korzystania z raspberry pi jest to, że zapewnia elastyczność języka programowania, w którym chcesz zaprogramować płytkę w celu połączenia z nią czujnika. Wykorzystując tę zaletę tej płyty, demonstrujemy tutaj jej programowanie w Javie. Kod Java dla HMC5883 można pobrać z naszej społeczności github, czyli sklepu Dcube Store.
Oprócz ułatwienia użytkownikom wyjaśniamy również kod tutaj:
Jako pierwszy krok kodowania musisz pobrać bibliotekę pi4j w przypadku java, ponieważ ta biblioteka obsługuje funkcje używane w kodzie. Aby pobrać bibliotekę, możesz odwiedzić poniższy link:
pi4j.com/install.html
Możesz skopiować działający kod java dla tego czujnika również stąd:
importuj com.pi4j.io.i2c. I2CBus;
importuj com.pi4j.io.i2c. I2CDurządzenie;
mport com.pi4j.io.i2c. I2CFabryka;
import java.io. IOException; klasa publiczna HMC5883
{
public static void main(String args) wyrzuca Wyjątek
{
// Utwórz magistralę I2C
Magistrala I2CBus = I2CFactory.getInstance(I2CBus. BUS_1);
// Pobierz urządzenie I2C, adres HMC5883 I2C to 0x1E(30)
Urządzenie I2CDevice = Bus.getDevice(0x1E);
// Wybierz rejestr konfiguracji A
// Normalna konfiguracja pomiaru, szybkość transmisji danych o/p = 0,75 Hz
urządzenie.write(0x00, (bajt)0x60);
// Wybierz rejestr trybu
// Tryb pomiaru ciągłego
urządzenie.write(0x02, (bajt)0x00);
Wątek.sen(500);
// Odczytaj 6 bajtów danych z 0x03(3)
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
bajt dane = nowy bajt[6];
urządzenie.odczyt(0x03, dane, 0, 6);
// Konwertuj dane
int xMag = ((dane[0] i 0xFF) * 256 + (dane[1] i 0xFF));
jeśli(xMag > 32767)
{
xMag -= 65536;
}
int zMag = ((dane [2] i 0xFF) * 256 + (dane [3] i 0xFF));
jeśli(zMag > 32767)
{
zMag -= 65536;
}
int yMag = ((dane[4] i 0xFF) * 256 + (dane[5] i 0xFF));
if(yMag > 32767)
{
yMag -= 65536;
}
// Prześlij dane na ekran
System.out.printf("Pole magnetyczne w osi X: %d %n", xMag);
System.out.printf("Pole magnetyczne w osi Y: %d %n", yMag);
System.out.printf("Pole magnetyczne w osi Z: %d %n", zMag);
}
}
Funkcje write() i read() służą odpowiednio do zapisywania poleceń i odczytywania danych wyjściowych czujnika. Kolejna część ilustruje odczyt wartości pola magnetycznego.
// Odczytaj 6 bajtów danych z 0x03(3)
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
bajt dane = nowy bajt[6];
urządzenie.odczyt(0x03, dane, 0, 6);
Wyjście pokazano na powyższym obrazku.
Krok 4: Aplikacje:
HMC5883 to wieloukładowy moduł do montażu powierzchniowego przeznaczony do wykrywania pola magnetycznego niskiego pola z interfejsem cyfrowym do zastosowań takich jak niedrogie kompasy i magnetometria. Jego dokładność i precyzja na poziomie od jednego do dwóch stopni umożliwia nawigację pieszych i aplikacje LBS.
Zalecana:
Pomiar pola magnetycznego za pomocą HMC5883 i Arduino Nano: 4 kroki
Pomiar pola magnetycznego za pomocą HMC5883 i Arduino Nano: HMC5883 to cyfrowy kompas przeznaczony do wykrywania pola magnetycznego o niskim polu. To urządzenie ma szeroki zakres pola magnetycznego +/-8 Oe i częstotliwość wyjściową 160 Hz. Czujnik HMC5883 zawiera automatyczne sterowniki paska rozmagnesowania, anulowanie przesunięcia i
Pomiar pola magnetycznego za pomocą HMC5883 i Particle Photon: 4 kroki
Pomiar pola magnetycznego za pomocą HMC5883 i Particle Photon: HMC5883 to cyfrowy kompas przeznaczony do wykrywania pola magnetycznego o niskim polu. To urządzenie ma szeroki zakres pola magnetycznego +/-8 Oe i częstotliwość wyjściową 160 Hz. Czujnik HMC5883 zawiera automatyczne sterowniki paska rozmagnesowania, anulowanie przesunięcia i
Samouczek: Jak zrobić alarm drzwi za pomocą MC-18 Alarm czujnika magnetycznego: 3 kroki
Samouczek: Jak zrobić alarm drzwi za pomocą alarmu czujnika magnetycznego przełącznika MC-18: Cześć chłopaki, zrobię samouczek na temat alarmu czujnika przełącznika magnetycznego MC-18, który działa w trybie normalnie zamkniętym. Ale najpierw pozwól, że wyjaśnię ci w skrócie, co to znaczy normalnie blisko. Istnieją dwa rodzaje trybu, normalnie otwarty i normalnie zamknięty
Alarm drzwi za pomocą magnetycznego czujnika Halla: 5 kroków
Alarm drzwi za pomocą magnetycznego czujnika Halla: Alarm drzwi jest bardzo powszechnym i użytecznym urządzeniem do celów bezpieczeństwa. Służą do wykrywania, czy drzwi są otwarte czy zamknięte. Często widzieliśmy alarm drzwi w lodówce, który po aktywacji wydawał inny dźwięk. Alarm drzwiowy Pro
3-osiowy czujnik pola magnetycznego: 10 kroków (ze zdjęciami)
3-osiowy czujnik pola magnetycznego: bezprzewodowe systemy przesyłania energii są na dobrej drodze do zastąpienia konwencjonalnego ładowania przewodowego. Począwszy od maleńkich implantów biomedycznych, aż po bezprzewodowe ładowanie ogromnych pojazdów elektrycznych. Integralną częścią badań nad mocą bezprzewodową jest