Датчики температуры и влажности

Содержание:

Что такое библиотеки в Arduino?

Библиотека ардуино – это некий программный код, хранящийся не в скетче, а во внешних файлах, которые можно подключить к вашему проекту. В библиотеке хранятся различные методы и структуры данных, которые нужны для упрощения работы с датчиками, индикаторами, модулями и другими компонентами. Использование готовых программ существенно упрощает работу над проектами, потому что можно сосредоточиться на основной логике, не тратя время на множество мелочей.

Сегодня создано огромное количество библиотек, которые можно легко найти и скачать в интернете.  Подавляющее большинство библиотек распространяются по свободной лицензии, поэтому необходимости в поиске “пиратских” версий нет. Главное, это научиться искать нужные библиотеки, подходящие к вашей Arduino IDE, подключать их и правильно использовать.

Подключение датчика температуры и влажности DHT11 к Ардуино

Относительная влажность

  • Разрешение: 16Bit
  • Повторяемость: ± 1% относительной влажности
  • Точность: На 25 ℃ ± 5% относительной влажности
  • Взаимозаменяемость: полностью взаимозаменяемы
  • Время отклика: 1 / е (63%) из 25 ℃ 6s 1 м / с воздуха 6s
  • Гистерезис:

Модернизация датчика DHT11

Существует модернизация датчика, но она обладает аналогичными характеристиками и скетч для него будет такой же, разве что подключение датчиков к Arduino будет слегка отличаться

Для начала работы нам понадобятся такие компоненты

  • Любая Arduino (в нашем случае Arduino UNO)
  • Датчик DHT11 в любой модернизации
  • Breadboard (макетная плата)
  • Соединительные провода
  • Резистор на 10 кОм (для определенной модернизации)
  • Питание.
  • Вывод данных.
  • GND (земля).
  • Питание.
  • Вывод данных.
  • Не используется.
  • GND (земля).

Рассмотрим подключение стандартного датчика DHT11

Для такого датчика потребуется резистор на 10кОм .

Приведена схема подключения .

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

Программирование

Для работы датчика на Arduino нужно скачать и установить библиотеку DHT11 .

Скачать библиотеку можно здесь .

После того, как мы скачали нужную библиотеку, ее нужно правильно установить. скачанные файлы нужно переместить по следующему пути :

Диск CProgtam FilesArduinoLibraries

После того, как мы все сделали перейдем к самой важной ступеньке, а именно к программированию. #include “DHT.h”#define DHTPIN 2 // номер пина, к которому подсоединен датчик // Инициируем датчик DHT dht(DHTPIN, DHT11); void setup() { Serial.begin(9600); dht.begin(); Serial.println(“DHTxx test!”); } void loop() { delay(2000); // Задержка 2 секунды между измерениями float h = dht.readHumidity(); //Считываем влажность float t = dht.readTemperature(); // Считываем температуру if (isnan(t) || isnan(h)) { Serial.println(“Failed to read from DHT”); } else {Serial.print(“Humidity: “);Serial.print(h);Serial.print(” % “);Serial.print(“Temperature: “); Serial.print(t);Serial.println(” *C”);}}

#include “DHT.h”#define DHTPIN 2 // номер пина, к которому подсоединен датчик // Инициируем датчик DHT dht(DHTPIN, DHT11); void setup() { Serial.begin(9600); dht.begin(); Serial.println(“DHTxx test!”); } void loop() { delay(2000); // Задержка 2 секунды между измерениями float h = dht.readHumidity(); //Считываем влажность float t = dht.readTemperature(); // Считываем температуру if (isnan(t) || isnan(h)) { Serial.println(“Failed to read from DHT”); } else {Serial.print(“Humidity: “);Serial.print(h);Serial.print(” % “);Serial.print(“Temperature: “); Serial.print(t);Serial.println(” *C”);}}

Потом загружаем скетч в нашу плату arduino и открываем монитор порта для просмотра полученных данных, открыть монитор порта можно открыть нажав ((текст))

Датчики температуры и влажности DHT11 и DHT22 и Arduino

В статье рассмотрены основы работы с недорогими датчиками температуры и влажности серии DHT.

