Raspberry Pi - це плата на основі процесора ARM, розроблена для інженерів-електронників та любителів. PI - одна з найбільш надійних платформ для розробки проектів, що існують зараз. Завдяки вищій швидкості процесора та 1 ГБ оперативної пам'яті, PI можна використовувати для багатьох важливих проектів, таких як обробка зображень та IoT.
Для виконання будь-якого з важливих проектів потрібно розуміти основні функції PI. У цих підручниках ми розглянемо всі основні функціональні можливості Raspberry Pi. У кожному підручнику ми обговоримо одну з функцій PI. До кінця цієї серії підручників Raspberry Pi ви зможете самостійно виконувати гучні проекти. Пройдіть нижче підручники:
- Початок роботи з Raspberry Pi
- Конфігурація Raspberry Pi
- Світлодіод блимає
- Кнопкова взаємодія
- Генерація ШІМ
- Керування двигуном постійного струму
- Управління кроковим двигуном
- Реєстр зсуву зв’язку
- Підручник з ADC Raspberry Pi
- Управління сервомотором
- Ємнісна сенсорна панель
У цьому підручнику ми будемо керувати РК-дисплеєм 16x2 за допомогою Raspberry Pi. Ми підключимо РК-дисплей до штифтів PIO GPIO (General Purpose Input Output) для відображення символів на ньому. Ми напишемо програму на PYTHON для надсилання відповідних команд на РК-дисплей через GPIO та відображення необхідних символів на його екрані. Цей екран стане в нагоді для відображення значень датчиків, стану переривань, а також для відображення часу.
На ринку існують різні типи РК-дисплеїв. Графічний РК є більш складним, ніж РК-дисплей 16x2. Отже, ми збираємося для РК-дисплея 16x2, ви навіть можете використовувати РК-дисплей 16x1, якщо хочете. РК-дисплей 16x2 має 32 символи, 16 у 1- му рядку та ще 16 у 2- му рядку. JHD162 - це РК-дисплей із символами РК- дисплея 16x2. Ми вже з'єднали РК-дисплей 16x2 з 8051, AVR, Arduino тощо. Ви можете знайти всі наші проекти, пов'язані з РК-дисплеєм 16x2, перейшовши за цим посиланням.
Ми поговоримо трохи про PI GPIO, перш ніж продовжувати далі.
У Raspberry Pi 2 є 40 вихідних штифтів GPIO. Але з 40 можна запрограмувати лише 26 штифтів GPIO (від GPIO2 до GPIO27). Деякі з цих штифтів виконують деякі спеціальні функції. Якщо відкласти спеціальний GPIO, у нас залишилось 17 GPIO.
На платі є штирі вихідної потужності + 5 В (контакт 2 або 4) та + 3,3 в (контакт 1 або 17), вони призначені для підключення інших модулів та датчиків. Ми збираємось живити РК-дисплей 16 * 2 через рейку + 5В. Ми можемо надіслати контрольний сигнал + 3,3 в на РК-дисплей, але для роботи РК-дисплея нам потрібно подати його на + 5 В. РК-дисплей не працюватиме з + 3,3 В.
Щоб дізнатись більше про штифти GPIO та їхні поточні виходи, перейдіть за посиланням: Світлодіод блимає з Raspberry Pi
Необхідні компоненти:
Тут ми використовуємо Raspberry Pi 2 Model B з ОС Raspbian Jessie. Усі основні вимоги до обладнання та програмного забезпечення обговорювались раніше, ви можете переглянути їх у Вступі про Raspberry Pi, крім того, що нам потрібно:
- З'єднувальні штифти
- 16 * 2 РК-модуль
- Резистор 1 кОм (2 шт.)
- Горщик 10 тис
- Конденсатор 1000 мкФ
- Макет
Схема та робоче пояснення:
Як показано на схемі, ми підключили Raspberry Pi з РК-дисплеєм, підключивши 10 штифтів PIO PI до 16 * 2 РК-дисплеїв для управління та передачі даних. Ми використовували GPIO Pin 21, 20, 16, 12, 25, 24, 23 і 18 як байт і створили функцію "PORT" для передачі даних на РК-дисплей. Тут GPIO 21 - LSB (найменший значущий біт), а GPIO18 - MSB (найзначніший біт).
РК-модуль 16x2 має 16 висновків, які можна розділити на п'ять категорій, висновки живлення, контрастні висновки, висновки управління, виводи даних та висновки підсвічування. Ось короткий опис про них:
Категорія |
Штифт НІ. |
Ім'я PIN-коду |
Функція |
Виводи живлення |
1 |
VSS |
Штифт заземлення, підключений до заземлення |
2 |
VDD або Vcc |
Контакт напруги + 5В |
|
Контрастний штифт |
3 |
V0 або VEE |
Налаштування контрасту, підключений до Vcc через змінний резистор. |
Контрольні шпильки |
4 |
RS |
Реєстрація Виберіть Pin, RS = 0 Командний режим, RS = 1 Режим даних |
5 |
RW |
Штифт для читання / запису, RW = 0 Режим запису, RW = 1 Режим читання |
|
6 |
Е |
Увімкнути, імпульсний сигнал із високим до низьким значенням повинен увімкнути РК-дисплей |
|
Шпильки даних |
7-14 |
D0-D7 |
Шпильки даних, зберігає дані для відображення на РК-дисплеї або командних інструкціях |
Шпильки підсвічування |
15 |
Світлодіод + або A |
Для живлення підсвічування + 5В |
16 |
LED- або K |
Підсвічування землі |
Ми настійно рекомендуємо просто ознайомитися з цією статтею, щоб зрозуміти, як РК-екран працює з його командами Pins і Hex.
Ми коротко обговоримо процес надсилання даних на РК:
1. E встановлено високим (увімкнення модуля), а RS встановлено низьким (повідомляє РК, що ми даємо команду)
2. Надання значення 0x01 порту даних як команда для очищення екрана.
3. E встановлено високим (увімкнення модуля), а RS встановлено високим (повідомляє РК, що ми передаємо дані)
4. Підтвердження коду ASCII для символів повинно відображатися.
5. E встановлено низьким (повідомляючи РК-дисплею, що ми закінчили надсилання даних)
6. Як тільки цей E-штифт занизиться, РК-дисплей обробляє отримані дані та показує відповідний результат. Отже, цей штифт встановлюється на високий рівень перед відправкою даних і зсувається на землю після надсилання даних.
Як вже було сказано, ми будемо відправляти героїв один за одним. Ці символи наведені на ЖК - дисплеї з допомогою ASCII кодів (Американський стандартний код для обміну інформацією). Таблиця кодів ASCII наведена нижче. Наприклад, щоб показати символ “@”, нам потрібно надіслати шістнадцятковий код “40”. Якщо ми дамо значення 0x73 на РК-дисплеї, він відобразить "s". Подібно до цього, ми збираємось надіслати відповідні коди на РК-дисплей, щоб відобразити рядок “ CIRCUITDIGEST ”.
Пояснення програмування:
Як тільки все буде підключено згідно з принциповою схемою, ми можемо увімкнути PI, щоб написати програму на PYHTON.
Ми поговоримо про декілька команд, які ми будемо використовувати в програмі PYHTON, Ми збираємось імпортувати файл GPIO з бібліотеки, функція нижче дозволяє програмувати GPIO штифти PI. Ми також перейменовуємо “GPIO” на “IO”, тому в програмі, коли ми хочемо посилатися на шпильки GPIO, ми будемо використовувати слово “IO”.
імпортувати RPi.GPIO як IO
Іноді, коли шпильки GPIO, які ми намагаємось використовувати, можуть виконувати деякі інші функції. У такому випадку ми отримаємо попередження під час виконання програми. Команда нижче вказує PI ігнорувати попередження та продовжувати роботу з програмою.
IO.setwarnings (False)
Ми можемо вказати шпильки GPIO PI або за номером контакту на борту, або за номером їх функції. Як і "PIN 29" на платі, це "GPIO5". Отже, ми говоримо тут, або ми будемо представляти шпильку тут як «29» або «5».
IO.setmode (IO.BCM)
Ми встановлюємо 10 штифтів GPIO як вихідні, для штифтів даних та управління РК-дисплеєм.
IO.setup (6, IO.OUT) IO.setup (22, IO.OUT) IO.setup (21, IO.OUT) IO.setup (20, IO.OUT) IO.setup (16, IO.OUT) IO.setup (12, IO.OUT) IO.setup (25, IO.OUT) IO.setup (24, IO.OUT) IO.setup (23, IO.OUT) IO.setup (18, IO.OUT)
в той час як команда 1: використовується як цикл назавжди, за допомогою цієї команди оператори всередині цього циклу будуть виконуватися безперервно.
Усі інші функції та команди описані в розділі "Код" нижче за допомогою "Коментарі".
Після написання програми та її виконання Raspberry Pi надсилає символи на РК-дисплей один за одним, і РК-дисплей відображає символи на екрані.