# FUNCIONAMIENTO :CONTROLAR EL COLR DEL LED RGB CON 3 POTENCIÓMETROS
# POTENCIÓMETRO ROJO---> GPIO 26
# POTENCIÓMETRO VERDE---> GPIO 27
# POTENCIÓMETRO AZUL---> GPIO 28
# LED RGB ---> GPIO
# red = GPIO 10
# green = GPIO 11
# blue = GPIO 12
from machine import Pin, PWM, ADC
from time import sleep
#**************************************************
# CONFIGUARACIÓN SALIDA PWM ROJO en el pin GPIO 13
#
pin_rojo = Pin(10)
ledrojo = PWM(pin_rojo)
# Configurar la frecuencia PWM (en Hz)
ledrojo.freq(1000) # Frecuencia de 1000 Hz (1 kHz)
# Configurar el ciclo de trabajo (duty cycle) PWM (entre 0 y 65535)
ledrojo.duty_u16(0) # Duty cycle del 0%
#*************************************************
#**************************************************
# CONFIGUARACIÓN SALIDA PWM VERDE en el pin GPIO 14
#
pin_verde = Pin(11)
ledverde = PWM(pin_verde)
# Configurar la frecuencia PWM (en Hz)
ledverde.freq(1000) # Frecuencia de 1000 Hz (1 kHz)
# Configurar el ciclo de trabajo (duty cycle) PWM (entre 0 y 65535)
ledverde.duty_u16(0) # Duty cycle del 0%
#*************************************************
#**************************************************
# CONFIGUARACIÓN SALIDA PWM AZUL en el pin GPIO 15
#
pin_azul = Pin(12)
ledazul = PWM(pin_azul)
# Configurar la frecuencia PWM (en Hz)
ledazul.freq(1000) # Frecuencia de 1000 Hz (1 kHz)
# Configurar el ciclo de trabajo (duty cycle) PWM (entre 0 y 65535)
ledazul.duty_u16(0) # Duty cycle del 0%
#*************************************************
# CONFIGUARA ENTRADAS ANALÓGICAS (POTENCIÓMETROS)
# Configurar el pin ADC ROJO (PIN 26)
poterojo = Pin(26)
inrojo = ADC(poterojo)
# ***********************************
# Configurar el pin ADC VERDE (PIN 27)
poteverde = Pin(27)
inverde = ADC(poteverde)
#***********************************
# Configurar el pin ADC ROJO (PIN 28)
poteazul = Pin(28)
inazul = ADC(poteazul)
#************************************************************
# Bucle principal para cambiar el duty cycle con el tiempo
while True:
valor_rojo = inrojo.read_u16() # Lee ROJO un valor de 0 a 65535
ledrojo.duty_u16(int(valor_rojo)) # Varía la intensidad del LED
print(valor_rojo) # Imprime de 0 a 65535
valor_verde = inverde.read_u16() # Lee VERDE un valor de 0 a 65535
ledverde.duty_u16(int(valor_verde)) # Varía la intensidad del LED
print(valor_verde) # Imprime de 0 a 65535
valor_azul = inazul.read_u16() # Lee AZUL un valor de 0 a 65535
ledazul.duty_u16(valor_azul) # Varía la intensidad del LED
print(valor_azul) # Imprime de 0 a 65535
sleep(.1)
#*****************************************************************
#******************************************************************
"""
from machine import Pin, PWM,ADC
from time import sleep
# CONFIGUARACIÓN SALIDA PWM PIN 16
# Configurar la salida PWM en el pin GPIO 16
pwm_pin = Pin(16)
pwm = PWM(pwm_pin)
# Configurar la frecuencia PWM (en Hz)
pwm.freq(1000) # Frecuencia de 1000 Hz (1 kHz)
# Configurar el ciclo de trabajo (duty cycle) PWM (entre 0 y 65535)
pwm.duty_u16(0) # Duty cycle del 0%
# CONFIGUARA ENTRADA ANALÓGICA PIN26 (POTENCIÓMETRO)
# Configurar el pin ADC
adc_pin = Pin(26)
adc = ADC(adc_pin)
# Bucle principal para cambiar el duty cycle con el tiempo
while True:
adc_value = adc.read_u16() # Lee un valor de 0 a 65535
pwm.duty_u16(int(adc_value)) # Varía la intensidad del LED
print(adc_value) # Imprime de 0 a 65535
sleep(.1)
"""
Loading
pi-pico-w
pi-pico-w