Эти сенсоры простые и медленные, но при этом отлично подходят для хобби-проектов на Arduino. Датчики DHT состоят из двух основных частей: ёмкостный датчик влажности и термистор. Также в корпусе установлен простенький чип для преобразования аналогового сигнала в цифровой. Считывать цифровой сигнал на выходе достаточно просто, можно использовать любой контроллер, не обязательно Arduino.

Технические характеристики DHT11 и DHT22

Существуют две версии сенсоров DHT. Выглядят они почти одинаково. Распиновка тоже одинаковая. Основные отличия – в технических характеристиках:

DHT11:

  • Очень дешевый.
  • Питание от 3 до 5В.
  • Максимально потребляемый ток – 2.5мА при преобразовании (при запросе данных).
  • Рассчитан на измерение уровня влажности в диапазоне от 20% до 80%. При этом точность измерений находится в диапазоне 5%.
  • Измеряет температуру в диапазоне от 0 до 50 градусов с точностью плюс-минус 2%.
  • Частота измерений не более 1 Гц (одно измерение в секунду).
  • Размер корпуса: 15.5 мм x 12 мм x 5.5 мм.
  • 4 коннектора. Расстояние между соседними – 0.1″.

DHT22:

  • Дешевый.
  • Питание от 3 до 5В.
  • Максимально потребляемый ток – 2.5мА при преобразовании (при запросе данных).
  • Рассчитан на измерение уровня влажности в диапазоне от 0% до 100%. При этом точность измерений находится в диапазоне 2%-5%.
  • Измеряет температуру в диапазоне от -40 до 125 градусов с точностью плюс-минус 0.5 градусов по Цельсию.
  • Частота измерений до 0.5 Гц (одно измерение за 2 секунды).
  • Размер корпуса: 15.1 мм x 25 мм x 7.7 мм.
  • 4 коннектора. Расстояние между соседними – 0.1″.

Как видите, DHT22 более точный и имеет больший диапазон измеряемых значений. Оба датчика имеют по одному цифровому выходу. Запросы к ним можно отправлять не чаще чем один в секунду или две.

Подключение датчиков DHT к Arduino

Ссылки для заказа электронного оборудования, которое использовалось в примере ниже из Китая

Подключаются датчики легко. Так как у них достаточно длинные коннекторы 0.1″, можно устанавливать их непосредственно на макетную или монтажную плату (смотрите на рисунке ниже).

Непосредственное подключение к Arduino тоже простое. На сенсоре 4 коннектора:

  • Питание (VCC) – от 3 до 5 В.
  • Вывод данных.
  • Не подключается.
  • Земля.

Коннектор 3 просто игнорируйте, он не подключается. Желательно подключить подтягивающий резистор на 10 кОм между питанием и сигналом. На Arduino есть встроенные резисторы, но их номинал 100кОм нам не подойдет.

На рисунке ниже приведена схема подключения DHT11 к Arduino. Подключите сигнал с датчика к пину 2, чтобы схема соответствовала примеру скетча, который приведен ниже. Этот пин можно изменить с соответствующими правками в коде.

Считывание данных с датчиков DHTxx

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

Для начала скачайте библиотеку для работы с DHT датчиками здесь: Github. Для загрузки нажмите кнопку DOWNLOADS в верхнем правом углу.

Переименуйте папку DHT и убедитесь, что в ней есть файл dht.cpp и другие. После этого переместите папку DHT в папку arduinosketchfolder/libraries/ . Возможно вам придется создать подпапку для библиотек, если вы впервые интегрируете библиотеку. Перезагрузите Arduino IDE.

Теперь загрузите скетч: Examples->DHT->DHTtester. Выглядит программа примерно так:

//#define DHTTYPE DHT22 // DHT 22 (AM2302)

И уберите комментарий со строки:

#define DHTTYPE DHT11 // DHT 11

Эти настройки помогают снимать правильные значения именно с вашей модели датчика. В окне серийного монитора этобудет выглядеть примерно так:

Вы должны увидеть показания температуры и влажности. Подышав на датчик, можно отследить изменения показаний. В этом случае уровень влажности должен увеличиться.

Если Вам необходимы даташиты на датчики, просмотреть и скачать их можно по ссылкам:

Datasheet DHT11

Datasheet DHT22

Модуль датчика температуры KY-013

Датчик является аналоговым, но использовать его нужно не для измерения конкретных температур, а для слежения за превышением пороговых значений. В модуле используется PTC-термисторы — при повышении температуры растёт и сопротивление.

