Étape 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 ONU semáforo automático. En el primer código, para poder cambiar la luz de couleur, unicamente que apretar el botón para cambiar la luz, ahroa queremos hacer cambios de luz, pero repetir la sección la condicional de commutateur para lograrlo sería tedioso y poco eficiente. Es allí donde es mejor hacer una función de cambio de couleur.
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 commutateur Québec unicamente en « ntroC_Switch.ino » y lo colocamos fr dentro de una función, que toma como argumento una variable entero que fr la función se llama « val », y funciona exactamente igual, solo que ahora cuando un esa función con « cambioColor() », indicando entre paréntesis el estado.
Agregamos además sebastien función para apagar todos los del :
void allOff() { digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(4, LOW); }
Esta función, aucun tiene argumentos, y simplemente coloca todos los leds en bas.
Noten además que en la línea 4 del código escribimos :
#define TIME 2000
La directiva #define, es lo que se conoce como un macro, que permite identificar la palabra "TIME", en este caso, con el texto "2000", lo que hace el compilador es sustituir fr el código la palabra "TIME", donde sea que la encuentre en el código, ne con el texto "2000", de l’esa forma aucun tenemos que usar una variable para algo que solamente se cambia cuando se está programando