Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:04
HMC5883 - цифровой компас, разработанный для измерения магнитного поля в слабом поле. Это устройство имеет широкий диапазон магнитного поля +/- 8 Э и выходную частоту 160 Гц. Датчик HMC5883 включает в себя приводы ремня с автоматическим размагничиванием, отмену смещения и 12-разрядный АЦП, обеспечивающий точность направления по компасу от 1 ° до 2 °. Все мини-модули I²C рассчитаны на работу при 5 В постоянного тока.
В этом руководстве мы собираемся подробно объяснить работу HMC5883 с Raspberry pi и его программирование с использованием языка программирования java.
Шаг 1: Требуемое оборудование:
Оборудование, необходимое для выполнения задачи, следующее:
1. HMC5883
2. Raspberry Pi
3. Кабель I2C
4. I2C Shield для Raspberry Pi
5. Кабель Ethernet.
Шаг 2: Подключение оборудования:
В разделе «Подключение оборудования» в основном объясняются проводные соединения, необходимые между датчиком и Raspberry Pi. Обеспечение правильных соединений является основной необходимостью при работе с любой системой для достижения желаемого результата. Итак, необходимые подключения следующие:
HMC5883 будет работать по I2C. Вот пример схемы подключения, демонстрирующий, как подключить каждый интерфейс датчика.
Изначально плата настроена для интерфейса I2C, поэтому мы рекомендуем использовать это подключение, если вы не сторонник этого. Все, что вам нужно, это четыре провода!
Требуются только четыре соединения, выводы Vcc, Gnd, SCL и SDA, которые подключаются с помощью кабеля I2C.
Эти соединения показаны на рисунках выше.
Шаг 3: Java-код для измерения интенсивности магнитного поля:
Преимущество использования raspberry pi заключается в том, что он предоставляет вам гибкость языка программирования, на котором вы хотите запрограммировать плату, чтобы связать с ней датчик. Используя это преимущество этой платы, мы демонстрируем здесь ее программирование на Java. Код Java для HMC5883 можно загрузить в нашем сообществе github, которое называется Dcube Store.
Помимо удобства пользователей, мы также объясняем код здесь:
В качестве первого шага кодирования вам необходимо загрузить библиотеку pi4j в случае java, потому что эта библиотека поддерживает функции, используемые в коде. Итак, чтобы скачать библиотеку, вы можете перейти по следующей ссылке:
pi4j.com/install.html
Вы также можете скопировать рабочий java-код для этого датчика отсюда:
import com.pi4j.io.i2c. I2CBus;
import com.pi4j.io.i2c. I2CDevice;
mport com.pi4j.io.i2c. I2CFactory;
import java.io. IOException; открытый класс HMC5883
{
public static void main (String args ) выдает исключение
{
// Создаем шину I2C
Шина I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);
// Получение устройства I2C, адрес I2C HMC5883 - 0x1E (30)
Устройство I2CDevice = Bus.getDevice (0x1E);
// Выбираем регистр конфигурации A
// Нормальная конфигурация измерения, скорость передачи данных o / p = 0,75 Гц
device.write (0x00, (байт) 0x60);
// Выбираем регистр режима
// Режим непрерывного измерения
device.write (0x02, (байт) 0x00);
Thread.sleep (500);
// Считываем 6 байтов данных из 0x03 (3)
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
byte data = новый байт [6];
device.read (0x03, данные, 0, 6);
// Конвертируем данные
int xMag = ((данные [0] & 0xFF) * 256 + (данные [1] & 0xFF));
если (xMag> 32767)
{
xMag - = 65536;
}
int zMag = ((данные [2] & 0xFF) * 256 + (данные [3] & 0xFF));
если (zMag> 32767)
{
zMag - = 65536;
}
int yMag = ((данные [4] & 0xFF) * 256 + (данные [5] & 0xFF));
если (yMag> 32767)
{
yMag - = 65536;
}
// Выводим данные на экран
System.out.printf ("Магнитное поле по оси X:% d% n", xMag);
System.out.printf ("Магнитное поле по оси Y:% d% n", yMag);
System.out.printf ("Магнитное поле по оси Z:% d% n", zMag);
}
}
Функции Write () и read () используются для записи команд и чтения выходного сигнала датчика соответственно. Следующая часть иллюстрирует считывание значений магнитного поля.
// Считываем 6 байтов данных из 0x03 (3)
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
byte data = новый байт [6];
device.read (0x03, данные, 0, 6);
Результат показан на картинке выше.
Шаг 4: Приложения:
HMC5883 - это многокристальный модуль для поверхностного монтажа, предназначенный для измерения магнитного поля в слабом поле с цифровым интерфейсом для таких приложений, как недорогой компас и магнитометрия. Его точность и точность на уровне от одного до двух градусов позволяют использовать пешеходную навигацию и приложения LBS.
Рекомендуемые:
Измерение магнитного поля с использованием HMC5883 и Arduino Nano: 4 шага
Измерение магнитного поля с использованием HMC5883 и Arduino Nano: HMC5883 - это цифровой компас, разработанный для измерения магнитного поля в слабом поле. Это устройство имеет широкий диапазон магнитного поля +/- 8 Э и выходную частоту 160 Гц. Датчик HMC5883 включает в себя драйверы ремня с автоматическим размагничиванием, отмену смещения и
Измерение магнитного поля с использованием HMC5883 и фотона частиц: 4 шага
Измерение магнитного поля с использованием HMC5883 и фотона частиц: HMC5883 - это цифровой компас, разработанный для измерения магнитного поля в слабом поле. Это устройство имеет широкий диапазон магнитного поля +/- 8 Э и выходную частоту 160 Гц. Датчик HMC5883 включает в себя драйверы ремня с автоматическим размагничиванием, отмену смещения и
Измерение ускорения с использованием BMA250 и Raspberry Pi: 4 шага
Измерение ускорения с использованием BMA250 и Raspberry Pi: BMA250 - это небольшой, тонкий, сверхмалопотребляющий 3-осевой акселерометр с высоким разрешением (13 бит) для измерения при нагрузке до ± 16 g. Данные цифрового вывода форматируются как 16-битное дополнение до двоек и доступны через цифровой интерфейс I2C. Он измеряет статическое электричество
Дверная сигнализация с использованием магнитного датчика Холла: 5 шагов
Дверная сигнализация с использованием магнитного датчика Холла: Дверная сигнализация - очень распространенное и полезное устройство для целей безопасности. Они используются для определения того, открыта или закрыта дверь. Часто мы видели дверную сигнализацию в холодильнике, которая при срабатывании издавала другой звук. Дверная сигнализация Pro
3-осевой датчик магнитного поля: 10 шагов (с изображениями)
3-осевой датчик магнитного поля: беспроводные системы передачи энергии постепенно вытесняют традиционную проводную зарядку. От крошечных биомедицинских имплантатов до беспроводной зарядки огромных электромобилей. Неотъемлемой частью исследования беспроводной энергии является