Raspberry Pi - це плата на основі процесора ARM, розроблена для інженерів-електронників та любителів. PI - одна з найбільш надійних платформ для розробки проектів, що існують зараз. Завдяки вищій швидкості процесора та 1 ГБ оперативної пам'яті, PI можна використовувати для багатьох важливих проектів, таких як обробка зображень та Інтернет речей.
Для виконання будь-якого з важливих проектів потрібно розуміти основні функції PI. У цих підручниках ми розглянемо всі основні функціональні можливості Raspberry Pi. У кожному підручнику ми обговоримо одну з функцій PI. До кінця циклу підручників ви зможете самостійно виконувати гучні проекти. Перевірте їх, щоб розпочати роботу з конфігурацією Raspberry Pi та Raspberry Pi.
Ми обговорювали світлодіодні блимаючі та кнопкові інтерфейси з Raspberry Pi у попередніх підручниках. У цьому підручнику з ШІМ Raspberry Pi ми поговоримо про отримання ШІМ-виходу за допомогою Raspberry Pi. ШІМ розшифровується як « Модуляція ширини імпульсу ». ШІМ - це метод, який використовується для виведення змінної напруги з постійного джерела живлення. Ми генеруємо ШІМ-сигнал від Raspberry PI та демонструємо ШІМ, змінюючи яскравість світлодіода, підключеного до Pi.
Модуляція ширини імпульсу:
Раніше ми вже неодноразово говорили про ШІМ в: Модуляція ширини імпульсу з ATmega32, ШІМ з Arduino Uno, ШІМ з 555 таймером IC та ШІМ з Arduino Due.
На малюнку вище, якщо перемикач постійно закривається протягом певного періоду, світлодіод протягом цього часу буде безперервно увімкнено. Якщо перемикач закритий на половину секунди і відкритий на наступну половину секунди, тоді світлодіод буде ввімкнено лише в першій половині секунди. Тепер пропорція, при якій світлодіод горить протягом усього часу, називається робочим циклом, і її можна обчислити наступним чином:
Цикл роботи = час включення / (час включення + час вимкнення)
Робочий цикл = (0,5 / (0,5 + 0,5)) = 50%
Отже, середня вихідна напруга складе 50% від напруги акумулятора.
Це стосується однієї секунди, і ми бачимо, що світлодіод вимикається на половину секунди, а індикатор горить іншу половину секунди. Якщо частота періодів увімкнення та вимкнення зросла з "1 на секунду" до "50 на секунду". Людське око не може вловити цю частоту. Для звичайного ока світлодіод буде видно, що світиться половиною яскравості. Тож із подальшим зменшенням часу включення світлодіод виглядає набагато світлішим.
Ми запрограмуємо PI для отримання ШІМ та підключимо світлодіод, щоб показати його роботу.
У Raspberry Pi є 40 вихідних штифтів GPIO. Але з 40 можна запрограмувати лише 26 штифтів GPIO (від GPIO2 до GPIO27). Щоб дізнатись більше про штифти GPIO, перейдіть до: Світлодіод блимає за допомогою Raspberry Pi
Необхідні компоненти:
Тут ми використовуємо Raspberry Pi 2 Model B з ОС Raspbian Jessie. Усі основні вимоги до обладнання та програмного забезпечення обговорювались раніше, ви можете переглянути їх у Вступі про Raspberry Pi, крім того, що нам потрібно:
- З'єднувальні штифти
- 220Ω або 1KΩ резистор
- СВІТЛОДІОДНИЙ
- Хлібна дошка
Пояснення схеми:
Як показано на схемі, ми збираємося підключити світлодіод між PIN35 (GPIO19) і PIN39 (земля). Як було сказано раніше, ми не можемо взяти більше 15 мА з будь-якого з цих висновків, тому для обмеження струму ми підключаємо резистор 220 Ом або 1 КОм послідовно зі світлодіодом.
Робоче пояснення:
Після того, як все підключено, ми можемо увімкнути Raspberry Pi, щоб написати програму на PYHTON і виконати її.
Ми поговоримо про декілька команд, які ми будемо використовувати в програмі PYHTON.
Ми збираємось імпортувати файл GPIO з бібліотеки, функція нижче дозволяє програмувати GPIO штифти PI. Ми також перейменовуємо “GPIO” на “IO”, тому в програмі, коли ми хочемо посилатися на шпильки GPIO, ми будемо використовувати слово “IO”.
імпортувати RPi.GPIO як IO
Іноді, коли шпильки GPIO, які ми намагаємось використовувати, можуть виконувати деякі інші функції. У такому випадку ми отримаємо попередження під час виконання програми. Команда нижче вказує PI ігнорувати попередження та продовжувати роботу з програмою.
IO.setwarnings (False)
Ми можемо вказати шпильки GPIO PI або за номером контакту на борту, або за номером їх функції. На схемі штифтів ви бачите, що на платі є «PIN 35» - «GPIO19». Отже, ми говоримо тут, або ми будемо представляти шпильку тут за допомогою «35» або «19».
IO.setmode (IO.BCM)
Ми встановлюємо GPIO19 (або PIN35) як вихідний штифт. Ми отримаємо ШІМ-вихід з цього виводу.
IO.setup (19, IO.IN)
Після встановлення виводу як вихідного нам потрібно встановити висновок як вихідного виводу ШІМ, p = IO.PWM (вихідний канал, частота ШІМ-сигналу)
Вищевказана команда призначена для налаштування каналу, а також для налаштування частоти ШІМ-сигналу. 'p' ось змінна, це може бути що завгодно. Ми використовуємо GPIO19 як вихідний канал ШІМ. " частоту ШІМ-сигналу " вибрано 100, оскільки ми не хочемо бачити, як світлодіод блимає.
Наведена нижче команда використовується для запуску генерації ШІМ-сигналу, ` ` DUTYCYCLE '' - для встановлення коефіцієнта включення , 0 означає, що світлодіод буде УВІМКНЕНО 0% часу, 30 означає, що світлодіод буде УВІМКНЕНО протягом 30% часу, а 100 означає повністю УВІМКНЕНО.
стор. старт (DUTYCYCLE)
Ця команда виконує цикл 50 разів, х збільшуючи від 0 до 49.
для x в діапазоні (50):
У той час як 1: використовується для нескінченності циклу. За допомогою цієї команди оператори всередині цього циклу будуть виконуватися безперервно.
З виконанням програми робочий цикл ШІМ-сигналу збільшується. А потім зменшується після досягнення 100%. За допомогою світлодіода, прикріпленого до цього PIN-коду, яскравість світлодіода спочатку збільшується, а потім зменшується.