Подключение датчика DHT11 к Arduino UNO

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

Принцип работы датчика:

Данные (температуры и влажности) с DHT11  передаются по одному сигнальному проводу. Общение датчика с платой производится по простому протоколу передачи. Так как датчик имеет дефолтную подтяжку в 10 кОм, то запрос на получение/передачу данных осуществляется провалом напряжения до лог.0 (0 вольт). Так как общаются оба, каждый запрос сопровождается провалом напряжения в ноль. Затем после получения ответа датчик передает на порт 5 байт данных. В первых двух байтах — температура, во вторых — влажность, в последнем передается контрольная сумма. Наличие контрольной суммы позволяет избежать наличия ошибок в полученных данных. За счет того что измерения проводятся только по запросу контроллера, пока запрос не пришел ток потребления у датчика невелик, имеем небольшую экономию энергии.

Основные характеристики датчика DHT11 :

DHT11 — это цифровой датчик температуры и влажности. Имеет высокую надежность и долговременную стабильность работы (ну так говорят производители).

Humidity-and-Temperature-Sensor-DHT11-500x500-700x700

  • Питание: 3,5 — 5,5 В
  • Ток питания: измерение 0.3mA ожидания 60μ
  • Разрешение: 16Bit
  • Период выборки: более 2 секунд

Читать далее »

Подключение RFID-метки к Arduino UNO

В быту каждый из нас неоднократно встречался с бесконтактными системами контроля доступа. Открываются они не ключами, как все привыкли, а различными карточками или брелоками. Принцип их работы можно увидеть на примере: офисного пропуска, или бесконтактных карточек для прохода в метро. Система для работы устройств такого типа называется —  RFID. Что же это такое? Если коротко, то RFID (радиочастотная идентификация) — это способ автоматической идентификации объектов, в котором посредством радиосигналов считываются или записываются данные, хранящиеся в так называемых транспондерах, или RFID-метках. Любая RFID-система состоит из считывающего устройства (считыватель, ридер) и транспондера (RFID-метка).

Внешний вид RFID- модуля (RC522):

7b7496dd6b604459901549d4b2903fe8

Принцып работы:

Принцип работы устройства довольно прост. В основе технологии лежит использование энергии электромагнитного поля, что позволяет считывать и записывать данные на специальное устройство – RFID метку. Следует учесть что в самой метке нет никакого источника питания, образу магнитное поле одновременно служит и источником питания и каналом связи. Полученная информация может дополняться или перезаписываться. В памяти метки содержится информация об уникальном идентификационном номере и данные о самом объекте. В свою очередь при считке узнав номер, производится дальнейшая идентификация. Карточки могут нести в себе от нескольких десятков байт до нескольких килобайт данных (в том числе — уникальный серийный номер).

Читать далее »

Управление Servo — приводом на Arduino UNO

Сервоприводы — широко используются в робототехнике, заводских и хоббийных девайсах для управления движениями различных исполнительных узлов, в ЧПУ станках, 3D-принтерах, авиамоделировании и не только. За счет малой стоимости, большому моменту удержания и сравнительно простому управлению — пользуются большой популярностью. Именно поэтому, сегодня хочу поднять вопрос устройства сервопривода, его подключение к плате  Arduino UNO и написание программного кода в среде разработки Arduino IDE.

6cbcfb7bbdc72ba36170cde54b77371d

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

В корпусе сервопривода находится:

—  коллекторный двигатель

— набор шестеренок (пластиковых или металлических)

— плата с электроникой (контроллером)

— узел обратной связи  (потенциометр)

Подключение сервопривода к плате Arduino UNO:

Безымянный

Читать далее »

Тактовые кнопки их устройство и подключение к Arduino

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

butt_minismd_side2x4_med

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

htmlconvd-StdrmQ_htmіl_m559b8b2d

 

Тактовая кнопка не имеет возможности оставаться в определенном положении (не имеет фиксации), в связи с этим она и получила такое название. Сфера применения тактовых кнопок довольно широка: клавиатуры, пульты, панели для управления различными электронными устройствами на микроконтроллерах и тд. Давайте, в качестве примера, представим, что у нас есть устройство: с LCD — дисплеем в качестве вывода информации , платой Arduino UNO в качестве устройства обработки информации и парочка исполнительных устройств. Поставлена следующая задача: включать/выключать нагрузку с последующим выводом состояния на LCD — дисплей. И тут нам явно не хватает органа управления, в качестве него и будут использованы тактовые кнопки.

Читать далее »

Делаем I2C — сканер адреса устройства на Arduino

Ограниченность количества портов ввода/вывода рано или поздно даст о себе знать. Решение данной проблемы может быть использование специализированных протоколов передачи данных: I2C,1-wire,SPI,USART. Сейчас речь пойдет об интерфейсе I2C. Данный интерфейс хорош тем, что по нему можно подключить до 127 устройств, при этом использовать только два порта ввода/вывода Arduino. Но как известно, у каждого устройства есть свой уникальный адрес. Так вот зная адрес, устройство можно легко идентифицировать и получать/принимать с него необходимые данные.

Вопрос в другом, где же этот адрес можно взять? Как правило, производитель указывает его в тех. документации. Но если нет возможности ее найти (такое бывает) или маркировка на корпусе частично затерта, можно воспользоваться платой Arduino UNO в качестве сканера адреса. Для осуществления данной задачи был написан небольшой скетч, который достаточно только залить в Arduino и подсоединить устройство с которого требуется считать адрес.

Пример программного кода:

На самом деле все достаточно просто, для большей ясности сделал много комментариев в коде. Заливайте, пробуйте, все работает!

Читать далее »