Raspberry Pi 3 – подключаем датчик DHT11 и LCD-дисплей
Raspberry Pi 3 – подключаем датчик DHT11 и LCD-дисплей
В этом материале мы рассмотрим, как подключить к Raspberry Pi 3 широко распространенные датчик влажности и температуры DHT11 и LCD-дисплей размерности 1602 (шестнадцать символов в строке, две строки) на базе контроллера HD44780. Большинство выпускаемых различными производителями дисплеев не имеют поддержки кириллицы, но для отображения значений температуры и влажности такой недостаток не имеет принципиального значения.
Статьи

Raspberry Pi 3 – подключаем датчик DHT11 и LCD-дисплей

В этом материале мы рассмотрим, как подключить к Raspberry Pi 3 широко распространенные датчик влажности и температуры DHT11 и LCD-дисплей размерности 1602 (шестнадцать символов в строке, две строки) на базе контроллера HD44780. Большинство выпускаемых различными производителями дисплеев не имеют поддержки кириллицы, но для отображения значений температуры и влажности такой недостаток не имеет принципиального значения.

Мы будем использовать дисплей с очень удобным переходником на микросхеме PCF8574T, который позволяет управлять дисплеем по протоколу I2C всего по двум проводам, не считая питания +5В и земли. При обычных способах подключения дисплея к микроконтроллеру требуется 8 или 12 линий. Подключение по I2C существенно экономит вводы-выводы общего назначения (GPIO) Raspberry, которые могут понадобиться для подключения других устройств, и никак не мешает наблюдать относительно медленно меняющиеся параметры.

Датчик DHT11 требует для подключения всего один провод линии данных, также не считая питания и земли. Его следует питать напряжением +3,3В. DHT11 имеет собственный протокол обмена данными 1-Wire.

Мастер Кит Raspberry Pi 3 – подключаем датчик DHT11 и LCD-дисплей

Разберем пошагово установку программного обеспечения и подключение внешних устройств. Мы использовали операционную систему Raspbian Jessie With Pixel, скачанную с сайта raspberrypi.org и плату Raspberry Pi 3 Model B.

 

Шаг первый.

Подготовим Raspberry к установке необходимого программного обеспечения. Если у вас свежая версия Raspbian, то, скорее всего, необходимые модули уже установлены. Но, на всякий случай, лучше застраховаться.

Откройте терминал и наберите следующие команды:

sudo apt-get update <Enter>

sudo apt-get upgrade <Enter>

 

Первая команда синхронизирует и обновит индексные файлы установленных в системе пакетов, вторая – обновит все установленное на данный момент программное обеспечение. Это занимает некоторое время.

 

Шаг второй.

Разрешим, если это еще не сделано, использование в системе протоколов I2C и 1-Wire. Для этого введем команду

sudo raspi-config

в открывшемся меню с помощью стрелок вверх/вниз и клавиши Enter зайдем в Interfacing Options, последовательно откроем соответствующие пункты меня и разрешим (выбрав “Y” при запросе) использование I2C и 1-Wire. Клавишей Tab установим маркер на <Back>, нажатием на Enter выйдем в меню верхнего уровня, выберем <Finis>, нажмем Enter. Для выхода на предыдущий уровень меню также можно использовать клавишу <Esc>. После выхода в терминал необходимо перезагрузить систему. Это можно сделать, введя команду

sudo reboot

 

После перезагрузки необходимо изменить файл конфигурации модулей так, чтобы необходимые модули попали в автозагрузку. Для этого необходимо открыть в редакторе nano файл modules:

sudo nano /etc/modules

 

Добавьте в открывшийся для редактирования файл к имеющимся строкам еще две строки:

 

i2c-dev

i2c-bcm2708

Мастер Кит Raspberry Pi 3 – подключаем датчик DHT11 и LCD-дисплей

Если какая-либо из этих строк уже имеется в файле, ее добавлять не надо.

Выйдем из редактора, нажав <Ctrl-X> и ответив “Y” на вопрос о сохранении файла.

 

Шаг третий.

Теперь необходимо установить библиотеки smbus и I2C для Python. Для этого последовательно введите в терминале команды:

sudo apt-get update    (еще раз обновим индексные файлы)

sudo apt-get install –y python-smbus i2c-tools    (собственно установка библиотеки)

sudo reboot    (перезагрузка)

 

Проверим, установилась ли библиотека? Наберем в терминале

lsmod | grep i2c <Enter>

 

Если в появившемся отклике системы есть строка i2c_bcm2708, то это значит, что библиотека установлена успешно.

 Мастер Кит Raspberry Pi 3 – подключаем датчик DHT11 и LCD-дисплей

