Разделы сайта
Выбор редакции:
- Лучшая программа распознания русской речи Распознавание речи оффлайн как отключить
- Как узнать VID, PID флешки и для чего служат эти идентификационные номера?
- Huawei P8Lite - Технические характеристики
- Как разблокировать телефон Xiaomi, если забыл пароль
- Apptools: как зарабатывать, играя
- Lenovo Vibe K5 Plus - Технические характеристики Характеристики звука и камеры
- Решили перейти с Windows на Mac?
- Как пользоваться гугл фото, обзор функций Google foto вход
- Платежная система Payza (ex-Alertpay) Payza вход в личный кабинет
- APK чем открыть и как редактировать?
Реклама
Датчик погодной станции на ардуино. Беспроводная метеостанция |
Наблюдение за погодой - весьма увлекательное занятие. Я решил построить свою погодную станцию на базе популярного . Прототип метеостанции выглядит так: Функции моей метеостанции:
Микроконтроллер Arduino Nano 3.0 "Сердцем" моей метеостанции является микроконтроллер eBay
): Для управления индикацией и опросом датчиков я использую таймер 1 Arduino , вызывающий прерывания с частотой 200 Гц (период - 5 мс). Индикатор Для отображения измеряемых показаний датчиков и текущего времени я подключил к Arduino
четырехразрядный светодиодный индикатор Foryard FYQ-5643BH
с общими анодами (аноды одинаковых сегментов всех разрядов объединены). Аноды индикатора подключены через токограничивающие резисторы к выводам Arduino :
Катоды сегментов подключены к выводам Arduino :
Сегмент индикатора светится, если на аноде соответствующего разряда высокий потенциал (1), а на катоде - низкий (0). Я использую динамическую индикацию для отображения информации на индикаторе - в каждый момент времени активен только один разряд. Активные разряды чередуются с частотой 200 Гц (период отображения 5 мс). При этом для глаз мерцание сегментов незаметно. Датчик температуры DS18x20 Для возможности удаленного измерения температуры я подключил датчик , который обеспечивает измерение наружной температуры в широких пределах. Датчик подключается к шине 1-Wire и имеет три вывода - питание (VCC ), данные (DAT ), земля (GND ):
Между выводами VCC и DAT я включил подтягивающий резистор сопротивлением 4,7 кОм. Для перевода между градусами Цельсия и Фаренгейта можно использовать такую табличку: Я разместил датчик за окном дома в пластиковом корпусе от шариковой ручки: В профессиональных метеостанциях для защиты термометра от прямых солнечных лучей и обеспечения циркуляции воздуха используется экран Стивенсона (англ. Stevenson screen
): Датчик давления и температуры BMP280 Для измерения атмосферного давления традиционно используют ртутные барометры и барометры-анероиды. В ртутном барометре
атмосферное давление уравновешивается весом столба ртути, высота которого и ипользуется для измерения давления: В барометре-анероиде
используется сжатие и растяжение коробки под действием атмосферного давления: Для измерения атмосферного давления и комнатной температуры в своей домашней метеостанции я использую датчик - маленький SMD
-датчик размером 2 x 2,5 мм, основанный на пьезорезистивной технологии: Датчик подключается к шине I2C (контакт данных - SDA/SDI , контакт синхронизации - SCL/SCK ):
Adafruit - файлы Adafruit_Sensor.h , Adafruit_BMP280.h , Adafruit_BMP280.cpp . Единицы измерения атмосферного давления Датчик через функцию readPressure
выдает значение атмосферного давления в паскалях. Основной единицей измерения атмосферного давления служит гектопаскаль
(гПа) (1 гПа = 100 Па), аналогом которого является внесистемная единица "миллибар
" (мбар) (1 мбар = 100Па = 1гПа). Для перевода между часто используемой внесистемной единицей измерения давления "миллиметр ртутного столба
" (мм рт. ст.) и гектопаскалями используются соотношения: Зависимость атмосферного давления от высоты над уровнем моря Атмосферное давление может быть представлено как в абсолютной, так и в относительной форме. Прогноз погоды Анализ изменения давления позволяет строить прогноз погоды, причем его точность тем выше, чем более резко меняется давление. Например, старое эмпирическое правило мореплавателей гласит - падение давления на 10 гПа (7,5 мм рт. ст.) за период 8 часов говорит о приближении сильного ветра. Откуда же возникает ветер? Воздух стекается к центру области низкого давления, возникает ветер - горизонтальное перемещение воздуха из областей высокого давления в области низкого давления (высокое атмосферное давление выдавливает воздушные массы в область низкого атмосферного давления). Если давление очень низкое, ветер может достигать силы шторма . При этом в области пониженного давления (барическая депрессия или циклон) теплый воздух поднимается вверх и формирует облака, которые часто приносят дождь или снег . За направление ветра в метеорологии принимается направление, откуда дует ветер: Для предсказания погоды на основе атмосферного давления и направления ветра часто используется алгоритм Zambretti . Датчик влажности Для определения относительной влажности воздуха я использую модуль DHT11
(приобретен на торговой площадке eBay
):
Датчик влажности DHT11 имеет три вывода - питание (+ ), данные (out ), земля (- ):
Для работы с датчиком я использую библиотеку от Adafruit - файлы DHT.h , DHT.cpp . Влажность воздуха характеризует количество водяного пара, содержащегося в воздухе. Относительная влажность
показывает долю влаги в воздухе (в процентах) по отношению к максимальному возможному количеству при текущей температуре. Для измерения относительной влажности служит : Для человека оптимальный интервал влажности воздуха - 40 ... 60 %. Часы реального времени В качестве часов реального времени я применил модуль RTC DS1302
(платка с часиками приобретена на торговой площадке eBay
):
Модуль DS1302 подключается к шине 3-Wire . Для использования этого модуля совместно с Arduino разработана библиотека iarduino_RTC (от iarduino.ru ). Плата с модулем DS1302 имеет пять выводов, которые я соединил с выводами платы Arduino Nano :
Для сохранения верных показаний часов при отключенном питании в гнездо на плате я вставил батарейку CR2032 . Точность моего часового модуля оказалась не слишком высокой - часы спешат примерно на одну минуту за четверо суток. Поэтому я сделал сброс минут на "ноль" и часа на ближайший при удержании кнопки, подключенной к выводу A0 Arduino, после включения питания метеостанции. После инициализации вывод A0 используется для передачи данных через последовательное соединение. Передача данных на компьютер и работа по протоколу MQTT Для передачи данных через последовательное соединение к Arduino подключается USB -UART преобразователь: Вывод Arduino используется для передачи данных в формате 8N1 (8 бит данных, без бита четности, 1 стоп-бит) со скоростью 9600 бит/с. Данные передаются пакетами, причем длина пакета - 4 символа. Передача данных осуществляется в "bit-bang " режиме, без использования аппаратного последовательного порта Arduino . Формат передаваемых данных:
MQTT Golang
приложение - клиент протокола MQTT
, отправляющую принятую от метеостанции информации на сервер (MQTT
-брокер) : Для мониторинга показаний метеостанции при этом можно использовать Android
-приложение : Питание Для питания метеостанции я использую зарядное устройство от старого мобильного телефона Motorola
, выдающее напряжение 5 В с током до 0,55 А и подключаемое к контактам 5V
(+) и GND
(-): Эксплуатация метеостанции При запуске происходит инициализация и проверка датчиков. При отсутствии датчика DS18x20 выдается ошибка "E1", при отсутствии датчика - ошибка "E3". Затем запускается рабочий цикл метеостанции:
Отображение температуры При измерении температуры индицируется две цифры температуры и для отрицательной температуры знак "минус" (с символом градуса в крайнем правом разряде); Отображение давления При измерении давления индицируются три цифры давления в мм ртутного столба (с символом "P
" в крайнем правом разряде): Если давление резко упало, то вместо символа "P
" в крайнем правом разряде отображается символ "L
", если резко выросло - то "H
". Критерий резкости изменения - 8 мм рт. ст. за 8 часов: Так как моя метеостанция отображает абсолютное давление (QFE ), то показания оказываются несколько заниженными по сравнению со сведениями в сводке METAR (в которой приводится QNH ) (14 UTC 28 марта 2018 года): Отношение давлений (по сведениями ATIS ) составило ${1015 \over 998} = 1,017$. Возвышение аэропорта Гомель (код ИКАО UMGG ) над уровнем моря составляет 143,6 м. Температура по данным ATIS составляла 1 °C . Показания моей метеостанции практически совпали с абсолютным давлением QFE по сведениями ATIS ! Максимальное/минимальное давления (QFE ), зарегистрированные моей метеостанцией за все время наблюдений: Отображение относительной влажности воздуха Относительная влажность воздуха отображается в процентах (в двух правых разрядах отображается символ процента): Отображение текущего времени Текущее время отображается на индикаторе в формате "ЧЧ:ММ", причем разделительное двоеточие мигает раз в секунду: Отображение фаз Луны и лунного дня Первые два разряда индикатора отображают текущую лунную фазу, а следующие два - текущий лунный день: У Луны выделяются восемь фаз (приведены английские и русские (синим цветом - неточные) названия): На индикаторе фазы отображаются пиктограммами:
Передача данных на компьютер Если соединить метеостанцию с USB
-UART
преобразователем (например, на базе микросхемы CP2102
), подключенным к USB
-порту компьютера, то можно с помощью терминальной программы наблюдать передаваемые метеостанцией данные: Я разработал на языке программирования golang
программу, ведущую журнал метеонаблюдений и отправляющую данные в сервис , и их можно просматривать на Android
-смартфоне с помощью приложения : По данным журнала метеонаблюдений можно, например, строить график изменения атмосферного давления: Планируемые доработки:
В метеостанциях для измерения скорости ветра используется трехчашечный анемометр (1), а для определения направления ветра - флюгер (2): Также для измерения скорости ветра используются термоанемометры с нитью накала
(англ. hot wire anemometer
). В качестве нагреваемой проволоки можно использовать вольфрамовую нить накала от лампочки с разбитым стеклом. В промышленно выпускаемых термоанемометрах датчик обычно располагается на телескопической трубке: Принцип действия этого прибора заключается в том, что тепло отводится от нагревательного элемента вследствие конвекции воздушным потоком - ветром. При этом сопротивление нити накала определяется температурой нити. Закон изменения сопротивления нити накала $R_T$ от температуры $T$ имеет вид: С изменением скорости воздушного потока изменяется температура при неизменном токе накала (анемометр с постоянным током, англ. CCA ). Если температура нагревательного элемента поддерживается постоянной, то ток через элемента будет пропорционален скорости воздушного потока (анемометр с постоянной температурой, англ. CTA ). Продолжение следует В свободное время, и на этот раз написал инструкцию по изготовления небольшой метеостанции. Она будет выполнять функцию часов с датой и показывать температуры внутри и снаружи помещения. Как основной контролер будем использовать Arduino UNO, но подойдет и другая плата с Atmega328p на борту. Для отображения используем графический экран WG12864B. Также подключим два датчика температуры ds18b20. Один внутри помещения, второй вынесем наружу. Начнем. В процессе изготовления самоделки нам понадобится: Arduino UNO (Или любая другая Arduino совместимая плата) Шаг 1 Подготовка WG12864B3.
Вариант A: HDM64GS12L-4, Crystalfontz CFAG12864B, Sparkfun LCD-00710CM, NKC Electronics LCD-0022, WinStar WG12864B-TML-T Вариант B: HDM64GS12L-5, Lumex LCM-S12864GSF, Futurlec BLUE128X64LCD, AZ Displays AGM1264F, Displaytech 64128A BC, Adafruit GLCD, DataVision DG12864-88, Topway LM12864LDW, Digitron SG12864J4, QY-12864F, TM12864L-2, 12864J-1 Вариант C: Shenzhen Jinghua Displays Co Ltd. JM12864 Вариант D: Wintek- Cascades WD-G1906G, Wintek - GEN/WD-G1906G/KS0108B, Wintek/WD-G1906G/S6B0108A, TECDIS/Y19061/HD61202, Varitronix/MGLS19264/HD61202 Выглядят они почти одинаково. Но пины подключение у них разные. Я выбрал, и вам рекомендую, WG12864B3 V2.0, но если экран пришел другой, или просто под руками такого нет, вы легко разберётесь с помощью таблицы: Вкратце характеристики: В интернете много разных схем подключения, и все вроде как рабочие. Все дело в том, что существуют не только разные экраны, но и два способа их подключения: последовательный и параллельный. При использовании подключения по последовательному порту – нам понадобится всего 3 выхода микроконтроллера. При параллельном минимум 13. Выбор в данном случаем очевиден, у Arduino и так не много выводов. Для параллельного соединения схема подключения следующая: Для последовательного подключения, которое будем использовать мы, схема следующая: WG12864B – Arduino UNO 1 (GND) - GND 2 (VCC) - +5V 4 (RS) – 10 5 (R/W) – 11 6 (E) – 13 15 (PSB) – GND 19 (BLA) – через резистор 100 Ом - +5V 20 (BLK) – GND Для регулировки контраста на экране должен стоять потенциометр. Бывают экраны и без него, но это сейчас редкость: Резистор в 100 Ом нужен, чтобы напряжением в 5 вольт, случайно не сжечь диоды подсветки. Шаг 2 Изготовление корпуса.
Срезаем прозрачную пленку, сверху коробки, так чтобы не оставалось кусков: Затем, используя канцелярский нож, вырезаем окошко размером 37х69, для экрана. С обратной стороны по краю выреза клеим двусторонний скотч, желательно черного цвета: Снимаем защитную бумажку со скотча, и приклеиваем на него наш экран: С внешней стороны должно выглядеть так: Ниже экран, также на двусторонний скотч, крепим Arduino, сделав предварительно вырезы под USB- порт и гнездо питания: Вырезы под гнезда Arduino надо делать с двух сторон коробки, так чтобы она могла свободно закрываться: Шаг 3 Датчики температуры.
При любом варианте питания, датчики подключаются параллельно: Датчик замера температуры внутри помещения разместим на маленькой плате вместе с двумя кнопками, которые мы будем использовать для установки времени и даты часов: Общий провод от обоих кнопок подключаем к GND, провод от первой кнопки подключаем к A0, от второй к A1. Датчик, который предполагается размещать снаружи помещения, лучше выбирать в металлическом, пылевлагозащитном корпусе: Рассчитайте провод необходимой длины, чтобы можно было вывесить датчик снаружи окна, главное, чтобы он был не больше метров 5, если нужна длина больше, надо будет уменьшать номинал подтягивающего резистора. Провод от шины данных DQ обоих датчиков подключаем к pin 5 Arduino. Шаг 4 Питание.
Или можете поместить в корпус батарейный отсек для четырех батареек типа «ААА», «мизинчиковые». И подключить плюсовой провод от отсека к Vin Arduino, а минус к GND. Шаг 5 Подготовка среды программировании.
А также добавить в две библиотеки, необходимые для скетча. OneWire – необходима для связи с датчиками ds18b20: U8glib – используется для вывода информации на экран: Скачиваем библиотеки. Затем распаковываем архивы, и перемещаем содержимое архивов в папку «libraries», находящуюся в папке с установленной Arduino IDE. Также можно добавить библиотеки через Arduino IDE. Для этого, не распаковывая архивы, запускаем Arduino IDE, выбираем в меню Скетч – Подключить библиотеку. В самом верху выпадающего списка выбираем пункт «Добавить.Zip библиотеку». Указываем место нахождения скачанных архивов. После всех действий, необходимо перезагрузить Arduino IDE. Шаг 6 Редактирование скетча.
Byte addr1={0x28, 0xFF, 0x75, 0x4E, 0x87, 0x16, 0x5, 0x63};//адрес внутреннего byte addr2={0x28, 0xFF, 0xDD, 0x14, 0xB4, 0x16, 0x5, 0x97};//адрес внешнего датчика Заменяем адреса соответствующих местонахождению датчиков, на свои адреса. //u8g.setPrintPos(44, 50); u8g.print(sek); // Выводим секунды для контроля правильности хода Установите правильное время, через монитор порта. Для этого откройте монитор порта, дождитесь окончания первоначальных замеров температуры, и введите текущую дату и время в формате "день, месяц, год, часы, минуты, секунды". Без пробелов, числа разделяем запятыми или точками. Если часы спешат, меняем значение на большее, рекомендую экспериментировать с шагом в 100 единиц. Если отстаю следует уменьшить значение в строке: If (micros() - prevmicros >494000) { // поменять на другое для корректировки было 500000 Опытным путем определяем число, при котором часы идут достаточно точно. Для определения точности хода и нужен вывод секунд. После точной калибровки числа, секунды можно закомментировать и таким образом убрать с экрана. Захотелось иметь свою метеостанцию, которая передает показания с датчиков на карту народного мониторинга (ищется в гугле за 5 секунд). Оказалось это не так сложно, как кажется. Рассмотрим, что было сделано. Для данного действия я взял себе Arduino Uno и Ethernet Shield w5100 для нее. Все это заказывалось из Китая на Aliexpress. Так же там заказал себе датчики: DHT22, DHT11, DS18B20, BMP280 (в планах еще датчики газа, дыма…) Покурив форумы, гугл, яндекс, я нашел неплохой вариант скетча — https://student-proger.ru/2014/11/meteostanciya-2-1/ Там же в комментариях человек выкладывал дописанный скетч с датчиками освещенности, газа. Я взял их за основу. В тех скетчах не было поддержки 280-го датчика давления, пообщались с автором, он заменил 180 на 280. Все заработало прекрасно (спасибо ему за это огромное) Ниже приведу пример итогового скетча, что получился у меня. В данный момент у меня подключены датчики: ВНИМАНИЕ! Перед тем как заливать скетч, не забудьте изменить MAC-адрес устройства, чтобы не пересекаться с другими (например взять Mac-адрес вашего мобильного телефона и изменить в нем последние буквы/цифры, что не «будоражило» вашу локальную сеть! Примерная схема подключения (картинка взята на просторах интернета от данного скетча): По техническим причинам у меня не получается выложить скетч прямо сюда. Поместил его в архив. Ссылка на него строчкой выше. Как видно, показания есть, идут исправно, для примера выложу пару скриншотов со своих датчиков:
Загружать прошивку желательно до подключения компонентов, чтобы убедиться в том, что плата рабочая. После сборки можно прошить ещё раз, плата должна спокойно прошиться. В проектах с мощными потребителями в цепи питания платы 5V (адресная светодиодная лента, сервоприводы, моторы и проч.) необходимо подать на схему внешнее питание 5V перед подключением Arduino к компьютеру, потому что USB не обеспечит нужный ток, если например лента его потребует. Это может привести к выгоранию защитного диода на плате Arduino. Гайд по скачиванию и загрузке прошивки можно найти под спойлером на следующей строчке. Содержимое папок в архиве
Дополнительно
Настройки в прошивке
#define RESET_CLOCK 0 // сброс часов на время загрузки прошивки (для модуля с несъёмной батарейкой). Не забудь поставить 0 и прошить ещё раз! #define SENS_TIME 30000 // время обновления показаний сенсоров на экране, миллисекунд #define LED_MODE 0 // тип RGB светодиода: 0 - главный катод, 1 - главный анод #define LED_BRIGHT 255 // яркость светодиода СО2 (0 - 255) #define BLUE_YELLOW 1 // жёлтый цвет вместо синего (1 да, 0 нет) но из за особенностей подключения жёлтый не такой яркий #define DISP_MODE 1 // в правом верхнем углу отображать: 0 - год, 1 - день недели, 2 - секунды #define WEEK_LANG 1 // язык дня недели: 0 - английский, 1 - русский (транслит) #define DEBUG 0 // вывод на дисплей лог инициализации датчиков при запуске #define PRESSURE 1 // 0 - график давления, 1 - график прогноза дождя (вместо давления). Не забудь поправить пределы гроафика // пределы отображения для графиков #define TEMP_MIN 15 #define TEMP_MAX 35 #define HUM_MIN 0 #define HUM_MAX 100 #define PRESS_MIN -100 #define PRESS_MAX 100 #define CO2_MIN 300 #define CO2_MAX 2000 Как-то прогуливаясь по городу увидел новый открывшийся магазин радиоэлектроники. Зайдя в него обнаружил большое количество шилдов для Ардуины т.к. у меня дома была Arduino Uno и Arduino Nano сразу пришла мысль поиграться с передатчиками сигнала на расстоянии. Решил купить самый дешевый передатчик и приемник на 433 МГц: Передатчик сигнала.
Записав простейший скетч передачи данных (пример взят от сюда), выяснилось, что передающие устройства могут вполне подойти для передачи простейших данных, таких как температура, влажность. Передатчик имеет следующие характеристики:
Характеристики приемного модуля:
В просторах интернета сказано, что дальность передачи информации на 2Кб/сек может доходить до 150м. Сам не проверял, но в двухкомнатной квартире принимает везде. Аппаратная часть домашней метеостанции После нескольких экспериментов решил подключить к Arduino Nano датчик температуры, влажности и передатчик. Датчик температуры DS18D20 подключается к ардуино следующим образом: 1) GND к минусу микроконтроллера. Модуль передатчика MX -FS - 03V питается от 5 Вольт, вывод данных (ADATA) подключен к выводу D13. К Ардуино Уно подключил LCD дисплей и барометр BMP085.
Приемник сигнала подключен к выводу D10. Модуль BMP085 - цифровой датчик атмосферного давления. Датчик позволяет измерять температуру,давление и высоту над уровнем моря. Интерфейс подключения: I2C. Напряжение питания датчика 1.8-3.6 В Подключается модуль к Arduino также, как и другие I2C устройства:
DHT имеет 4 вывода:
Подключается к D8 Ардуины. Программная часть домашней метеостанции Передающий модуль измеряет и передает температуру раз в 10 минут. Ниже привожу программу: /* Версия скетча 1.0 Отсылаем температуру каждые 10мин. */ #include #include #include #define ONE_WIRE_BUS 2 //Пин подключения датчика Даллас OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire); DeviceAddress insideThermometer; void setup(void) { //Serial.begin(9600); vw_set_ptt_inverted(true); // Необходимо для DR3100 vw_setup(2000); // Устанавливаем скорость передачи (бит/с) sensors.begin(); if (!sensors.getAddress(insideThermometer, 0)); printAddress(insideThermometer); sensors.setResolution(insideThermometer, 9); } void printTemperature(DeviceAddress deviceAddress) { float tempC = sensors.getTempC(deviceAddress); //Serial.print("Temp C: "); //Serial.println(tempC); //Формирование данных для для отправки int number = tempC; char symbol = "c"; //Служебный символ определения что это датчик String strMsg = "z "; strMsg += symbol; strMsg += " "; strMsg += number; strMsg += " "; char msg; strMsg.toCharArray(msg, 255); vw_send((uint8_t *)msg, strlen(msg)); vw_wait_tx(); // Ждем пока передача будет окончена delay(200); } void loop(void) { for (int j=0; j <= 6; j++) { sensors.requestTemperatures(); printTemperature(insideThermometer); delay(600000); } } //Определение адреса void printAddress(DeviceAddress deviceAddress) { for (uint8_t i = 0; i < 8; i++) { if (deviceAddress[i] < 16); //Serial.print("0"); //Serial.print(deviceAddress[i], HEX); } } Приемное устройство принимает данные, измеряет давление и температуру в помещении и передает на дисплей. #include #include LiquidCrystal lcd(12, 10, 5, 4, 3, 2); #include dht11 sensor; #define DHT11PIN 8 #include #include BMP085 dps = BMP085(); long Temperature = 0, Pressure = 0, Altitude = 0; void setup() { Serial.begin(9600); vw_set_ptt_inverted(true); // Необходимо для DR3100 vw_setup(2000); // Задаем скорость приема vw_rx_start(); // Начинаем мониторинг эфира lcd.begin(16, 2); Wire.begin(); delay(1000); dps.init(); //lcd.setCursor(14,0); //lcd.write(byte(0)); //lcd.home(); } void loop() { uint8_t buf; // Буфер для сообщения uint8_t buflen = VW_MAX_MESSAGE_LEN; // Длина буфера if (vw_get_message(buf, &buflen)) // Если принято сообщение { // Начинаем разбор int i; // Если сообщение адресовано не нам, выходим if (buf != "z") { return; } char command = buf; // Команда находится на индексе 2 // Числовой параметр начинается с индекса 4 i = 4; int number = 0; // Поскольку передача идет посимвольно, то нужно преобразовать набор символов в число while (buf[i] != " ") { number *= 10; number += buf[i] - "0"; i++; } dps.getPressure(&Pressure); dps.getAltitude(&Altitude); dps.getTemperature(&Temperature); //Serial.print(command); Serial.print(" "); Serial.println(number); lcd.print("T="); lcd.setCursor(2,0); lcd.print(number); lcd.setCursor(5,0); lcd.print("P="); lcd.print(Pressure/133.3); lcd.print("mmH"); lcd.setCursor(0,1); lcd.print("T="); lcd.print(Temperature*0.1); lcd.print(" H="); lcd.print(sensor.humidity); lcd.home(); //delay(2000); int chk = sensor.read(DHT11PIN); switch (chk) { case DHTLIB_OK: //Serial.println("OK"); break; case DHTLIB_ERROR_CHECKSUM: //Serial.println("Checksum error"); break; case DHTLIB_ERROR_TIMEOUT: //Serial.println("Time out error"); break; default: //Serial.println("Unknown error"); break; } } } P.S. В дальнейшем планирую добавить следующее:
Ниже прилагаю фото того что получилось: Список радиоэлементов
|
Читайте: |
---|
Популярное:
Не запускается игра bioshock remastered![]() |
Новое
- Как узнать VID, PID флешки и для чего служат эти идентификационные номера?
- Huawei P8Lite - Технические характеристики
- Как разблокировать телефон Xiaomi, если забыл пароль
- Apptools: как зарабатывать, играя
- Lenovo Vibe K5 Plus - Технические характеристики Характеристики звука и камеры
- Решили перейти с Windows на Mac?
- Как пользоваться гугл фото, обзор функций Google foto вход
- Платежная система Payza (ex-Alertpay) Payza вход в личный кабинет
- APK чем открыть и как редактировать?
- Обзор смартфона Alpha GT от Highscreen Упаковка и комплект поставки