Stap 4: Código
Whinose les adjuntamos dos código. El primero "IntroC_Switch.ino", fue el que utilizamos nl este instructable, pero ahra querémos hacer un semáforo automático. Nl el primer código, para poder wisselmakelaar la luz de kleur, teníamos que apretar el botón para wisselmakelaar la luz, ahroa queremos hacer cambios de luz, pero repetitie la sección la condicional de schakelen para lograrlo SerÃa tedioso y poco eficiente. Es allí donde es mejor hacer una función de cambio de kleur.
Nl 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 schakelen que teníamos nl "ntroC_Switch.ino" y lo colocamos nl dentro de una función, que toma como argumento una variabele entero que en la función se llama "val", y funciona exactamente igual, solo que ahora llamamos een esa función con "cambioColor()", indicando entre paréntesis el estado.
Agregamos además ptra función para apagar todos los leds:
void allOff() { digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(4, LOW); }
Esta función, neen tiene automatisch, y simplemente coloca todos los leds nl laag.
Noten además que nl la línea 4 del código escribimos:
#define TIME 2000
#definedirectiva La, es lo que se conoce como un macro, que permite identificar la palabra "Tijd", nl este caso, con el texto "2000", lo que hace el compiler es sustituir nl el código la palabra "Tijd", donde zee que la encuentre nl el código, con el texto "2000", de esa forma geen tenemos que usar una variabele para algo que solamente se cambia cuando se está programando