Шаг четвертый.

Настало время подключить датчики к выводам GPIO Raspberry. Повторим схему разъема GPIO для наглядности. Перед подключением внешних устройств обязательно отключите Raspberry от питания!

Мастер Кит Raspberry Pi 3 – подключаем датчик DHT11 и LCD-дисплей

 

Подключим LCD-экран и датчик DHT11 в соответствии со следующей таблицей:

Контакты I2C LCDКонтакты GPIO RaspberryОписание
GND6Земля
VCC2+5В
SDA3GPIO 2 (I2C1_SDA)
SCL5GPIO 3 (I2C1_SCL)
Контакты DHT11Контакты GPIO RaspberryОписание
GND9Земля
DATA8GPIO 14
VCC1+3,3 В

 

Шаг пятый.

Включим питание Raspberry и проверим, обнаруживает ли операционная система устройство, подключенное по шине I2С? Введем в терминале команду (она входит в установленную на третьем шаге утилиту i2c-tools):

sudo i2cdetect 1

 

В ответ система выдаст такую информацию:

Мастер Кит Raspberry Pi 3 – подключаем датчик DHT11 и LCD-дисплей

На пересечении строки, помеченной цифрой 20, и столбца 7 мы видим адрес единственного подключенного устройства – 27 (в системе счисления по основанию 16). Теоретически, адрес может быть и другим. Запомним его, он нам понадобится в дальнейшем. Если на одного адреса не отображается, это означает, что либо устройство не подключено, либо оно подключено неверно, либо необходимое программное обеспечение не установлено.

 

Шаг шестой.

Все предварительные действия закончены. На этом  шаге мы настроим и запустим программу на языке Python, которая отобразит температуру и влажность, полученные с датчика DHT11 на дисплее. Загрузим файлы из файлового хранилища: dht11.py и raspi-dht11-i2clcd.py. Первый из них является драйвером датчика DHT11. Он используется в  основной программе, которая находится во втором файле.

Введем в терминале

sudo wget https://masterkit.ru/zip/dht11.py ,

затем

sudo wget https://masterkit.ru/zip/raspi-dht11-i2clcd.py

Команды можно объединить в одну (имена файлов указываются через пробел):

sudo wget https://masterkit.ru/zip/dht11.py https://masterkit.ru/zip/raspi-dht11-i2clcd.py

Файлы будут загружены в рабочий каталог /home/pi.

Мастер Кит Raspberry Pi 3 – подключаем датчик DHT11 и LCD-дисплей  

После загрузки необходимо отредактировать адрес LCD-дисплея на шине I2C, который мы наши пятом шаге, в нашем случае он равен 27. Занесем его в основной файл программы. Откроем файл raspi-dht11-i2clcd.py на редактирование в редакторе nano:

sudo nano /home/pi/ raspi-dht11-i2clcd.py

Мастер Кит Raspberry Pi 3 – подключаем датчик DHT11 и LCD-дисплей
 

По умолчанию адрес 27 задан в переменной I2C_ADDR = 0x27. Если адрес на пятом шаге не равен 27, следует подставить его значение.

Сохраняем изменения Ctrl-O, закрываем редактор Ctrl-X.

Изменить файл можно и более привычным (для пользователей Windows) способом в редакторе среды программирования Python двойным кликом на файле основной программы:

Мастер Кит Raspberry Pi 3 – подключаем датчик DHT11 и LCD-дисплей

Редактируем и сохраняем файл.

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

Запуск из терминала:

sudo python raspi-dht11-i2clcd.py

Запуск из редактора среды программирования Python (см.рис 9):

Run->Run Module или F5.

Автозапуск:

Введите в терминале команду, открывающую на редактирование новый файл dht11-lcd.desktop:

         sudo nano /etc/xdg/autostart/dht11-lcd.desktop

В открывшемся окне редактора nano введите 8 строк:

         [Desktop Entry]

         Version=1.0

         Encoding=UTF-8

         Name=dht11-lcd

         Comment=

         Exec=sudo python /home/pi/raspi-dht11-i2clcd.py

         Terminal=false

         Type=Application

и сохраните.

Теперь при включении питания будет автоматически запускаться интерпретатор Python с файлом raspi-dht11-i2clcd.py, что приведет к исполнению нашей программы.

Мастер Кит Raspberry Pi 3 – подключаем датчик DHT11 и LCD-дисплей

 

Рейтинг@Mail.ru

Почему выбирают Мастер Китнас


Мы в Сети

Я

© 1999-2019 Мастер Кит