Skip to content

Библиотека для работы с датчиками DHT11/DHT22/AM2302/AM2301 на STM32

Notifications You must be signed in to change notification settings

RamonBrisk/DHT11-DHT22-STM32-HAL

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 

Repository files navigation

DHT

Библиотека для работы с датчиками DHT11/DHT22/AM2302/AM2301 на STM32. Для управления портами ввода/вывода используется HAL. Имеется возможность переделки под CMSIS, SPL или под другие микроконтроллеры.

Использование

  1. Настройте ваш проект в CubeMX. Настройте необходимый порт ввода/вывода в любом направлении (на ввод или вывод, не важно). Сгенерируйте проект.
  2. Скопируйте DHT.h и DHT.c в папки проекта Inc и Src соответственно. При необходимости подключите файлы в IDE.
  3. В DHT.h укажите используемый порт, а так же при необходимости включите подтяжку линии данных.
  4. Подключите DHT.h в нужном файле и для получения данных с датчика вызовите DHT_getData() указав в аругменте тип датчика - DHT11 или DHT22.

Пример кода

#include "DHT.h"
#include <stdio.h>

int main(void) {
  while(1) {
    DHT_data d = DHT_getData(DHT22);
    printf("Temp: %2.1f*С, Hum: %2.1f%%\r\n", d.temp, d.hum);
    HAL_Delay(1000);
   }
}

Температура и влажность в комнате
UPD: Люди подсказывают о необходимости флага -u _printf_float в опциях линкера для печати чисел с плавающей точкой, но лично мне не понадобился ¯_(ツ)_/¯.

Переделка под другие библиотеки/платформы

Для переделки под, например, AVR, в DHT.c переделайте значения макроподстановок lineDown(), lineUp(), getLine(), Delay() и функции goToOutput(), goToInput().

Обратная связь, нужна помощь?

Предложения или найденные баги можно сообщить в Telegram http://t.me/rainbowkiwifox, ВКонтакте https://vk.com/rainbowkiwifox или на почту [email protected]

About

Библиотека для работы с датчиками DHT11/DHT22/AM2302/AM2301 на STM32

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 100.0%