При работе с датчиком пробуйте менять местами землю и питание, часто маркировка ошибочна.

В целом использовать аналоговый датчик температуры KY-013 как термометр проблематично. Больше подходит для случаев, когда нужно включить прибор при определённой температуре и выключить при другой. Сначала нужно выяснить какое напряжение подаётся на аналоговый вход при нужной вам температуре, а затем написать код на основе полученных значений.

Использование датчиков в системах умного дома

Конструктор Arduino предоставляет возможность любому человеку создать собственную систему умного дома, под конкретные задачи. Универсальная плата с микроконтроллером Arduino UNO позволяет подключать различные модули и взаимодействовать с ними. Пример этого показан в статье. Модуль влажности и температуры, которым можно измерять концентрацию пара в воздухе, теперь подключен к дисплею и выводит соответствующую информацию. Можно задействовать и другие сценарии работы:

  1. Информацию выводить на удаленный сервер и считывать ее через приложение со своего смартфона.
  2. Задействовать в схеме реле, которое будет включать вентилятор в вытяжке, если концентрация пара в ванной достигнет 85%. И отключать, когда замеры покажут норму.
  3. Или использовать в схеме умную розетку, которая включит кондиционер, чтобы привести влажность в квартире в нормальное состояние.
  4. Можно использовать и более сложные моторы, например электроприводы для окон, чтобы автоматически оно открывалось на проветривание, если концентрация влаги не в норме.
  5. Использование сенсора в фермерстве, и на той же птицефабрике – неотъемлемая часть автоматизации. С помощью несложной системы можно с легкостью контролировать процессы в инкубаторе и корректировать их, в случае отхождения от нормы.

Recent Articles

  1. Learn how to use the TP4056 properly. There’s a right way, and a wrong way, to use it to safely charge Lithium Ion batteries.

  2. A tutorial on using the ADS1115 precision 16 bit ADC for low power use.

  3. Arduino Nano ISP: How to program an ATmega328P using an Arduino Nano as the ISP programmmer. One common problem: Programming a sketch into the chip without a reset control — solved here.

  4. I2C tutorial: Learn all about the 2 wire I2C serial protocol. Learn how easy it is to use, how it works and when to use it…

  5. How to test and use an Arduino Joystick including a new library to make it super easy.

  6. How to use the MCP4728, a versatile four channel DAC with built in voltage reference.

    The MCP4728 chip is a four channel 12 bit DAC, with memory that outputs voltage that you can use for calibration, anywhere you want a fixed voltage.

DHT11 на Ардуино Уно

Помимо самой платы и датчика, чтобы подключить к Ардуино DHT11 в версии без обвязки, требуется предварительно подготовить следующие комплектующие:

  • макетную плату;
  • резистор — подойдет номиналом в десять кОм;
  • светодиоды.

Нумерация контактов происходит справа, если само устройство располагается «ножками» вниз:

  1. Питание (VCC).
  2. Вывод (DATA).
  3. Контакт, который не используется (NC).
  4. Заземление (GND).

Чтобы на Arduino датчик влажности корректно работал, резистор впаивается между первым и вторым контактом.

Когда речь идет о уже готовом модуле для Ардуино, подключается  он значительно проще:

  • VCC присоединяется к +5 В. Рекомендуется использовать питание именно в 5 В, так как в этом случае датчик можно расположить на расстоянии в двадцать метров от источника. Если питание минимально — то есть равно 3.3 В, длина кабеля не может превышать метра или же измерения окажутся некорректными;
  • отмеченный GND — к земле;
  • третий присоединяется к свободному пину, имеющемуся на плате, а номер пина указывается в скетче. Он необходим для обеспечения связи с микроконтроллером.

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

Предпочтительным вариантом подключения одиннадцатой версии или DHT22 к Arduino является второй пин — в этом случае программирование будет осуществляться по приведенному скетчу. Изменение пина требует внесения определенных правок в код.

Характеристики и подключение датчиков DHT11 и DHT22

Датчик состоит из двух частей – емкостного датчика температуры и гигрометра. Первый используется для измерения температуры, второй – для влажности воздуха. Находящийся внутри чип может выполнять аналого-цифровые преобразования и выдавать цифровой сигнал, который считывается посредством микроконтроллера.

