• I






      
           

Научно-популярный образовательный ресурс для юных и начинающих радиолюбителей - Popular science educational resource for young and novice hams

Основы электричества, учебные материалы и опыт профессионалов - Basics of electricity, educational materials and professional experience

КОНКУРС
language
 
Поиск junradio

Радиодетали
ОК
Сервисы

Stock Images
Покупка - продажа
Фото и изображений


 
Выгодный обмен
электронных валют

Друзья JR



JUNIOR RADIO

Светодиодная лента Raspberry Pi
с использованием APA102

 

Помимо того, что мы покажем вам, как подключить светодиодную ленту APA102 к Pi, мы также покажем вам, как использовать пакеты Python « apa102-pi » для взаимодействия с полосой и изменения цвета отдельных светодиодов. APA102 - одна из немногих светодиодных лент RGB, которые можно легко использовать с Raspberry Pi. Эта простота использования достигается благодаря тому, что он использует протокол SPI для своих данных с одной линией синхронизации и одной линией данных. Одним из наиболее значительных преимуществ APA102 является то, что он не так чувствителен к времени. Отсутствие необходимости в критическом времени имеет решающее значение для Raspberry Pi, поскольку он не очень хорошо поддерживает критическое время.

 

 

Вы можете расширить этот проект, используя датчик или другие устройства для управления цветом светодиодной ленты. Например, вы можете установить датчик температуры и изменить цвет в зависимости от того, насколько жарко или холодно. Подключение светодиодной ленты APA102 к Raspberry Pi К счастью для нас, светодиодная лента APA102 - одна из немногих светодиодных лент, которые можно легко подключить к Raspberry Pi благодаря APA102, использующему для управления соединение SPI. Мы включили письменные инструкции и схему, которые помогут вам подключить светодиодную ленту APA102.

Подключите положительный контакт ( + ) переходника постоянного тока к разъему VCC на APA102 . Подключите  отрицательный контакт  ( - ) адаптера постоянного тока к  физическому контакту 6  ( GND ) на Raspberry Pi и соединению GND на светодиодной полосе APA102. Подключите SDI ( DI ) соединение APA102 к физическому выводу 19 ( MOSI ) на Raspberry Pi. Подключите соединение CKI ( CI ) APA102 к физическому выводу 23 ( SCLK ) на Raspberry Pi.

Если приведенные выше письменные инструкции смущают вас, вам следует проверить диаграмму ниже, поскольку она показывает, куда должно идти каждое соединение. Убедитесь, что вы подключили заземление светодиодной ленты APA102 как к адаптеру постоянного тока, так и к самому Raspberry Pi. Если вы этого не сделаете, светодиодная лента не будет работать правильно, так как для этого требуются оба соединения. Мы используем внешний источник питания, поскольку Raspberry Pi не может обеспечить ток, необходимый для длинных светодиодных лент. Требуемая мощность может повредить Raspberry Pi.

 

 

Калибровка APA102 с помощью Raspberry Pi В этом руководстве мы используем последнюю версию. Для лучшей совместимости мы рекомендуем использовать Raspbian.

1. Первое, что нам нужно сделать, прежде чем мы начнем писать код для управления APA102, - это обновить Raspberry Pi, выполнив следующие две команды.

sudo apt-get update

sudo apt-get upgrade

2. Теперь, когда операционная система Raspberry Pi обновлена, мы можем приступить к установке Python 3 и его  модуля pip . Чтобы установить пакеты, необходимые для управления нашей светодиодной лентой APA102, выполните следующую команду.

sudo apt-get install python3 python3-dev python3-pip

3.Теперь мы можем продолжить и установить пакет Python apa102-pi .

Этот пакет разработан для Raspberry Pi, чтобы выполнять всю тяжелую работу по разговору и отправке данных на светодиодную ленту APA102. Установите пакет Python APA102, выполнив следующую команду.

sudo pip3 install apa102-pi

4.Теперь, когда у нас установлены пакеты Python « apa102-pi » на Raspberry Pi, мы можем написать базовый сценарий Python. Мы будем использовать этот скрипт для работы с цветовым порядком нашего APA102. Выполните следующую команду, чтобы начать запись файла Python, который мы назовем « rgbcalibrate.py ».

nano ~/rgbcalibrate.py

5.В этом файле введите следующие строки кода. Мы объясним, что делает каждый раздел по мере продвижения.

from apa102_pi.driver import apa102

Для начала импортируем в наш скрипт библиотеку « apa102 ». Мы будем использовать эту библиотеку для общения с нашей светодиодной лентой APA102.

strip = apa102.APA102(num_led=150, order='rgb')

Здесь мы создаем экземпляр библиотеки apa102 для нашего объекта « полосы ». Сюда мы передаем пару переменных.

num_led - эта переменная определяет количество светодиодов в вашей полосе. Вы можете подсчитать количество светодиодов вручную или рассчитать это, умножив количество светодиодов на метр на длину вашей полосы в метрах. Например, используемая нами светодиодная лента имеет длину 5 метров и 30 светодиодов на метр. Использование математики означает, что количество светодиодов на всю полосу равно 150. order - эта переменная определяет порядок цвета светодиодной ленты, по умолчанию мы установим для него значение « rgb ». Цель этого раздела - выяснить, правильно это или нет.

strip.clear_strip()

Здесь мы вызываем объекты « полосы », функцию « clear_strip () ». Эта функция отключит все светодиоды на полосе и оставит ее полностью пустой.

strip.set_pixel_rgb(1,  0xFF0000)  # Red

strip.set_pixel_rgb(2, 0x00FF00)  # Green

strip.set_pixel_rgb(3, 0x00FF00)  # Green

strip.set_pixel_rgb(4, 0x0000FF)  # Blue

strip.set_pixel_rgb(5, 0x0000FF)  # Blue

strip.set_pixel_rgb(6, 0x0000FF)  # Blue

Затем мы используем объекты « полосы », функцию « set_pixel_rgb () », чтобы мы могли определить цвет, который нужно установить для отдельных светодиодов. Эти объекты помещаются в буфер. Первый аргумент функции « set_pixel_rgb » определяет номер светодиода, цвет которого мы устанавливаем. Второй аргумент определяет цвет для выбранного светодиода. Цвет задается с помощью шестнадцатеричного кода . Например, 0xFF0000 - чистый красный цвет. Мы используем этот код для установки светодиодов в следующем порядке: один красный, два зеленых и три синих. Мы делаем это, чтобы убедиться, что « rgb » - это правильный порядок цветов для нашей светодиодной ленты APA102.

strip.show()

Эта функция сообщает библиотеке APA102, что теперь она должна протолкнуть буфер, который мы установили с помощью функции « set_pixel_rgb () », на светодиодную ленту. Эта функция и загорится светодиодной лентой.

strip.cleanup()

Наконец, прежде чем скрипт завершит выполнение, нам нужно запустить функцию « cleanup () » объекта полосы . Эта функция очищает все соединения и подготавливает их, чтобы мы могли снова легко разговаривать с APA102.

6. Как только все будет введено в файл, он должен выглядеть так, как показано ниже. Когда вы убедитесь, что все правильно, вы можете сохранить файл, нажав CTRL + X, затем Y, а затем ENTER .

from apa102_pi.driver import apa102

 

strip = apa102.APA102(num_led=150, order='rgb')

 

strip.clear_strip()

 

strip.set_pixel_rgb(0,  0xFF0000)  # Red

strip.set_pixel_rgb(1, 0x00FF00)  # Green

strip.set_pixel_rgb(2, 0x00FF00)  # Green

strip.set_pixel_rgb(3, 0x0000FF)  # Blue

strip.set_pixel_rgb(4, 0x0000FF)  # Blue

strip.set_pixel_rgb(5, 0x0000FF)  # Blue

 

strip.show()

 

strip.cleanup()

 Тестирование скрипта Python

1.Теперь, когда мы закончили писать наш сценарий « rgbcalibrate.py », мы можем продолжить и запустить его, выполнив следующую команду.

python3 ~/rgbcalibrate.py

2.Светодиодная лента APA102 должна загореться. Если порядок цветов, который мы указали, правильный и все работает должным образом, вы должны увидеть 1 красный светодиод, 2 зеленых светодиода и 3 синих светодиода. Если порядок цветов был правильным, значит, вы успешно подключили светодиодную ленту APA102 к Raspberry Pi. Больше ничего делать не нужно. Если порядок цветов неправильный, запишите это. Например, если порядок цветов синий, зеленый, красный, запишите это как « bgr », так как вам нужно будет немного изменить сценарий « rgbcalibrate.py ». В сценарии найдите строку « order = 'rgb' » и измените ее раздел « rgb », чтобы он соответствовал порядку цветов, который отображался на вашей светодиодной полосе. Вы можете убедиться, что это изменение было правильным, сохранив и повторно запустив сценарий и наблюдая за порядком цвета, отображаемым на светодиодной полосе. Как я уже упоминал ранее в этом руководстве, светодиодная лента Raspberry Pi RGB имеет множество применений. Например, вы можете использовать его для отображения того, какое давление прикладывается к датчику силы . Красный - большое давление, зеленый - слабое давление или его отсутствие. На этом этапе вы должны были успешно подключить светодиодную ленту APA102 к Raspberry Pi и протестировать пару светодиодов с помощью библиотеки Python apa102-pi .




Необходимо добавить материалы...
Результат опроса Результаты Все опросы нашего сайта Архив опросов
Всего голосовало: 373



          

Радио для всех© 2024