Оглавление:
- Шаг 1: Требуемое оборудование:
- Шаг 2: Подключение оборудования:
- Шаг 3: Код для измерения напряженности магнитного поля:
- Шаг 4: Приложения:
Видео: Измерение магнитного поля с использованием HMC5883 и фотона частиц: 4 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:49
HMC5883 - цифровой компас, разработанный для измерения магнитного поля в слабом поле. Это устройство имеет широкий диапазон магнитного поля +/- 8 Э и выходную частоту 160 Гц. Датчик HMC5883 включает в себя приводы ремня с автоматическим размагничиванием, отмену смещения и 12-разрядный АЦП, обеспечивающий точность направления по компасу от 1 ° до 2 °. Все мини-модули I²C рассчитаны на работу при 5 В постоянного тока.
В этом уроке мы собираемся подробно объяснить работу HMC5883 с фотонами частиц. Фотон частиц - это доска, которая облегчает отправку и получение данных с веб-сайта, которая поддерживает основную функцию Интернета вещей (IoT).
Шаг 1: Требуемое оборудование:
Материалы, которые нам нужны для достижения нашей цели, включают следующие компоненты оборудования:
1. HMC5883
2. Частичный фотон
3. Кабель I2C
4. I2C-экран для частиц фотонов.
Шаг 2: Подключение оборудования:
Раздел подключения оборудования в основном объясняет проводные соединения, необходимые между датчиком и фотоном частицы. Обеспечение правильных соединений является основной необходимостью при работе с любой системой для достижения желаемого результата. Итак, необходимые подключения следующие:
HMC5883 будет работать по I2C. Вот пример схемы подключения, демонстрирующий, как подключить каждый интерфейс датчика.
Изначально плата настроена для интерфейса I2C, поэтому мы рекомендуем использовать это подключение, если вы не сторонник этого. Все, что вам нужно, это четыре провода!
Требуются только четыре соединения, выводы Vcc, Gnd, SCL и SDA, которые подключаются с помощью кабеля I2C.
Эти соединения показаны на рисунках выше.
Шаг 3: Код для измерения напряженности магнитного поля:
Начнем с кода частицы.
При использовании сенсорного модуля с Arduino мы включаем библиотеки application.h и spark_wiring_i2c.h. Библиотека application.h и spark_wiring_i2c.h содержит функции, которые облегчают обмен данными i2c между датчиком и частицей.
Полный код частицы приведен ниже для удобства пользователя:
#включают
#включают
// Адрес I2C HMC5883 0x1E (30)
#define Addr 0x1E
int xMag = 0, yMag = 0, zMag = 0;
установка void ()
{
// Устанавливаем переменную
Particle.variable («i2cdevice», «HMC5883»);
Particle.variable ("xMag", xMag);
Particle.variable ("yMag", yMag);
Particle.variable ("zMag", zMag);
// Инициализируем связь I2C как МАСТЕР
Wire.begin ();
// Инициализируем последовательную связь, устанавливаем скорость передачи = 9600
Serial.begin (9600);
// Запуск передачи I2C
Wire.beginTransmission (адрес);
// Выбираем регистр конфигурации A
Wire.write (0x00);
// Устанавливаем нормальную конфигурацию измерения, скорость вывода данных = 0,75 Гц
Wire.write (0x60);
// Остановка передачи I2C
Wire.endTransmission ();
// Запуск передачи I2C
Wire.beginTransmission (адрес);
// Выбираем регистр режима
Wire.write (0x02);
// Устанавливаем непрерывное измерение
Wire.write (0x00);
// Остановка передачи I2C
Wire.endTransmission ();
задержка (300);
}
пустой цикл ()
{
данные типа int без знака [6];
// Запуск передачи I2C
Wire.beginTransmission (адрес);
// Выбираем регистр данных
Wire.write (0x03);
// Остановка передачи I2C
Wire.endTransmission ();
// Запрос 6 байтов данных
Wire.requestFrom (Адрес, 6);
// Чтение 6 байтов данных
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
если (Wire.available () == 6)
{
данные [0] = Wire.read ();
данные [1] = Wire.read ();
данные [2] = Wire.read ();
данные [3] = Wire.read ();
данные [4] = Wire.read ();
данные [5] = Wire.read ();
}
задержка (300);
// Конвертируем данные
xMag = ((данные [0] * 256) + данные [1]);
если (xMag> 32767)
{
xMag - = 65536;
}
zMag = ((данные [2] * 256) + данные [3]);
если (zMag> 32767)
{
zMag - = 65536;
}
yMag = ((данные [4] * 256) + данные [5]);
если (yMag> 32767)
{
yMag - = 65536;
}
// Выводим данные в дашборд
Particle.publish («Магнитное поле по оси X:», String (xMag));
задержка (1000);
Particle.publish («Магнитное поле по оси Y:», String (yMag));
задержка (1000);
Particle.publish («Магнитное поле по оси Z:», String (zMag));
задержка (1000);
}
Функция Particle.variable () создает переменные для хранения выходных данных датчика, а функция Particle.publish () отображает выходные данные на панели инструментов сайта.
Выходной сигнал датчика показан на рисунке выше для справки.
Шаг 4: Приложения:
HMC5883 - это многокристальный модуль для поверхностного монтажа, предназначенный для измерения магнитного поля в слабом поле с цифровым интерфейсом для таких приложений, как недорогой компас и магнитометрия. Его точность и точность на уровне от одного до двух градусов позволяют использовать пешеходную навигацию и приложения LBS.
Рекомендуемые:
Измерение магнитного поля с использованием HMC5883 и Raspberry Pi: 4 шага
Измерение магнитного поля с использованием HMC5883 и Raspberry Pi: HMC5883 - это цифровой компас, разработанный для измерения магнитного поля в слабом поле. Это устройство имеет широкий диапазон магнитного поля +/- 8 Э и выходную частоту 160 Гц. Датчик HMC5883 включает в себя драйверы ремня с автоматическим размагничиванием, отмену смещения и
Измерение магнитного поля с использованием HMC5883 и Arduino Nano: 4 шага
Измерение магнитного поля с использованием HMC5883 и Arduino Nano: HMC5883 - это цифровой компас, разработанный для измерения магнитного поля в слабом поле. Это устройство имеет широкий диапазон магнитного поля +/- 8 Э и выходную частоту 160 Гц. Датчик HMC5883 включает в себя драйверы ремня с автоматическим размагничиванием, отмену смещения и
Измерение ускорения с помощью H3LIS331DL и фотона частиц: 4 шага
Измерение ускорения с использованием H3LIS331DL и Particle Photon: H3LIS331DL - это маломощный высокопроизводительный 3-осевой линейный акселерометр, принадлежащий к семейству «нано», с цифровым последовательным интерфейсом I²C. H3LIS331DL имеет выбираемую пользователем полную шкалу ± 100 г / ± 200 г / ± 400 г и может измерять ускорения w
Измерение ускорения с использованием BMA250 и фотона частиц: 4 шага
Измерение ускорения с использованием BMA250 и Particle Photon: BMA250 - это небольшой, тонкий, сверхмалопотребляющий 3-осевой акселерометр с высоким разрешением (13 бит) для измерения при нагрузке до ± 16 g. Данные цифрового вывода форматируются как 16-битное дополнение до двоек и доступны через цифровой интерфейс I2C. Он измеряет статическое электричество
Измерение температуры с использованием TMP112 и фотона частиц: 4 шага
Измерение температуры с использованием TMP112 и частиц Photon: TMP112 Высокоточный, маломощный цифровой датчик температуры Модуль I2C MINI. TMP112 идеально подходит для расширенного измерения температуры. Это устройство обеспечивает точность ± 0,5 ° C без необходимости калибровки или обработки сигнала от внешних компонентов. I