В большинстве случаев DHT11 или DHT22 доступен в двух вариантах: как отдельный датчик в виде пластикового корпуса с металлическими контактами или как готовый модуль с датчиком и припаянными элементами обвязки. Второй вариант гораздо проще использовать в реальных проектах и крайне рекомендуется для начинающих.

Датчик DHT11

  • Потребляемый ток – 2,5 мА (максимальное значение при преобразовании данных);
  • Измеряет влажность в диапазоне от 20% до 80%. Погрешность может составлять до 5%;
  • Применяется при измерении температуры в интервале от 0 до 50 градусов (точность – 2%)
  • Габаритные размеры: 15,5 мм длина; 12 мм широта; 5,5 мм высота;
  • Питание – от 3 до 5 Вольт;
  • Одно измерение в единицу времени (секунду). То есть, частота составляет 1 Гц;
  • 4 коннектора. Между соседними расстояние в 0,1 ”.

Датчик DHT22

  • Питание – от 3 до 5 Вольт;
  • Максимальный ток при преобразовании – 2,5 мА;
  • Способен измерять влажность в интервале от 0% до 100%. Точность измерений колеблется от 2% до 5%;
  • Минимальная измеряемая температура – минус 40, максимальная – 125 градусов по Цельсию (точность измерений – 0,5);
  • Устройство способно совершать одно измерение за 2 секунд. Частота – до 0,5 ГЦ;
  • Габаритные размеры: 15,1 мм длина; 25 мм широта; 5,5 мм высота;
  • Присутствует 4 коннектора. Расстояние между соседними – 0,1 ‘;

Очевидно, что при использовании в ардуино датчика температуры и влажности DHT11 устройство выдаст менее точные значения, чем DHT22. У аналога больший диапазон измеряемых значений, но и цена соответствующая. Датчик температуры и влажности DHT22, как и его аналог, имеет один цифровой выход, соответственно снимать показания можно не чаще, чем один раз в 1-2 секунды.

Installing the required Arduino libraries

The code below uses the Adafruit DHT sensor library which you can download here on GitHub. This library only works if you also have the Adafruit Unified Sensor library installed, which is also available on GitHub.

You can also download the two libraries by clicking on the buttons below:

DHT-sensor-library-master.zip

Adafruit_Sensor-master.zip

You can install the library by going to Sketch > Include Library > Add .ZIP Library in the Arduino IDE.

Another option is to navigate to Tools > Manage Libraries… or type Ctrl + Shift + I on Windows. The Library Manager will open and update the list of installed libraries.

You can search for ‘dht’ and ‘adafruit unified sensor’ and look for the library by Adafruit. Select the latest version and then click Install.

Устройство DTH11 Ардуино: распиновка, datasheet

На занятии мы будем использовать датчик DHT11 или DHT22, смонтированный на плате. DHT11 — это цифровой датчик, состоящий из термистора и емкостного датчика влажности. Наряду с невысокой стоимостью DHT11 имеет следующие характеристики: питание осуществляется от 3,5-5V, определение температуры от 0 до 50 градусов с точностью 2 град, определение влажности от 20% до 95% с 5% точностью.

Arduino dht11 распиновка (datasheet на русском)

Модуль DHT11 оборудован трех пиновым разъемом и подключается по схеме:

G — Подключается к выводу GNDV — Подключается к выводу +5VS — Подключается к цифровому выводу ( Pin2 )

Термистор — это термический резистор, сопротивление которого изменяется с температурой, т.е. увеличение температуры приводит к падению его сопротивления. По сути термистор — это термометр сопротивления, изготовленный на основе смешанных оксидов переходных металлов.  Относится к измерительной технике и может быть использован для автоматического измерения температуры в различных средах.

Емкостной датчик влажности — это конденсатор с переменной емкостью, который содержит токопроводящие обкладки из медной фольги на текстолите. Этот конденсатор заключен в герметичный чехол, поверх которого расположен влагопоглощающий слой. При попадании частиц воды на этот слой, меняется его диэлектрическая проницаемость, что приводит к изменению емкости конденсатора.

Объяснение программы для Raspberry Pi

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

В программе нам необходимо считывать значения температуры и влажности с датчика DHT11 и отображать их на экране ЖК дисплея. Поскольку мы уже скачали и установили библиотеки для работы с датчиком DHT11 и ЖК дисплеем, то код нашей программы в этом случае значительно упрощается.

