// Барометрическая высота относительно “нулевой” отметки

Serial.print(F("Approx altitude = "));

Serial.print(bmp.readAltitude(1013.25)); // Давление на “нулевой” отметке

Serial.println(" m");

Serial.println();

delay(2000);

}

Разумеется, атмосферное давление не меняется столь же быстро, как показания акселерометра. Оставив программу работать некоторое время, можно получить график изменения атмосферного давления. Барометрическая высота кстати, активно используется в авиации, т.к. позволяет получать довольно- таки точную высоту над уровнем моря относительно нулевой отметки. Точность цифровых датчиков весьма высока, и позволяет улавливать даже разницу в высоте менее 1м. Это используется например, в квадрокоптерах для удержания заданной высоты полета.

Самостоятельная работа #1: Вывести на графике изменение атмосферного давления за ночь. Т.к. давление изменяется медленно, паузу в коде можно увеличить, это уменьшит требуемое количество сохраняемых данных.

Самостоятельная работа #2: Создать устройство “тревожной сигнализации”, которое будет мигать светодиодом и включать звук, если кто-то сдвинул прибор с места. Для этого при включении устройства стоит запоминать текущее значение акселерометра или компаса, и если значения вышли за заданные пределы, значит устройство было сдвинуто. Также можно предусмотреть отдельную кнопку “сброс” для запоминания новых значений. Разместив такой прибор в компактном корпусе, его можно использовать например, для охраны чемодана.

2.10 Подключаем часы реального времени (RTC)

Мы уже знаем, как подключить к Arduino внешнюю нагрузку через полевой транзистор или реле, как запрограммировать паузы и считывать температуру с внешнего сенсора. Допустим, мы решили сделать полив цветов по расписанию - утром и вечером. Но как Arduino узнает, какое сейчас время суток? Для этого может использоваться специальная микросхема - модуль часов реального времени (Real Time Clock). Данный модуль передает данные по I2C, время хранится в специальной микросхеме DS1307, на плате также есть батарейка, обеспечивающая работу модуля когда питание отключено.

Подключение модуля к Arduino весьма просто.

Для использования модуля, необходимо скачать и установить библиотеку https://github.com/Makuna/Rtc.

Пример использования DS1707 показан ниже.

#include <Wire.h>

#include <RtcDS1307.h>

RtcDS1307<TwoWire> Rtc(Wire);

void setup ()

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату