Paso 3: Entender el bosquejo
El archivo en la parte inferior de esta página es el Arduino Sketch para que no tenga que copiar y pegar de aquí. Creo que hice un trabajo bastante bueno teniendo en cuenta el bosquejo para que sea fácil de entender. Si me falta algo o estoy totalmente equivocado en algo plaese me avisas./*
Rueda de Color RGB con comunicación Serial
Indivigually controlar el brillo de cada color en un LED RGB
utilizando 6 pulsadores había conectado a pins 7 a 2. Los pulsadores
sobre el número aun pernos aclarará el corosponding
LED y la impar numeradas unos les atenuará. RGB se adjuntará
a los pines 9, 10 y 11.
El circuito:
* RBGB LED con ánodo común a + 5V
* Rojo cátodo conectado al pin 9 lanzó resistencia de 220 Ohm
* Azul cátodo conectado al pin 10 lanzó el resistor de 470 Ohm
* Verde cátodo conectado al pin 11 arrojaron resistencia de 1000 Ohm
* pulsador conectado al pin 2 de tierra 1
* pulsador conectado al pin 3 de la tierra 2
* pulsador conectado al pin 4 de tierra de 3
* pulsador conectado al pin 5 de tierra de 4
* pulsador conectado al pin 6 de tierra de 5
* pulsador conectado al pin 7 de tierra de 6
Si el LED RGB en uso tiene un cátodo común entonces los papeles de la
botones a ser invertidos y el brillo del LED va a ser
completo en el inicio del código.
El Serial Monitor mostrará el rojo, verde y azul LED
nivel a partir de 255. Cada pulsación rases o disminuye la
brillo en icrements de 5.
creado el 13 de enero de 2010
por mpilchfamily
modificado 16 de enero de 2010
por mpilchfamily
actualizado para Arduino 1.0 08 de febrero de 2010
por Mpilchfamily
*/
ledpin Boolean [] = {9, 10, 11}; asignar LEDs para pernos
botón Boolean [] = {2, 3, 4, 5, 6, 7}; asignar botones a los pines
buttonstate booleano = 0;
int fadered = 255; a partir de valores de brillo de cada led
int fadegreen = 255; 255 establece los LEDs en la posición de apagado
fadeblue int = 255; Cuando un RGB con un ánodo común está en uso
void setup)
{
Serial.Begin(9600); señala el tipo de comunicación serial
para (int x = 0; x < 6; x ++) //starts un lazo a modo de pin para todos los
{
pinMode (botón [x], INPUT); inicializar el botón pines como entrada:
}
para (int x = 0; x < 6; x ++) //starts un lazo a wrie digital todos los botones
{
digitalWrite (botón [x], HIGH); pulsadores se leen como hasta alta presiona
}
analogWrite (ledpin [0], fadered); el LED se enciende con brillo actual
analogWrite (ledpin [1], fadegreen); el LED se enciende con brillo actual
analogWrite (ledpin [2], fadeblue); el LED se enciende con brillo actual
}
void loop()
{
para (int x = 0; x < 6; x ++) //loop para el control de todos los botones
{
ButtonState = digitalRead(button[x]); Compruebe el estado del botón
Si (buttonstate == baja & & fadered > 0 & & botón [x] == 2)
{
Si se presiona el botón aumente el brillo por 5
fadered-=5;
analogWrite (ledpin [0], fadered); luces LED en el nivel de brillo actual
Delay(250); permite tiempo para que botón no detectado varias veces
}
Si (buttonstate == baja & & fadered < 255 & & botón [x] == 3)
{
Si se presiona el botón disminuir brillo por 5
fadered += 5;
analogWrite (ledpin [0], fadered); luces LED en el nivel de brillo actual
Delay(250); permite tiempo para que botón no detectado varias veces
}
Si (buttonstate == baja & & fadegreen > 0 & & botón [x] == 4)
{
Si se presiona el botón aumente el brillo por 5
fadegreen-=5;
analogWrite (ledpin [1], fadegreen); luces LED en el nivel de brillo actual
Delay(250); permite tiempo para que botón no detectado varias veces
}
Si (buttonstate == baja & & fadegreen < 255 & & botón [x] == 5)
{
Si se presiona el botón disminuir brillo por 5
fadegreen += 5;
analogWrite (ledpin [1], fadegreen); luces LED en el nivel de brillo actual
Delay(250); permite tiempo para que botón no detectado varias veces
}
Si (buttonstate == baja & & fadeblue > 0 & & botón [x] == 6)
{
Si se presiona el botón aumente el brillo por 5
fadeblue-= 5;
analogWrite (ledpin [2], fadeblue); luces LED en el nivel de brillo actual
Delay(250); permite tiempo para que botón no detectado varias veces
}
Si (buttonstate == baja & & fadeblue < 255 & & botón [x] == 7)
{
Si se presiona el botón disminuir brillo por 5
fadeblue += 5;
analogWrite (ledpin [2], fadeblue); luces LED en el nivel de brillo actual
Delay(250); permite tiempo para que botón no detectado varias veces
}
if(ButtonState == Low) / / comprueba si cualquier botón tiene ben presiona
{/ / imprime los niveles de brillo a la PC. 0 completa y 255 fuera
Serial.Print ("nivel de LED rojo es:");
Serial.println(fadered);
Serial.Print ("LED verde nivel es:");
Serial.println(fadegreen);
Serial.Print ("nivel de LED azul es:");
Serial.println(fadeblue);
}
}
}