В программе нам первым делом необходимо подключить (импортировать) используемые нами библиотеки.

Python

import time #import time for creating delay
import Adafruit_CharLCD as LCD #Import LCD library
import Adafruit_DHT #Import DHT Library for sensor

1
2
3

importtime#import time for creating delay

importAdafruit_CharLCD asLCD#Import LCD library

importAdafruit_DHT#Import DHT Library for sensor

Далее нам необходимо объявить используемые переменные и контакты. Переменная sensor_name у нас будет ассоциирована со значением Adafruit_DHT.DHT11 поскольку в нашем проекте мы используем датчик DHT11. К контакту GPIO 17 у нас подключен выход датчика DHT11.

Python

sensor_name = Adafruit_DHT.DHT11 #we are using the DHT11 sensor
sensor_pin = 17 #The sensor is connected to GPIO17 on Pi

1
2

sensor_name=Adafruit_DHT.DHT11#we are using the DHT11 sensor

sensor_pin=17#The sensor is connected to GPIO17 on Pi

Аналогичным образом мы объявим контакты, к которым подключен ЖК дисплей. В нашем проекте мы подключили его в 4-битном режиме, поэтому мы используем 4 контакта для передачи данных дисплею и 2 контакта для управления его работой. Также, если вы хотите управлять фоновой подсветкой дисплея, для этого необходимо будет подключить дополнительные контакты дисплея.

Python

lcd_rs = 7 #RS of LCD is connected to GPIO 7 on PI
lcd_en = 8 #EN of LCD is connected to GPIO 8 on PI
lcd_d4 = 25 #D4 of LCD is connected to GPIO 25 on PI
lcd_d5 = 24 #D5 of LCD is connected to GPIO 24 on PI
lcd_d6 = 23 #D6 of LCD is connected to GPIO 23 on PI
lcd_d7 = 18 #D7 of LCD is connected to GPIO 18 on PI
lcd_backlight = 0 #LED is not connected so we assign to 0

1
2
3
4
5
6
7

lcd_rs=7#RS of LCD is connected to GPIO 7 on PI

lcd_en=8#EN of LCD is connected to GPIO 8 on PI

lcd_d4=25#D4 of LCD is connected to GPIO 25 on PI

lcd_d5=24#D5 of LCD is connected to GPIO 24 on PI

lcd_d6=23#D6 of LCD is connected to GPIO 23 on PI

lcd_d7=18#D7 of LCD is connected to GPIO 18 on PI

lcd_backlight=#LED is not connected so we assign to 0

Также, если хотите, вы можете подключить ЖК дисплей к плате Raspberry Pi в 8-битном режиме, но тогда количество свободных контактов платы будет меньше.

Библиотека для работы с ЖК дисплеем от компании Adafruit, которую мы скачали и установили, может работать с любыми ЖК дисплеями, поэтому в нашем проекте для данной библиотеки необходимо указать количество строк и столбцов нашего ЖК дисплея.

Python

lcd_columns = 16 #for 16*2 LCD
lcd_rows = 2 #for 16*2 LCD

1
2

lcd_columns=16#for 16*2 LCD

lcd_rows=2#for 16*2 LCD

После этого мы можем инициализировать ЖК дисплей с помощью следующей команды:

Python

lcd = LCD.Adafruit_CharLCD(lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7,
lcd_columns, lcd_rows, lcd_backlight) #Send all the pin details to library

1
2

lcd=LCD.Adafruit_CharLCD(lcd_rs,lcd_en,lcd_d4,lcd_d5,lcd_d6,lcd_d7,

lcd_columns,lcd_rows,lcd_backlight)#Send all the pin details to library

Вначале работы программы мы покажем на экране ЖК дисплея (на второй строчке – для этого используется символ \n) небольшое приветственное сообщение и затем после задержки 2 секунды приступим к выполнению основной программы.

Python

lcd.message(‘DHT11 with Pi \n -CircuitDigest’) #Give a intro message
time.sleep(2) #wait for 2 secs

1
2

lcd.message(‘DHT11 with Pi \n -CircuitDigest’)#Give a intro message

time.sleep(2)#wait for 2 secs

Бесконечный цикл в нашей программе мы будем формировать с помощью команды:

Python

while 1: #Infinite Loop

1 while1#Infinite Loop

