Raspberry Pi - это плата на базе процессора с архитектурой ARM, разработанная для инженеров-электронщиков и любителей. PI сейчас является одной из самых надежных платформ для разработки проектов. Благодаря более высокой скорости процессора и 1 ГБ оперативной памяти PI может использоваться для многих крупных проектов, таких как обработка изображений и Интернет вещей.
Для выполнения любого из громких проектов необходимо понимать основные функции PI. В этих уроках мы рассмотрим все основные функции Raspberry Pi. В каждом туториале мы обсудим одну из функций PI. К концу серии руководств вы сможете самостоятельно выполнять громкие проекты. Проверьте их, чтобы начать работу с Raspberry Pi и конфигурацией Raspberry Pi.
Мы обсуждали мигание светодиода и интерфейс кнопок с Raspberry Pi в предыдущих уроках. В этом руководстве Raspberry Pi PWM мы поговорим о получении вывода PWM с помощью 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 OS. Все основные требования к оборудованию и программному обеспечению обсуждаются ранее, вы можете найти их во введении Raspberry Pi, кроме того, что нам нужно:
- Соединительные штифты
- Резистор 220 Ом или 1 кОм
- СВЕТОДИОД
- Хлебная доска
Описание схемы:
Как показано на принципиальной схеме, мы собираемся подключить светодиод между PIN35 (GPIO19) и PIN39 (земля). Как было сказано ранее, мы не можем потреблять более 15 мА с любого из этих контактов, поэтому для ограничения тока мы подключаем резистор 220 Ом или 1 кОм последовательно со светодиодом.
Рабочее объяснение:
Как только все будет подключено, мы можем включить Raspberry Pi, чтобы написать программу в PYHTON и запустить ее.
Мы поговорим о нескольких командах, которые мы собираемся использовать в программе PYHTON.
Мы собираемся импортировать файл GPIO из библиотеки, функция ниже позволяет нам программировать контакты GPIO PI. Мы также переименовали «GPIO» в «IO», поэтому в программе всякий раз, когда мы хотим обратиться к контактам GPIO, мы будем использовать слово «IO».
импортировать RPi.GPIO как IO
Иногда, когда контакты GPIO, которые мы пытаемся использовать, могут выполнять другие функции. В этом случае мы будем получать предупреждения при выполнении программы. Команда ниже указывает PI игнорировать предупреждения и продолжить выполнение программы.
IO.setwarnings (Ложь)
Мы можем ссылаться на контакты GPIO PI, либо по номеру контакта на плате, либо по номеру их функции. На схеме контактов вы можете увидеть, что «PIN 35» на плате - «GPIO19». Итак, мы говорим здесь, что будем обозначать булавку цифрой «35» или «19».
IO.setmode (IO.BCM)
Мы устанавливаем GPIO19 (или PIN35) как выходной контакт. Мы получим вывод ШИМ с этого вывода.
IO.setup (19, IO.IN)
После установки контакта в качестве выхода нам нужно настроить контакт как выходной контакт PWM, p = IO.PWM (выходной канал, частота сигнала ШИМ)
Вышеупомянутая команда предназначена для настройки канала, а также для настройки частоты сигнала ШИМ. 'p' здесь переменная, это может быть что угодно. Мы используем GPIO19 в качестве выходного канала ШИМ. « частота сигнала ШИМ » была выбрана равной 100, так как мы не хотим видеть мигание светодиода.
Команда ниже используется для запуска генерации ШИМ-сигнала, « DUTYCYCLE » - для установки коэффициента включения, 0 означает, что светодиод будет включен в течение 0% времени, 30 означает, что светодиод будет включен в течение 30% времени, а 100 означает полностью включен.
p.start (DUTYCYCLE)
Эта команда выполняет цикл 50 раз, при этом x увеличивается от 0 до 49.
для x в диапазоне (50):
Пока 1: используется для бесконечного цикла. С помощью этой команды операторы внутри этого цикла будут выполняться непрерывно.
При выполнении программы рабочий цикл сигнала ШИМ увеличивается. А затем уменьшается по достижении 100%. Если к этому контакту подключен светодиод, яркость светодиода сначала увеличивается, а затем уменьшается.