Вы знаете, эти игровые ПК с их удивительными светодиодами, вращающимися вокруг? Ну, у меня нет одного из них. Но I являюсь Обучение Linux на моей Raspberry Pi. И я учусь быстрее, работая над забавными небольшими боковыми проектами. Поэтому я решил спешить с помощью моей малины Pi, используя Pimoroni Blinkht. .
В этом посту мы собираемся написать маленький сценарий Python, а в следующий пост Мы включаем светодиоды в качестве фонового процесса при запуске и снова выключайте их во время отключения.
Настройка Pimoroni Blinktt
Настройка Blinkt довольно прямо вперед. Сначала убедитесь, что поместите Blinkt на 40-контактный заголовок PI Raspberry Pi. Округлые углы Blinkt должны выровнять с закругленным углом PI.
Убедитесь, что вы вошли в ваш PI, а в Terminal Run
$ curl https://get.pimoroni.com/blinkt | bash
Это установит программное обеспечение, которое вам нужно будет запустить Blinkt. Мы используем Документация Чтобы узнать, как настроить линейный синий/фиолетовый узор.
Создайте и откройте новый файл Python в вашем терминале. В моем случае я создал один в папке Pimoroni:
$ nano Pimoroni/blue_purple.py
Я сделал это, используя нано
редактор. Вы также можете создать файл другого способа и открыть его в предпочтительном редакторе.
Импортные зависимости
Во-первых, нам нужно импортировать библиотеки, которые нам нужны. В верхней части файла мы импортируем Blinkt
Чтобы контролировать светодиоды, время
создавать тайм-ауты и numpy
создать целый ряд десятичных знаков.
#!/usr/bin/env python import blinkt import time import numpy
Переменные
Создайте список цветов в формате RGB. С этим я имею в виду, что мы создаем список списков. Каждый маленький список содержит номер для R, G и B.
Тогда мы используем numpy
Создать диапазон плавающихся между 0
и 0,5
Отказ Диапазон изготовлен из шагов 0,03
Отказ Этот диапазон поможет нам постепенно зажечь каждый пиксель.
COLOR_LIST = [[0, 127, 255], [0, 0, 255], [127, 0, 255], [255, 0, 255], [255, 0, 127]] BRIGHTNESS_RANGE = numpy.arange(0, 0.5, 0.03)
Добавьте следующий скрипт, чтобы убедиться, что если сценарий останавливается, светодиоды очищаются.
blinkt.set_clear_on_exit()
Установка пикселей
Мы создадим функцию, которая принимает пиксель, цвета RGB и диапазон значений, которые представляют собой различные яркости в качестве аргументов. Он будет включать в список значений для яркости и для каждой значения яркости он установит пиксель с правильным цветом.
def set_brightness(pixel, r, g, b, brightRange): for brightness in brightRange: blinkt.set_pixel(pixel, r, g, b, brightness) blinkt.show() # we need to run show after setting the pixel # otherwise we won't see anything change. time.sleep(0.01) # give it a little time to add a slight effect.
Во время петли
Теперь мы собираемся добраться до настоящего цикла, которая собирается сделать наш пиморони Blinkt Light.
Мы собираемся начать цикл и внутреннюю петлю на каждом цветовом массиве в Color_list
Отказ
Когда мы запускаем скрипт внутри терминала и нажмите Ctrl-C.
Это бросит ключ на клавиатуре напряжение. Потому что мы хотим убедиться, что мы можем остановить наш Пока правда
петля, мы используем попробуйте
и слушать исключение, чтобы остановить петлю.
Библиотека Blinkt имеет собственную константу под названием Blinkt. Num_pixels
Это вырывает количество пикселей, доступных на устройстве. Для каждого пикселя мы называем Set_Brights
функция. Передаем цвета пикселей и RGB вместе с Brightness_range
Отказ
try: while True: for color in COLOR_LIST: for pixel in range(blinkt.NUM_PIXELS): set_brightness(pixel, color[0], color[1], color[2], BRIGHTNESS_RANGE) for pixel in reversed(range(blinkt.NUM_PIXELS)): set_brightness(pixel, color[0], color[1], color[2], reversed(BRIGHTNESS_RANGE)) except KeyboardInterrupt: pass
Потому что мы хотим, чтобы пиксели зажечь, а затем постепенно выключаются снова, мы делаем обратное для петли. Увидеть разницу между ними? Мы используем обратный (диапазон (Blinkt. Num_pixels))
И мы также отправляем обратный Brightness_range
Отказ
Это сейчас! Попробуйте, сохранив файл и запустил его:
$ python blue_purple.py
Чтобы остановить скрипт, используйте Ctrl-C
Отказ
Это только первая часть. В следующем посте мы настроим нашу Raspberry Pi, чтобы он начнут запустить этот сценарий в качестве фонового процесса при запуске, и закрыть его, когда мы закрыли PI.
Проверить Готовый скрипт
Источники: Начните с Blinkt Pimoroni Blinktt Documentation Keyboardintrupt
Оригинал: “https://dev.to/khenhey/beautify-your-raspberry-pi-with-the-pimoroni-blinkt-2ld6”