В этом цикле мы каждые 2 секунды будем считывать значения температуры и влажности с выхода датчика и отображать их на экране ЖК дисплея.

Для считывания значений температуры и влажности с датчика DHT11 мы будем использовать функцию humidity, temperature = Adafruit_DHT.read_retry(sensor_name, sensor_pin). Считанные значения мы будем отображать на экране ЖК дисплея с помощью следующего фрагмента кода:

Python

lcd.clear() #Clear the LCD screen
lcd.message (‘Temp = %.1f C’ % temperature) # Display the value of temperature
lcd.message (‘\nHum = %.1f %%’ % humidity) #Display the value of Humidity

time.sleep(2) #Wait for 2 sec then update the values

1
2
3
4
5

lcd.clear()#Clear the LCD screen

lcd.message(‘Temp = %.1f C’%temperature)# Display the value of temperature

lcd.message(‘\nHum = %.1f %%’%humidity)#Display the value of Humidity

time.sleep(2)#Wait for 2 sec then update the values

4Временная диаграмма информационного обмена датчика температуры и влажности DHT11 с микроконтроллером

С помощью временной диаграммы, полученной с логического анализатора, разберёмся, как осуществляется информационный обмен.

Для связи с микроконтроллером датчик температуры и влажности DHT11 использует однопроводный последовательный пакетный интерфейс. Один информационный пакет длительностью около 4 мс содержит: 1 бит запроса от микроконтроллера, 1 бит ответа датчика и 40 битов данных от датчика (16 битов информации о влажности, 16 битов информации о температуре и 8 проверочных битов).
Давайте подробнее рассмотрим временную диаграмму информационного обмена Arduino с датчиком DHT11.

Временная диаграмма информационного обмена сенсора DHT11 с микроконтроллером

Из рисунка видно, что есть два типа импульсов: короткие и длинные. Короткие в данном протоколе обмена обозначают нули, длинные импульсы – единицы.

Итак, первые два импульса – это запрос Arduino к DHT11 и, соответственно, ответ датчика. Далее идут 16 бит влажности. Причём они разделены на байты, старший и младший, старший слева. То есть на нашем рисунке данные о влажности такие: 0001000000000000 = 00000000_00010000 = 0x10 = 16% относительной влажности.

Данные о температуре, аналогично: 0001011100000000 = 00000000_00010111 = 0x17 = 23 градуса Цельсия.

Контрольная сумма – это всего-навсего арифметическое суммирование 4-х полученных байтов данных:
00000000 +
00010000 +
00000000 +
00010111 =
00100111 в двоичной системе или 0 + 16 + 0 + 23 = 39 в десятичной.

Библиотеки датчиков ардуино

Библиотека DHT

Библиотека, которая позволяет считать данные с температурных датчиков DHT-11 и DHT-22.

#include < DHT.h>

DHT dht(DHTPIN, DHT11); – инициализирует датчик (в данном случае DHT11).

dht.begin(); – запуск датчика.

float t = dht.readTemperature(); – считывание текущего значения температуры в градусах Цельсия.

Библиотека DallasTemperature

Предназначается для работы с датчиками Dallas. Работает совместно с библиотекой OneWire.

#include <DallasTemperature.h>

DallasTemperature dallasSensors(&oneWire); – передача объекта oneWire для работы с датчиком.

requestTemperatures() – команда считать температуру с датчика и

положить ее в регистр.

printTemperature(sensorAddress); – запрос получить измеренное значение температуры.

Библиотека Ultrasonic

Обеспечивает работу Ардуино с ультразвуковым датчиком измерения расстояния HC-SR04.

#include <Ultrasonic.h>

Ultrasonic ultrasonic (tig , echo) – объявление объекта, аргументы – контакт Trig и контакт Echo.

dist = ultrasonic.distanceRead(); – определение расстояния до объекта. Агрумент – сантиметры(СМ) или дюймы (INC).

Timing() – считывание длительности импульса на выходе Echo, перевод в необходимую систему счисления.

Библиотека ADXL345

Предназначается для работы с акселерометром ADXL345.

Пример использования:

#include <Adafruit_ ADXL345.h>

ADXL345_ADDRESS – создание объекта, указание его адреса.

ADXL345_REG_DEVID  – идентификация устройства.

ADXL345_REG_OFSX – смещение по оси Х.

ADXL345_REG_BW_RATE – управление скоростью передачи данных.

