====== Барометр v2: инструкция, схемы и примеры использования ======
Используйте [[amp>product/troyka-barometer?utm_source=man&utm_campaign=troyka-barometer-v2&utm_medium=wiki|барометр]] для определения атмосферного давления, высоты над уровнем моря и температуры окружающей среды.
{{ :products:troyka-barometer-v2:troyka-barometer-v2.4.jpg?nolink |}}
Если вам необходимо определить положение вашего девайса в пространстве, обратите внимания на [[amp>product/troyka-imu-10-dof?utm_source=man&utm_campaign=troyka-barometer-v2&utm_medium=wiki|IMU-сенсор на 10 степеней свободы]].
===== Видеообзор =====
Барометр в обзоре IMU-модуля.
{{youtube>ECVbkKo--YY?large}}
===== Пример работы для Arduino и XOD =====
В качестве мозга для считывания показаний с датчика рассмотрим платформу из серии [[amp>collection/arduino?utm_source=man&utm_campaign=troyka-barometer-v2&utm_medium=wiki|Arduino]], например, [[amp>product/arduino-uno?utm_source=man&utm_campaign=troyka-barometer-v2&utm_medium=wiki|Uno]].
* [[amp>page/arduino-ide?utm_source=man&utm_campaign=troyka-barometer-v2&utm_medium=wiki|Как начать работу с Arduino?]]
* [[amp>page/xod-ide?utm_source=man&utm_campaign=troyka-barometer-v2&utm_medium=wiki|Как начать работу с XOD?]]
На аппаратном уровне инерционный модуль общается с управляющей электроникой по шине I²C. Но не переживайте о битах и байтах: используйте библиотеку [[https://github.com/amperka/Troyka-IMUm|TroykaIMU]] и на выходе получите готовы данные.
==== Схема устройства ====
Подключите барометр к пинам питания и шины I²C — SDA и SCL на платформе Uno. Для коммуникации используйте
[[amp>product/wire-fm?utm_source=man&utm_campaign=troyka-barometer-v2&utm_medium=wiki|соединительные провода «мама-папа»]]{{ :products:troyka-barometer-v2:troyka-barometer-v2-install-arduino.png?nolink |}}
Для быстрой сборки и отладки устройства возьмите плату расширения [[amp>product/arduino-troyka-shield?utm_source=man&utm_campaign=troyka-barometer-v2&utm_medium=wiki|Troyka Shield]], которая одевается сверху на Arduino Uno методом бутерброда. Для коммуникации используйте [[amp>product/3-wire-cable-digital-troyka?utm_source=man&utm_campaign=troyka-barometer-v2&utm_medium=wiki|трёхпроводной шлейф «мама-мама»]], который идёт в комплекте с датчиком.{{ :products:troyka-barometer-v2:troyka-barometer-v2-install-arduino-troyka.png?nolink |}}
С [[amp>product/arduino-troyka-slot-shield?utm_source=man&utm_campaign=troyka-barometer-v2&utm_medium=wiki|Troyka Slot Shield]] провода не понадобятся вовсе.{{ :products:troyka-barometer-v2:troyka-barometer-v2-install-arduino-troyka-slot.png?nolink |}}
==== Вывод данных ====
В качестве примера выведем в Serial-порт атмосферное давление, высоту над уровнем моря и температуру окружающей среды.
// Библиотека для работы с модулями IMU
#include
// Создаём объект для работы с акселерометром
Barometer barometer;
void setup() {
// Открываем Serial-порт
Serial.begin(9600);
// Выводим сообщение о начале инициализации
Serial.println("Barometer begin");
// Инициализируем барометр
barometer.begin();
// Выводим сообщение об удачной инициализации
Serial.println("Initialization completed");
}
void loop() {
// Создаём переменную для значения атмосферного давления в Паскалях
float pressurePascals = barometer.readPressurePascals();
// Создаём переменную для значения атмосферного давления в мм рт.ст.
float pressureMillimetersHg = barometer.readPressureMillimetersHg();
// Создаём переменную для значения высоты над уровнем море
float altitude = barometer.readAltitude();
// Создаём переменную для значения температуры окружающей среды
float temperature = barometer.readTemperatureC();
// Вывод данных в Serial-порт
Serial.print("Pressure: ");
Serial.print(pressurePascals);
Serial.print(" Pa\t");
Serial.print(pressureMillimetersHg);
Serial.print(" mmHg\t");
Serial.print("Height: ");
Serial.print(altitude);
Serial.print(" m \t");
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" C");
delay(100);
}
===== Пример для Espruino =====
В качестве мозга для считывания показаний с датчика рассмотрим платформы из серии [[amp>collection/espruino?utm_source=man&utm_campaign=troyka-barometer-v2&utm_medium=wiki|Espruino]], например, [[amp>product/iskra-js?utm_source=man&utm_campaign=troyka-barometer-v2&utm_medium=wiki|Iskra JS]].
[[:js:ide|Как начать работу с Espruino?]]
==== Схема устройства ====
Подключите барометр к пинам питания и шины I²C — SDA и SCL платформы Iskra JS. Для коммуникации используйте
[[amp>product/wire-fm?utm_source=man&utm_campaign=troyka-barometer-v2&utm_medium=wiki|соединительные провода «мама-папа»]].{{ :products:troyka-barometer-v2:troyka-barometer-v2-install-espruino.png?nolink |}}
Для быстрой сборки и отладки устройства возьмите плату расширения [[amp>product/arduino-troyka-shield?utm_source=man&utm_campaign=troyka-barometer-v2&utm_medium=wiki|Troyka Shield]], которая одевается сверху на Iskra JS методом бутерброда. Для коммуникации используйте [[amp>product/3-wire-cable-digital-troyka?utm_source=man&utm_campaign=troyka-barometer-v2&utm_medium=wiki|трёхпроводной шлейф «мама-мама»]], который идёт в комплекте с датчиком.{{ :products:troyka-barometer-v2:troyka-barometer-v2-install-espruino-troyka.png?nolink |}}
С [[amp>product/arduino-troyka-slot-shield?utm_source=man&utm_campaign=troyka-barometer-v2&utm_medium=wiki|Troyka Slot Shield]] провода не понадобятся вовсе.{{ :products:troyka-barometer-v2:troyka-barometer-v2-install-espruino-troyka-slot.png?nolink |}}
==== Вывод данных ====
В качестве примера выведем в консоль атмосферное давление, высоту над уровнем моря и температуру окружающей среды.
[[products:troyka-barometer-v2#смена_адреса_модуля|Измените адрес на 0x5D]]
// Настраиваем I2C1
I2C1.setup({sda: SDA, scl: SCL, bitrate: 400000});
// Создаем новый экземпляр, который работает с I2C1
var baro = require("LPS25HB").connect(I2C1);
// Возвращает значение переданной функции
baro.getPressure(print);
===== Пример для Raspberry Pi =====
В качестве мозга для считывания показаний с датчика рассмотрим одноплатные компьютеры [[amp>collection/raspberry-pi?utm_source=man&utm_campaign=troyka-barometer-v2&utm_medium=wiki|Raspberry Pi]], например, [[amp>product/raspberry-pi-4-model-b-4-gb?utm_source=man&utm_campaign=troyka-barometer-v2&utm_medium=wiki|Raspberry Pi 4]].
[[articles:rpi-guide|Подготовьте Raspberry Pi]]
==== Схема устройства ====
Подключите барометр к пинам SDA и SCL шины I²C компьютера Raspberry Pi.
{{ :products:troyka-barometer-v2:troyka-barometer-v2-install-rpi.png?nolink |}}
Для быстрой сборки и отладки устройства возьмите плату расширения [[amp>product/raspberry-troyka-cap?utm_source=man&utm_campaign=troyka-barometer-v2&utm_medium=wiki|Troyka Cap]], которая надевается сверху на малину методом бутерброда.{{ :products:troyka-barometer-v2:troyka-barometer-v2-install-rpi-cap.png?nolink |}}
==== Программная настройка ====
- [[articles:rpi-guide|Подготовьте Raspberry Pi]]
- [[articles:rpi-interfaces#интерфейс_i_c|Включите шину I²C]]
==== Вывод данных ====
А написать пример кода для Raspberry Pi оставим вам домашним заданием.
===== Элементы платы =====
{{ :products:troyka-barometer-v2:troyka-barometer-v2-annotation.png?nolink |}}
==== Барометр на LPS25HB ====
Барометр выполнен на чипе {{ :products:troyka-barometer-v2:lps25hb-datasheet.pdf |LPS25HB}} по технологии MEMS от компании STMicroelectronics. Адрес устройства по умолчанию равен 0x5С, но может быть изменен на 0x5D. Подробности читайте в разделе [[#смена_адреса_модуля| смена адреса модуля]].
==== Регулятор напряжения ====
Линейный понижающий регулятор напряжения {{ :products:troyka-barometer-v2:ncp698sq33t1g-datasheet.pdf |NCP698SQ33T1G}} обеспечивает питание MEMS-чипа и других компонентов сенсора. Диапазон входного напряжения от 3,3 до 5 вольт. Выходное напряжение 3,3 В с максимальным выходным током 150 мА.
==== Преобразователь логических уровней ====
Преобразователь логических уровней {{ :products:troyka-barometer-v2:pca9306dct-datasheet.pdf |PCA9306DCT}} необходим для сопряжения датчика с разными напряжениями логических уровней от 3,3 до 5 вольт. Другими словами сенсор совместим как с 3,3 вольтовыми платами, например, Raspberry Pi, так и с 5 вольтовыми — Arduino Uno.
==== Troyka-контакты ====
Датчик подключается к управляющей электронике через две группы Troyka-контактов:
* Питание (V) — соедините с рабочим напряжением микроконтроллера.
* Земля (G) — соедините с землёй микроконтроллера.
* Сигнальный (D) — пин данных шины I²C. Подключите к пину SDA микроконтроллера.
* Сигнальный (C) — пин тактирования шины I²C. Подключите к пину SCL микроконтроллера.
===== Смена адреса модуля =====
Иногда в проекте необходимо использовать несколько барометров. Для этого на модуле предусмотрены контактная площадка. Для смена адреса капните каплей припоя на отведённую контактную площадку.
^ Модуль ^ Адрес без перемычки ^ Адрес с перемычкой ^
|Барометр | 0x5С | 0x5D |
{{ :products:troyka-barometer-v2:troyka-barometer-v2-changes-address.gif?nolink |}}
===== Принципиальная и монтажная схемы =====
{{:products:troyka-barometer-v2:troyka-barometer-v2-schematic.png?direct&450 |}}
{{ :products:troyka-barometer-v2:troyka-barometer-v2-layout-top.png?direct&220|}}
{{ :products:troyka-barometer-v2:troyka-barometer-v2-layout-bottom.png?direct&220|}}
===== Габаритный чертёж =====
[[this>_media/products:troyka-barometer-v2:troyka-barometer-v2-dimensions.pdf|{{:products:troyka-barometer-v2:troyka-barometer-v2-dimensions.png}}]]
===== Характеристики =====
* MEMS-датчик: барометр LPS25HB
* Интерфейс: I²C
* I²C-адрес:
* без перемычки: 0x5C
* с перемычкой: 0x5D
* Максимальная чувствительность: 2,4×10-4 мбар
* Диапазон измерений: 260–1260 мбар
* Напряжение питания: 3,3–5 В
* Потребляемый ток: до 10 мА
* Размеры: 25,4×25,4×10,1 мм
===== Ресурсы =====
* [[amp>product/troyka-barometer?utm_source=man&utm_campaign=troyka-barometer-v2&utm_medium=wiki|Барометр v2]] в магазине.
* [[https://github.com/amperka/hardware-drawings/blob/master/troyka-barometer-v2.svg|Векторное изображение датчика]]
* {{ :products:troyka-barometer-v2:lps25hb-datasheet.pdf |Datasheet на барометр ST LPS25HB}}
* [[https://github.com/amperka/Troyka-IMU|Библиотека для Arduino]]