Подключение AM2320 к Ардуино

11-03-2020, 18:10 0 комментариев
На повестке дня - подключение AM2320 к Ардуино. Тема очень занятная по той простой причине, что подобные датчики являются просто «мастхевом» для современных «ардуинщиков», т.е. любителей электроники и простых самоделок. Дело в том, что устройство «вписывается» в любые проекты, оно функционально, легко собирается, недорого стоит.

Модуль идеально подходит для измерения температуры и влажности, а потому его часто можно встретить в системах климат-контроля и «домашних» метеостанциях. Что-то подобное мы сегодня непременно рассмотрим, а пока обратимся к техническим параметрам датчика:
  • напряжение питания: 3,1 - 5,5 V;
  • потребление тока в режиме ожидания: 8 - 10 мкА;
  • максимальный ток: до 950 мкА;
  • тип интерфейса: I2C;
  • рабочий диапазон измерения влажности: 0-99,9%;
  • диапазон температур: -40°C - 80°C;
  • разрешение шкалы: 0.1%;
  • время между считыванием значений: 2 сек.;
  • размеры: 30х30х6,5 mm;
  • вес: около 4 г.
Распиновка выводов устройства показана на скриншоте:
Переходим к созданию проекта метеостанции с задействованием четырехразрядного LED индикатора. Создадим подключение AM2320 к Ардуино. Для реализации сборки нам потребуются такие аппаратные составляющие:
  1. Микроконтроллер Arduino Uno (либо др.совместимые)
  2. Цифровой модуль AM2320
  3. LED-индикатор
  4. Trema Shield
Макетная схема выглядит следующим образом:
Прежде чем приступать к прошивке, инсталлируем специализированное ПО – оно значительно облегчает работу с определённым типом модулей. Нам понадобятся библиотеки Wire (стандартная для управления шиной), iarduino_AM2320 (основная для управления датчиком влажности), iarduino_4LED (вспомогательная для контроля индикатора).
iarduino_AM2320
iarduino_4LED

Не забываем устанавливать софт на компьютер (папка директории libraries – среда разработки IDE).

Напишем скетч:
#include <Wire.h>                                          //  подключаем библиотеку для работы с шиной I2C
#include <iarduino_AM2320.h>                               //  подключаем библиотеку для работы с модулем влажности и температуры AM2320
#include <iarduino_4LED.h>                                 //  подключаем библиотеку для работы с четырёхразрядным LED индикатором
iarduino_AM2320 sensor;                                    //  объявляем объект для работы с функциями библиотеки iarduino_AM2320
iarduino_4LED   dispLED(2,3);                              //  объявляем объект для работы с функциями библиотеки iarduino_4LED, с указанием выводов дисплея ( CLK , DIO ) 
int i=0, j=0, k=5;                                         //  объявляем 3 переменные, i показывает какую информацию выводить, j хранит время прошедшее со старта скетча, k длительность отображения информации
void setup(){
  sensor.begin();                                          //  инициируем работу с модулем AM2320
  dispLED.begin();                                         //  инициируем LED дисплей
}
void loop(){
  sensor.read();                                           //  читаем показания датчика
  j=(uint32_t)millis()/1000%3600;                          //  преобразуем миллисекунды в секунды и получаем остаток от деления на 1 час
  i++; if(i>=k*3){i=0;}                                    //  увеличиваем переменную i на единицу, при каждом проходе цикла loop. Достигнув 3k, сбрасываем значение в 0
       if(i< k*1){dispLED.print(sensor.tem,1,TEMP );}else  //  выводим температуру (1 знак после запятой, с символом градуса)
       if(i< k*2){dispLED.print(sensor.hum,1,RIGHT);}else  //  выводим влажность   (1 знак после запятой, со сдвигом числа вправо от старшего разряда)
       if(i< k*3){dispLED.print((j/60),(j%60),TIME);       //  выводим время, прошедшее со старта скетча (целое число минут, целое число секунд, с двоеточием между ними)
                  dispLED.point(0,(j%2));           }      //  стираем двоеточие при выводе каждой чётной секунды
  delay(1000);                                             //  приостанавливаем выполнение скетча на 1 секунду
}
Результативность функционирования и корректность передачи показаний проверяем в Serial Monitor (монитор COM-порта). Открываем его при помощи меню Инструменты.

В принципе это все, о чем мы хотели поведать нашим читателям. Надеемся, что материал был для вас полезным и информативным. Продолжайте следить за нашим блогом! Удачи!
Поделись в социальных сетях:
О авторе
Калугин Антон

Программист микроконтроллеров с 8-ми летним стажем, работал в таких компаниях как IBM, ASUS, Microsoft.

В комментариях с радостью отвечу на ваши вопросы.

Все статьи автора
Похожие новости

Сегодня поговорим о том, как воплотить в жизнь подключение FPM10A к Arduino, что это за модуль, где используется, каковы параметры его работы и т.д. Речь идет...

На повестке дня - подключение LM35 к Arduino. Сегодня мы рассмотрим модуль устройства, его базовые характеристики, область применения и схему подключения. И...

Тема нашей сегодняшней статьи – подключение датчика сердечного ритма AD8232 к Ардуино. Про целесообразность и практичность подобного устройства много говорить...

Сегодня у нас на рассмотрении подключение MQ-135 к Arduino и все, что с ним связано. Данная тема и в особенности модуль сенсора выбраны не случайно, ведь в...

Сегодня хотим рассказать вам о том, как происходит подключение DS3231 к Arduino и что это за электронное устройство. Речь идет о модуле часов реального...

Оставить комментарий