1 / 1 / 0
Регистрация: 12.05.2011
Сообщений: 28
1

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

25.12.2016, 13:33. Показов 4121. Ответов 5
Метки нет (Все метки)

Здравствуйте! Решил поделиться алгоритмом работы датчика DHT11. Может быть кому-нибудь пригодится. Так же прикладываю свою библиотеку для работы с данным датчиком. На оригинальность не претендую. В библиотеке не используются прерывания.
Это так называемая ДРАКОН-СХЕМА.

[2.26 Кб]

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.12.2016, 13:33
Ответы с готовыми решениями:

Чтение датчика температуры и влажности DHT-11 (ATMega16)
Есть почти готовая программа на мкк атмега16, с подключенным к ней датчиком DHT11, единственное что...

PIC16F690. Чтение датчика температуры и влажности DHT-11
pic16f690 не читает DHT11 проблема следующего характера... есть библиотека DHT11 нормально...

Проблема с чтением данных датчика DHT11 на ESP8266
Не отображает данные с датчика. Информация с порта: 192.168.1.3 New client Failed to read...

ИОН для датчика влажности
есть HIH-4010, нужно как-то запитать и его, и опору для АЦП меги. питаться всё будет от USB (т.е....

5
1 / 1 / 0
Регистрация: 01.02.2010
Сообщений: 2,010
25.12.2016, 20:51 2
Цитата Сообщение от okosur
Здравствуйте! Решил поделиться алгоритмом работы датчика DHT11. Может быть новичкам пригодится. Так же прикладываю свою библиотеку для работы с данным датчиком. На оригинальность не претендую. В библиотеке не используются прерывания.
Это так называемая ДРАКОН-СХЕМА.
Спасибо. Пригодится. Я как раз планировал их помучить, правда у меня не 11-е а 22-е... интересно они сильно отличаются?
1
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 1,864
25.12.2016, 21:03 3
Afaik почти не различаются.
Правда, с алгоритмом чтения imho проще разобраться не по этой схеме, а по dht11.cpp для ардуины - там код на один экран влезает, а схема - нет.
0
1 / 1 / 0
Регистрация: 12.05.2011
Сообщений: 28
25.12.2016, 23:27 4
Цитата Сообщение от oomomstir
Afaik почти не различаются.
Правда, с алгоритмом чтения imho проще разобраться не по этой схеме, а по dht11.cpp для ардуины - там код на один экран влезает, а схема - нет.
Я хоть и не плохо знаю язык программирования СИ, но мне лично проще разобраться по такой схеме. В схеме не обращается внимание на всякие мелочи. Возможно мне легче, потому что я знаком с языком ДРАКОН. Есть краткая инструкция из трех частей:
1) http://drokom.su/_media/video_i_prezimt ... t1_rus.pdf
2) http://drokom.su/_media/video_i_prezimt ... t2_rus.pdf
3) http://drokom.su/_media/video_i_prezimt ... t3_rus.pdf
Как читать схему? Схему нужно читать слева на право, сверху вниз. Начинать нужно с самого верхнего левого угла.
При первом взгляде видно, что алгоритм состоит из восьми этапов:
1. Макроопределения
2. Инициализация датчика
3. Ожидание ответа от датчика
4. Инициализация переменных
5. Чтение битов из датчика
6. Сохранение данных
7. Проверка корректности полученных данных
8. Завершение
А далее достаточно разобраться в этих пунктах по порядку, не держа весь алгоритм в голове.
Чтобы понять алгоритм нужно идти по стрелке. В прямоугольниках содержатся команды. В самом низу фигура в виде дома - это адрес куда нужно перейти сверху. На схеме есть фигура означающая паузу. Вопрос и так понятен. Если "да", то идем в одном направлении, если "нет", то идем в другом. Есть так называемый веточный цикл: например, сверху фигура с надписью "Чтение битов из датчика" и фигура с такой же надписью снизу. Они помечены черным треугольником. То есть по сути это цикл, который прекратится, когда выполнится условие "Count == 0". Есть еще комментарии. Это прямоугольник, внутри которого овал. Это просто пояснения.
Чтобы лучше понять, посмотрите ссылки, которые дал выше в этом сообщении. Есть еще книга самого автора http://drokom.su/_media/biblioteka/drak ... iption.pdf
0
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 1,864
26.12.2016, 00:18 5
Спасибо, я в курсе, как читаются дракон-схемы.
В своё время дракон представлял определённый интерес - он позволял заставить автора блок-схемы не растекаться мыслью по древу и не превращать схему в комок спагетти... Но в наши дни (лет 25 как), в связи с убедительной победой структурного программирования :-) блок-схемы оказались избыточными для представления алгоритмов. Их пытались урезать (см., к примеру, диаграммы Насси — Шнейдермана), но...
Всё-таки схема, не влезающая по ширине в экран - это криминал. Если хотите оставаться в рамках Дракона - урежьте осетра... в смысле, разбейте её на несколько. Но псевдокод (для тех, кто почему-то не может читать Си) будет удобнее просто в силу более компактной записи. А если вам просто текст неудобен - попробуйте ssratch и ему подобное (можете распечатать Си-шный текст и раскрасить маркерами, благо, он лесенкой)
0
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 1,183
26.12.2016, 00:38 6
А что, там нет таймера с захватом? К чему эти танцы?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.12.2016, 00:38
Помогаю со студенческими работами здесь

Передача данных с датчика влажности в Интернет/Интранет
НЕ АРДУИНО. Есть датчик влажности и микроконтроллер, я хочу чтобы данные с датчика передавались на...

BME280 сенсор давления температуры и влажности
Всем привет. Имею такую проблему с BME280 Все делаю по даташит. Температуру измеряет, а давление...

Orange pi считывание датчиков температуры, влажности
Orange pi считывание датчиков температуры, влажности и так далее Есть orange pi можно ли...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru