Raspberry Pi - це плата на основі процесора ARM, розроблена для інженерів-електронників та любителів. PI - одна з найбільш надійних платформ для розробки проектів, що існують зараз. Завдяки вищій швидкості процесора та 1 ГБ оперативної пам'яті, PI можна використовувати для багатьох важливих проектів, таких як обробка зображень та Інтернет речей.
Для виконання будь-якого з важливих проектів потрібно розуміти основні функції PI. У цих підручниках ми розглянемо всі основні функціональні можливості Raspberry Pi. У кожному підручнику ми обговоримо одну з функцій PI. До кінця цієї серії підручників Raspberry Pi ви зможете самостійно виконувати гучні проекти. Пройдіть нижче підручники:
- Початок роботи з Raspberry Pi
- Конфігурація Raspberry Pi
- Світлодіод блимає
- Інтерфейс кнопки Raspberry Pi
- Покоління ШІМ Raspberry Pi
- Керування двигуном постійного струму за допомогою Raspberry Pi
- Управління кроковим двигуном з Raspberry Pi
- Реєстр зсуву зв’язку з Raspberry Pi
У цьому підручнику ми будемо взаємодіяти ємнісний тачпад з Raspberry Pi. Ємнісна сенсорна панель має 8 клавіш від 1 до 8. Ці клавіші не зовсім клавіші, це сенсорні панелі, розміщені на друкованій платі. Коли ми торкаємося однієї з подушечок, колодки відчувають зміну ємності на її поверхні. Ця зміна фіксується блоком управління та блоком управління, як відповідь тягне відповідний штифт високо на вихідній стороні.
Ми приєднаємо цей ємнісний сенсорний модуль сенсорної панелі до Raspberry Pi, щоб використовувати його як вхідний пристрій для PI.
Ми поговоримо трохи про Raspberry Pi GPIO Pins, перш ніж продовжувати далі.
GPIO шпильки:
Як показано на малюнку вище, є 40 вихідних штифтів для PI. Але коли ви подивитесь на другу фігуру нижче, ви побачите, що не всі 40 висновків можуть бути запрограмовані для нашого використання. Це лише 26 штифтів GPIO, які можна запрограмувати. Ці штифти переходять від GPIO2 до GPIO27.
Ці 26 штифтів GPIO можна програмувати відповідно до потреб. Деякі з цих штифтів також виконують деякі спеціальні функції, про що ми поговоримо пізніше. Якщо відкласти спеціальний GPIO, у нас залишилось 17 GPIO (світло-зелений колір).
Кожен з цих 17 контактів GPIO може подавати максимум 15 мА струму. А сума струмів від усіх GPIO не може перевищувати 50 мА. Таким чином, ми можемо отримати в середньому максимум 3 мА з кожного з цих штифтів GPIO. Тож не слід втручатися у ці речі, якщо ви не знаєте, що робите.
Тепер ще одна важлива річ полягає в тому, що логічний контроль PI складає + 3,3 в, тому ви не можете надати логіку більше + 3,3 В на штифт GPIO PI. Якщо ви даєте + 5 В на будь-який штифт GPIO PI, плата пошкоджується. Тому нам потрібно живити ємнісну тачпад на + 3,3 В, щоб отримати належні логічні виходи для PI.
Необхідні компоненти:
Тут ми використовуємо Raspberry Pi 2 Model B з ОС Raspbian Jessie. Усі основні вимоги до обладнання та програмного забезпечення обговорювались раніше, ви можете переглянути їх у Вступі про Raspberry Pi, крім того, що нам потрібно:
- З'єднувальні штифти
- Ємнісна сенсорна панель
Кругова діаграма:
З'єднання, які виконуються для ємнісної взаємодії тачпада, показані на схемі вище.
Пояснення до роботи та програмування:
Як тільки все буде підключено згідно з принциповою схемою, ми можемо увімкнути 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)
Ми встановлюємо 8 контактів як вихідні. Ми виявимо 8 ключових виходів з ємнісної сенсорної панелі.
IO.setup (21, IO.IN) IO.setup (20, IO.IN) IO.setup (16, IO.IN) IO.setup (12, IO.IN) IO.setup (25, IO.IN) IO.setup (24, IO.IN) IO.setup (23, IO.IN) IO.setup (18, IO.IN)
Якщо умова в фігурних дужках є істинним, оператори всередині циклу виконуються один раз. Отже, якщо штифт 21 GPIO піднімається високо, тоді оператори всередині циклу IF виконуються один раз. Якщо штифт 21 GPIO не йде високо, тоді оператори всередині циклу IF не будуть виконуватися.
if (IO.input (21) == True):
Команда нижче використовується як назавжди цикл, за допомогою цієї команди оператори всередині цього циклу будуть виконуватися постійно.
Поки 1:
Після того, як ми напишемо наведену нижче програму на PYTHON і виконаємо її, ми готові до роботи. Коли торкається майданчика, модуль витягує відповідний штифт, і цей тригер виявляється PI. Після виявлення PI друкує відповідну клавішу на екрані.
Отже, у нас є взаємодіюча ємнісна сенсорна панель до PI.