Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Экспонат:первичный дисплей

Экспонат:основной дисплей Этот очень простой способ соединяет ЖК-дисплей с Raspberry Pi для отображения любых необходимых данных, например, показаний датчика температуры.

История

Введение

ЖК-дисплей - очень полезное дополнение к любому проекту. Этот очень простой способ соединяет ЖК-дисплей с Raspberry Pi для отображения любых необходимых вам данных. В нашем случае мы будем отображать показания датчика температуры.

Аппаратное обеспечение

Нам нужен недорогой ЖК-дисплей, совместимый с HDD44780, Raspberry Pi 3, датчик температуры и влажности DHT11, карта micro SD и источник питания, 1-2 потенциометра, макетная плата и некоторые провода. ЖК-дисплей, макет, провода, потенциометры и датчик можно найти в этом комплекте. Мы собираемся подключить ЖК-дисплей с помощью 6 контактов GPIO. Хотя существует способ подключения с использованием I2C, это наиболее прямой метод, имеющий важные преимущества:


Подключение вещей

У нас будет несколько вариантов подключения ЖК-экрана:простое 4-битное соединение с одним потенциометром для управления контрастностью и яркостью и немного более сложное 8-битное соединение с расширенным контролем контрастности и яркости с помощью 2 потенциометров. Потенциометры также можно заменить резисторами 1 кОм или 3 кОм.

Каждый символ и команда отправляются на ЖК-дисплей в виде байта (8 бит) данных. Таким образом, в 4-битном режиме байт разделяется на два набора по 4 бита, которые отправляются один за другим по 4 проводам данных. Теоретически в 8-битном режиме данные передаются в два раза быстрее, чем в 4-битном, поскольку весь байт передается сразу по 8 проводам данных. Однако драйверу ЖК-дисплея требуется относительно много времени для обработки данных, поэтому независимо от того, какой режим используется, вы не заметите реальной разницы в скорости передачи данных между 8-битным и 4-битным режимами.

Расположение выводов ЖК-дисплея

выводы данных (DB0-7 контакты 7-14) просты. Они отправляют данные на дисплей (переключаются вверх / вниз). Мы будем использовать только режим записи и не будем читать никаких данных.

регистр selectpin (Вывод RS 4) имеет два использования. В нижнем положении он может посылать команды на ЖК-дисплей (например, положение, в которое нужно переместиться, или очистить экран). Это называется записью в регистр инструкций или команд или отправкой данных на экран.

Пин для чтения / записи (R / W контакт 5) будет понижен (только запись), так как в этой подсказке мы пишем только на ЖК-дисплей.

enablepin (Контакт E 6) будет переключен для записи данных в регистры.

Простое подключение к ЖК-дисплею

Схема подключения простого ЖК-дисплея

Дополнительно Подключение к ЖК-дисплею

Схема подключения расширенного ЖК-дисплея

ИНТЕРЕСНО:

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

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

Датчики DHT11 могут иметь варианты с 3 или 4 контактами, однако это не имеет значения, поскольку в любом случае он использует только 3 контакта для чтения данных, если у вас есть датчик с 4 контактами, вам нужно подключить только Vcc, сигнал / Data и Ground и игнорируем 4-й. На схемах выше вы можете увидеть 4-контактное соединение датчика.

Датчик DHT11:варианты с 3 и 4 контактами

ВАЖНО:

Датчик DHT11 требует от 3,3 В до 5 В. Во-первых, давайте подключим датчик DHT11 к контакту 1 Raspberry Pi 3,3 В, если он работает, этого напряжения достаточно, если показания странные или их нет вообще, попробуйте подключить его к контакту 2 Raspberry Pi 5 В. Этот наконечник использует 3,3 В.

Пока все хорошо, после того, как мы подключили контакты Vcc и заземления, нам нужно подключить сигнальный разъем датчика к физическому контакту 12 Raspberry Pi (GPIO 18).

Необходимые библиотеки

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

Чтобы дважды проверить (немного паранойи :)), у нас есть все необходимое для Python:

sudo apt-get install build-essential python-dev

Библиотека Python RPLCD

