LED
Фабричная функция pibody.LED() возвращает объект Pin, настроенный как цифровой выход. Используйте его для управления светодиодом, реле или любой нагрузкой типа вкл/выкл, подключённой к слоту PiBody.
Базовое использование
LED(slot) -> Pin
Чтобы создать объект LED, вызовите LED(slot).
Аргументы:
slot (string | int | tuple)— метка слота ("A", "B", "C", "D", "E", "F", "G", "H"), порт пина (0, 2 и т.д.), кортеж (0, Pin.OUT)
Возвращает:
Возвращает цифровой выход Pin для slot.
from pibody import LED
led = LED("A")
.on()
Включает подключённый светодиод.
led.on() # включить
.off()
Выключает подключённый светодиод.
led.off() # выключить
.value(value | None) -> None | float
Получить или установить значение пина.
Аргументы:
value (float)— необязательный параметр, включает или выключает в зависимости от состояния: 0 или 1
Возвращает текущее состояние (0 или 1) при вызове без аргумента, иначе устанавливает значение и возвращает None.
# Включает, то же что led.on()
led.value(1)
print(led.value()) # 1
# Выключает, то же что led.off()
led.value(0)
print(led.value()) # 0
.toggle()
Изменяет состояние светодиода на противоположное.
led.on() # включить
led.toggle() # выключить
print(led.value()) # 0
Другие функции
.high()
Устанавливает высокий уровень выхода с помощью этого эквивалентного метода:
# То же что led.on()
led.high()
.low()
Устанавливает низкий уровень выхода с помощью этого эквивалентного метода:
# То же что led.off()
led.low()
ШИМ
Вы можете использовать pibody.PWM для управления модулем LED и регулировки его яркости — не только вкл/выкл.
Светодиод быстро включается и выключается быстрее, чем может заметить глаз. Мозг усредняет это в воспринимаемый уровень яркости.
Параметры
-
freq— сколько раз в секунду мигает светодиод- Ниже 50 Гц — видимое мерцание (полезно для привлечения внимания)
- 100–200 Гц — в основном стабильно, может мерцать в периферийном зрении
- 500–5000 Гц — выглядит полностью стабильным для человеческого глаза. Начните с 1000 Гц
- Более высокие значения допустимы, но не будут выглядеть иначе; они используют больше ресурсов CPU
-
duty— какая часть каждого мигания светодиод включён (0.0 до 1.0)- 0 = полностью выключен
- 0.25 = тускло
- 0.5 = половина яркости
- 0.75 = ярко
- 1.0 = полностью включён (то же что
led.on())
Базовый пример
from pibody import PWM
led = PWM("A")
led.freq(1000) # 1 кГц — стабильно для глаза
led.duty(0.5) # половина яркости
Плавный эффект затухания
from pibody import PWM
from time import sleep
led = PWM("A")
led.freq(1000)
while True:
for i in range(0, 101, 1): # увеличение
led.duty(i / 100)
sleep(0.01)
for i in range(100, -1, -1): # уменьшение
led.duty(i / 100)
sleep(0.01)