Галерея проектов
Любой проект можно открыть, запустить и сделать своей копией. У каждого примера есть разбор: что на схеме, какие библиотеки нужны и что делает код.
BME280: три величины сразу
Датчик отдаёт не градусы, а сырые числа и заводские поправки — считает библиотека. Пример показывает, что из этого получается.
MPU6050: шесть чисел
Три ускорения, три угловые скорости и температура кристалла. И первое, о что все спотыкаются: датчик после включения спит.
Авиагоризонт на TFT
Наклон рисуется линией горизонта на цветном экране: земля снизу, небо сверху, и всё это поворачивается вместе с датчиком.
Барометр: тенденция за три часа
Погоду предсказывает не давление, а его изменение. Кольцевой буфер и разность с отсчётом трёхчасовой давности.
Высота по давлению
Барометрическая высота: считается от давления на уровне моря, и ошибка в этом одном числе смещает всю шкалу.
Дополняющий фильтр
Акселерометр шумит, гироскоп уплывает. Одна строка фильтра берёт от каждого лучшее — и объясняет, почему.
Индикатор духоты
Три величины сводятся в одну оценку. Гистерезис в пороге — иначе индикатор мигает на границе.
Какой стороной вверх
Шесть положений кубика из знаков трёх ускорений. Простая задача, на которой видно, зачем нужен порог уверенности.
Калибровка нуля
У лежащего неподвижно датчика гироскоп показывает не ноль. Смещение снимают один раз при старте и вычитают дальше.
Метеостанция с журналом
Датчик, часы и карта вместе: раз в минуту строка в файл, имя файла — из даты.
Режим по требованию и экономия
Датчик умеет спать между измерениями. Разница режимов и то, чем за неё платят.
Свободное падение
Падающий датчик не чувствует силы тяжести: длина вектора уходит к нулю. На этом и строится определение падения.
Уровень: крен и тангаж
Углы считаются из вектора силы тяжести — двумя арктангенсами. Покрутите наклон в свойствах датчика и смотрите на пузырёк.
Шагомер
Шаг — это всплеск длины вектора. Считать всплески без гистерезиса и паузы бесполезно: один шаг насчитается пятью.
Сглаживание показаний
Скользящее среднее против дрожания последнего разряда. Заодно видно, чем оно платит за гладкость.
Сканер шины I2C
Первое, что запускают, когда датчик на шине не отвечает: перебор всех адресов.
Точка росы и запотевание
Точку росы датчик не измеряет — её считают из температуры и влажности. Формула Магнуса и проверка «стекло запотеет».