Библиотеку RPLCD можно установить из индекса пакета Python или PIP. Возможно, он уже установлен на вашем Raspbian, но если нет, запустите эту команду, чтобы установить его:

sudo apt-get install python-pip

После установки PIP установите библиотеку RPLCD, введя:

sudo pip установить RPLCD

Библиотека Python Adafruit DHT11

Мы используем библиотеку Python Adafruit DHT11. Вы можете загрузить библиотеку с помощью Git, поэтому, если на вашем Raspberry Pi не установлен Git, выполните следующую команду:

sudo apt-get install git

В качестве альтернативы вы можете попробовать:

sudo apt-get install git-core

ВАЖНО:

Если вы получаете сообщение об ошибке при альтернативной установке Git, запустите:

sudo apt-get update
sudo apt-get install git-core

Теперь запустите команду для загрузки библиотеки из Git:

git clone https://github.com/adafruit/Adafruit_Python_DHT.git

Перейти в новый каталог с помощью:

компакт-диск Adafruit_Python_DHT

И установите библиотеку с помощью:

sudo python setup.py установить

Перейдем к написанию скриптов.

Скрипт Python

Мы собираемся использовать Python для программирования дисплея и датчика. Я использую Visual Studio в качестве IDE, но вы можете использовать все, с чем предпочитаете работать.

Во-первых, нам нужно подключиться к Pi через SSH (например, с помощью PuTTY). Затем воспользуемся скриптом temperature.py.

Чтобы создать сценарий, мы можем использовать редактор nano. После подключения к Pi выполните следующую команду, чтобы создать файл с именем temperature.py:

sudo nano temperature.py

Затем вставьте следующий код (8-битный вариант) в этот файл и нажмите CTRL-X для выхода и Y для сохранения при появлении запроса.

#! / usr / bin / python
import RPi.GPIO as GPIO
import time
import Adafruit_DHT
from RPLCD import CharLCD
# Мы вызываем встроенный RPi.GPIO -в функции GPIO.cleanup () для очистки всех портов, которые мы использовали
GPIO.cleanup ()
# Теперь настройте контакты ЖК-дисплея (8-битный режим)
lcd =CharLCD (numbering_mode =GPIO.BOARD, cols =16, rows =2, pin_rs =37, pin_e =35, pins_data =[40, 38, 36, 32, 33, 31, 29, 23])
# Получить senosr показания и отображать их в цикле
while True:
# Получить показания датчика
# ВАЖНО:11 - это тип датчика (DHT11), а 18 - номер GPIO (или физический контакт 12)
влажность, температура =Adafruit_DHT.read_retry (11, 18)
print ('Температура:{0:0,1f} C Влажность:{1:0,1f}%'. формат (температура, влажность))
# Очистить и установить начальное положение курсора для ЖК-дисплея
lcd.clear ()
lcd.cursor_pos =(0, 0)
# Отображение показаний температуры
lcd.write_string (« Temp:% d C ”% temperature)
# Переместите курсор во вторую строку
lcd.cursor_pos =(1, 0)
# Отображение показаний влажности
lcd.write_string («Humidity:% d %%»% влажности)
# Приостановить выполнение на 5 секунд
time.sleep (5)

В приведенном выше примере используется 8-битный вариант подключения с физическими номерами контактов Raspberry Pi для ЖК-дисплея, а не номерами BCM или GPIO. Я предполагаю, что ваш ЖК-дисплей подключен так, как показано на схемах выше, но вы всегда можете поменять контакты, если вам нужно. Простой 4-битный код подключения прилагается в разделе «Код».

Подробнее:Экспонат:первичный дисплей


Производственный процесс

  1. Скалка
  2. Боулинг
  3. Жидкокристаллический дисплей (ЖКД)
  4. Разработка драйверов устройств Linux:подсистема управления контактами
  5. Дрон Пи
  6. Уклоняйся от защиты!
  7. 5 Вт портативного дисплея Брайля
  8. 74LS74:полное руководство по двойному триггеру
  9. Atlas Copco примет участие в выставке WIN Expo 2017
  10. Atlas Copco примет участие в выставке NPE2018:The Plastics Show