
Buenas!!!
Quien no recuerda esa fantástica serie de los 80's llamada "El coche fantástico"? Un coche con inteligencia artificial que hablaba y que en capo brillaban unos flamantes leds rojos. Con Arduino no conseguiremos que nuestro coche piense por si solo o hable, lo que si podremos hacer es ese efecto de luces que tanto nos gustaba.
En estos ejemplos nos centraremos en hacer unas cuantas secuencias con leds, son ejemplos sencillos, pero nos ayudaran a comprender los ciclos for.
En los ciclos for las tres partes de las que se compone for están separadas por punto y coma ( ; ).
for (n=5; n < 9; n++){}
primera parte segunda parte tercera parte
La primera parte es el valor inicial del ciclo.
La segunda es la condición en la que terminara el bucle y se relaciona con la primer valor directamente.
Y la tercera indica como serán manipulados los datos
Todo lo que pongamos entre el corchete se repetirá hasta que la primera y la segunda parte coincidan, es decir hasta que "n" llegue a 8, entonces terminara con el bucle y seguirá con el programa. con esto hemos conseguido que "n" haya tenido los valores 5, 6, 7 y 8.
//inicia código int tiempo=300; //tiempo es una variabe int con valor 300 int n; //n es una variable int void setup(){ for (n=5;n<9 300ms="" 5="" 8="" a="" al="" asignada="" bloque="" cantidad="" como="" configuraci="" de="" del="" delay="" digitalwrite="" donde="" el="" en="" encerrado="" entre="" epite="" es="" for="" high="" la="" llaves="" loop="" los="" mero="" n="" nciende="" nicia="" paga="" pin="" pines="" pinmode="" pone="" pre="" programa="" que="" salida="" secuencia="" spera="" subrutina="" tiempo="" uelve="" un="" variable="" void="">Después de este primer ejemplo, vamos al ejercicio al que hace referencia el titulo de este post.Hasta ahora hemos hecho una secuencia en un solo sentido, para hacer la secuencia del coche fantástico tenemos que hacer que los puertos se desplacen tanto hacia arriba como hacia abajo. Para ello hacemos el ciclo for añada un bit (++) o lo quite (--).También como hacer un array donde se almacenaran los números de los leds que vamos a encender. Veamos como actúa en el siguiente código://Inicia el código int leds[]={5,6,7,8,9,10,11}; //Crea un array de los pines de 5 al 11 dentro de la variable led int n=0; // Crea una variable llamada “n” y le asigna un valor de 0 int tiempo=30; //Crea una variable llamada tiempo y le asigna un valor de 30 void setup() { //Comienza la configuración for (n=0;n<7 0="" 10="" 11="" 30="" 5="" 60="" 6="" 7="" 8="" 9="" a="" ace="" al="" almacenado="" anterior="" array="" bucle="" como="" de="" del="" delay="" digitalwrite="" el="" en="" encerrado="" entre="" epite="" for="" las="" led="" leds="" llaves="" loop="" los="" mpieza="" ms="" n="6;n" nciende="" onfigura="" paga="" pausa="" pines="" pinmode="" programa="" rdenandolos="" salida="" siguiente="" tiempo="" una="" void="" y="">=0;n--) { //Repite el bucle encerrado entre las llaves digitalWrite (leds[n],HIGH); //Enciende el led almacenado en array en sentido contrario delay(tiempo); //Hace una pausa de 30 ms digitalWrite (leds[n-1],HIGH); //Enciende el led anterior delay(tiempo); //Hace una pausa de 30 ms digitalWrite (leds[n],LOW); //Apaga el led anterior a [n-1] delay(tiempo*2); //Hace una pausa de 60ms } } 7>Como veis es algo muy sencillo que nos ayudara a comprender mejor como utilizar los bucles for. Esto se puede utilizar para casi cualquier repetición, Por ejemplo si quisiéramos que un led parpadeara medio segundo encendido y medio segundo apagado durante 60 repeticiones, tendríamos un segundero para un relog. Un saludo y gracias por visitar www.infotronikblog.com9>
No hay comentarios :
Publicar un comentario