Paso 5: código
Código derivado de http://owenmundy.com/blog/2010/05/fading-an-led-with-pwm-and-a-potentiometer/int RpotPin = 0; Clavija de entrada analógica que el potenciómetro rojo está conectado a
int RpotValue = 0; valor leído de la olla
int GpotPin = 1; Clavija de entrada analógica que el potenciómetro verde está conectado a
int GpotValue = 0; valor leído de la olla
int BpotPin = 2; Clavija de entrada analógica que está conectado el potenciómetro azul a
int BpotValue = 0; valor leído de la olla
int Rled = 9; Pin PWM que el LED rojo está encendido.
int Gled = 10; Pin PWM que el LED verde está encendido.
int Bled = 11; Pin PWM que el LED azul está encendido.
/*
El circuito:
* Perno del LCD RS para pin digital 13
* LCD Enable pin a pin digital 12
* D4 LCD pin a pin digital 5
* D5 LCD pin a pin digital 4
* LCD D6 pin al pin digital 3
* LCD D7 pin al pin digital 2
* LCD R/W pin a tierra
* 10K resistencia:
* termina a + 5V y tierra
* limpiaparabrisas a pin (pin 3) del LCD VO
*/
incluir el código de biblioteca:
#include < LiquidCrystal.h >
inicializar la biblioteca con los números de los pines de interfaz
LiquidCrystal lcd (13, 12, 5, 4, 3, 2);
void setup() {}
declarar el rojo, verde y azul led pines como salidas de un:
pinMode (Rled, salida);
pinMode (Gled, salida);
pinMode (Bled, salida);
fijar número la pantalla del LCD de filas y columnas:
LCD.Begin (16, 2);
Imprimir un mensaje en la pantalla LCD.
LCD.Print ("rojo verde azul");
}
void loop() {}
RpotValue = analogRead(RpotPin); leer el valor del pote
analogWrite (Rled, RpotValue/4); PWM el LED rojo con el valor del pote (dividido por 4 para caber en un byte)
Delay(10); esperar 10 milisegundos antes del siguiente bucle
GpotValue = analogRead(GpotPin); leer el valor del pote
analogWrite (Gled, GpotValue/4); PWM el LED verde con el valor del pote (dividido por 4 para caber en un byte)
Delay(10); esperar 10 milisegundos antes del siguiente bucle
BpotValue = analogRead(BpotPin); leer el valor del pote
analogWrite (Bled, BpotValue/4); PWM LED azul con el valor del pote (dividido por 4 para caber en un byte)
Delay(10); esperar 10 milisegundos antes del siguiente bucle
establecer el cursor a la columna 0, línea 1
(Nota: la línea 1 es la segunda fila, ya que cuenta comienza con 0):
lcd.setCursor (0, 1);
LCD.Print(RpotValue/4);
Delay(140);
lcd.setCursor (6, 1);
LCD.Print(GpotValue/4);
Delay(140);
lcd.setCursor (12, 1);
LCD.Print(BpotValue/4);
Delay(140);
}