Библиотека BME280

Предназначается для работы с датчиком температуры, влажности и давления BME280.

Пример использования:

#include <Adafruit_BME280.h>

BME280_ADDRESS  – создание объекта BME280, указание его адреса.

begin(uint8_t addr = BME280_ADDRESS); – начало работы датчика.

getTemperature – получение измеренной температуры.

getPressure – получение измеренного давления.

Библиотека BMP280

Требуется для работы с датчиком атмосферного давления BMP280.

Пример использования:

#include <Adafruit_BMP280.h>

BMP280_CHIPID – создание экземпляра, указание его адреса.

getTemperature(float *temp); – получение измеренной температуры.

getPressure(float *pressure); – получение измеренного значения давления.

Библиотека BMP085

Требуется для работы с датчиком давления BMP085.

Пример использования:

#include <Adafruit_BMP085.h>

Adafruit_BMP085 bmp; – создание экземпляра BMP085.

dps.init(MODE_ULTRA_HIGHRES, 25000, true); – измерение давления, аргумент 25000 – высота над уровнем моря (в данном случае 250 м. над уровнем моря).

dps.getPressure(&Pressure); – определение давления.

Библиотека FingerPrint

Требуется для работы со сканером отпечатков пальцев.

Пример использования

#include <Adafruit_Fingerprint.h>

Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial); – объявление объекта Finger. Параметр – ссылка на объектр для работы с UART, кокторому подключен модуль.

finger.begin();  – инициализация модуля отпечатков пальцев.

Func_sensor_communication(); – вызов модуля отпечатков пальцев.

Дополнительные сенсоры

Кроме сенсоров, которые мы рассмотрели выше можно присмотреться и к другим датчикам для Ардуино:

  1. Датчик температуры + влажности. Вы можете использовать этот совместимый с Arduino гаджет для контроля температуры окружающей среды или влажности. В качестве основного проекта вы можете подключить ЖК-дисплей к Arduino и отображать температуру в помещении/влажность.
  2. Датчик инфракрасного излучения, также называемый «инфракрасным излучающим диодом». Он работает с 38KHz модулирующим сигналом. Можно использовать для отправки кода в другой Arduino или для управления телевизором.
  3. Фоторезистор. Сопротивление компонента будет варьироваться в зависимости от интенсивности света, которому он подвергается. Является резистором, сопротивление которого падает, когда свет попадает на него.
  4. Ультразвуковой прибор расстояния автоматически отправляет аудиосигнал 40 кГц и определяет, есть ли импульсный сигнал назад. Он посылает сигнал, и если он получает обратно, то вычисляет пройденное расстояние, таким образом, расстояние от приспособления до объекта перед ним. Он может ощущать объект в диапазоне: 2 см ~ 500 см.
  5. Датчик детонации. Проще говоря, это переключатель, который включается, когда он обнаруживает стук. Существует светодиод, который также дает визуальный сигнал состояния, высокий или низкий.
  6. Звуковой будет обнаруживать окружающий звук. Это лучше всего использовать для таких проектов, как голосовые чейнджеры.
  7. Обнаружение напряжения (выше/ниже). Определяет уровень напряжения любого поставщика постоянного тока, до 25 вольт. Критические точки перенапряжения/пониженного напряжения могут быть отрегулированы.
  8. Определитель влажности и температуры. Arduino датчик влажности почвы помогает определить условия для комфортного существования комнатных и тепличных растений.

В целом, для каждого радиолюбителя есть огромный выбор для создания устройств разного назначения. О многих мы писали ранее, но о многих нам еще предстоит поговорить.

Changelog

  • v 0.0.1
    • fork from idDHT11 lib
    • change names to idDHTLib
    • added DHT22 functionality
  • v 0.0.2
  • v 0.0.3
  • v 1.0.0
    • autoformat code with Arduino IDE code formatting standards (kcsoft)
    • remove the interrupt number from the constructor by using digitalPinToInterrupt (kcsoft)
    • fix type for us and timeout when no interrupt is triggered (kcsoft)
    • removed the callback parameter from the constructor, added sensor type (DHT11, DHT22) as optional param (kcsoft)
    • removed temp/humid calculation from the isr (kcsoft)
    • new function acquireFastLoop to remove delay when start acquiring (kcsoft)
    • update README.md file (kcsoft)
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector