Schritt 4: Código
Acá Les Adjuntamos Dos Código. El Primero "IntroC_Switch.ino", Fue el Que Utilizamos En Este instructable, Pero Ahra Querémos Hacer un Semáforo Automático. En el Primer Código, Para Poder Cambiar la Luz de Farbe, Teníamos Que Apretar el Botón Para Cambiar la Luz, Ahroa Queremos Hacer Cambios de Luz, Pero Repetir la Sección la Condicional de Para Lograrlo Ulf Tedioso y poco Eficiente zu wechseln. Es Allí Donde es Mejor Hacer Una Función de Cambio de Farbe.
En el Código "IntroC_Fun.ino" Hacemos Eso, Creamos Una Función Para Cambiar de Luz, Que Se Ve Entre Las Líneas 34 a 52:
void cambioColor(int val) { switch (val) { case 0: digitalWrite(2, HIGH); digitalWrite(3, LOW); digitalWrite(4, LOW); break; case 1: digitalWrite(2, LOW); digitalWrite(3, HIGH); digitalWrite(4, LOW); break; case 2: digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(4, HIGH); break; } }
Vean Que lo Que Hicimos Fue Tomar Toda la Condicional wechseln Que Teníamos En "ntroC_Switch.ino" y lo Colocamos de Dentro de Una Función, Que Toma Como Messe Una Variable Entero Que En la Función Se Llama "Val", y Funciona Exactamente Igual, solo Que Ahora Llamamos eine Esa Función Con "cambioColor()", Indicando Entre Paréntesis el Estado.
Agregamos Además Ptra Función Apagar Para Todos Los Leds:
void allOff() { digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(4, LOW); }
ESTA Función, keine Tiene Argumentos y Simplemente Coloca Todos Los Leds de niedrig.
Noten Además Que En La Línea 4 del Código Escribimos:
#define TIME 2000
La Directiva #define, es lo Que Se Meet Como un- Makro, Que Permite Identificar la Palabra "TIME", En Este Caso, Con el Texto "2000", lo Que Hace el Compilador es Sustituir En el Código la Palabra "TIME", Donde Meer Que la Encuentre En el Código, con el Texto "2000", de Esa Forma keine Tenemos Que usar Una Variable Para Algo Que Solamente Se Cambia Cuando Se Está Programando