Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
products:laboratory_iot_с:exp12 [2024/11/12 20:39] – создано labuser30products:laboratory_iot_с:exp12 [Дата неизвестна] (текущий) – удалено - внешнее изменение (Дата неизвестна) 127.0.0.1
Строка 1: Строка 1:
-===== Эксперимент 12. Функция управления яркостью ===== 
  
-Что ж, мы разобрались с принципом получения цвета, научились подключать RGB светодиод и даже успели поэкспериментировать с получением нужного цвета. Попробуем управлять цветом по определенному закону, по функции синуса. Подобное мы уже делали в [[products:laboratory_iot:exp9|эксперименте 9]].  
- 
-==== Схема эксперимента ==== 
-Оставим собранной без изменений схему из прошлого эксперимента 
- 
-{{ :products:esp-iot:6.2_sch.png?nolink |}} 
-//Рисунок 1. Электрическая принципиальная схема эксперимента// 
- 
-<WRAP center round alert 60%> 
-Токоограничительные резисторы в схеме обязательны! 
-</WRAP> 
- 
-{{ :products:esp-iot:exp6.2_mont.png?direct&600 |}} 
-//Рисунок 2. Монтажная схема эксперимента// 
- 
-==== Программный код эксперимента ==== 
- 
-<file python Exp11.py[enable_line_numbers="2", start_line_numbers_at="1"]> 
-from machine import Pin, PWM 
-import math 
-import time 
-_init() 
- 
-LedPinB = 15 
-LedPinG = 14 
-LedPinR = 13 
- 
-ledB = Pin(LedPinB, Pin.OUT) 
-ledG = Pin(LedPinG, Pin.OUT) 
-ledR = Pin(LedPinR, Pin.OUT) 
- 
-pwmB = PWM(ledB) 
-pwmG = PWM(ledG) 
-pwmR = PWM(ledR) 
- 
-pwmB.freq(500) 
-pwmG.freq(500) 
-pwmR.freq(500) 
- 
-while True: 
-    for i in range(100): 
-        pwmB.duty(int(math.sin(i / 50 * math.pi) * 500 + 500)) 
-        time.sleep_ms(30) 
-</file> 
- 
-В этой программе мы разбили период синуса на 100 шагов и устанавливаем яркость синего цвета на каждом шаге в соответствии с формулой. После чего даем возможность светодиоду светить 30 миллисекунд с установленной яркостью прежде, чем мы ее изменим на следующем шаге. 
- 
-==== Дополнительные задания ==== 
- 
-<WRAP center round tip 60%> 
-Попробуй ускорить или замедлить процесс изменения цвета с помощью изменения количества шагов и/или времени задержки на каждом шаге 
-</WRAP>