Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Figura 4.10
61
Taller de Arduino
void setup()
{
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
}
void loop()
{
digitalWrite(2, HIGH);
delay(500);
digitalWrite(2, LOW);
digitalWrite(3, HIGH);
delay(500);
digitalWrite(3, LOW);
digitalWrite(4, HIGH);
delay(500);
digitalWrite(4, LOW);
digitalWrite(5, HIGH);
delay(500);
digitalWrite(5, LOW);
digitalWrite(6, HIGH);
delay(500);
digitalWrite(6, LOW);
digitalWrite(5, HIGH);
delay(500);
digitalWrite(5, LOW);
digitalWrite(4, HIGH);
delay(500);
digitalWrite(4, LOW);
digitalWrite(3, HIGH);
delay(500);
digitalWrite(3, LOW);
}
62
En este programa aparecen tres funciones que hacen todo el trabajo. Las
estudiamos con detalle a continuacin. Preprate porque empezamos a programar!
pinMode (pin, mode). Esta instruccin es utilizada en la parte de
configuracin setup() y sirve para configurar el modo de trabajo de un pin,
pudiendo ser el parmetro mode como INPUT (entrada) u OUTPUT (salida). Los
terminales de Arduino, por defecto, estn configurados como entradas, por lo
tanto no es necesario definirlos en el caso de que vayan a trabajar como entradas.
Los pines configurados como entrada quedan, bajo el punto de vista elctrico,
como entradas en estado de alta impedancia.
Cuando un dispositivo tiene alta impedancia de entrada quiere decir
que consume muy poca corriente en forma directa. La impedancia es
la resistencia que presenta un dispositivo ante una seal, ya sea en su
entrada o salida. Es bueno que un dispositivo tenga alta impedancia
de entrada ya que cuando lo conectemos a algo no va tomarte una
corriente apreciable.
Estos pines tienen a nivel interno una resistencia de 20 k a las que se puede
acceder mediante software. A estas resistencias se accede de la siguiente manera:
pinMode(pin, INPUT);
63
Taller de Arduino
// espera 2 segundos
Figura 4.12
Figura 4.13
64
Repitiendo
con
bucles
for
el
Coche
65
Taller de Arduino
digitalWrite(a, LOW);
delay(d);
}
for ( int a = 5 ; a > 1 ; a-- )
{
digitalWrite(a, HIGH);
delay(d);
digitalWrite(a, LOW);
delay(d);
}
}
El primero de los bucles for repetir el cdigo dentro de las llaves siempre y
cuando la condicin sea verdadera. En este caso hemos utilizado una variable de
tipo entero a que comienza con el valor 2. Cada vez que se ejecuta el cdigo, se
le sumar 1 a dicha variable. El bucle continuar de esta manera mientras que a
sea menor de 7. Una vez que sea igual o mayor que 7 se sale del bucle for y vuelve
al principio de la estructura void(loop), es decir, vuelve a iniciarse otro bucle for
desde el principio. El segundo bucle for inicializa la variable a con el valor 5 que
es el penltimo LED. Ahora se va decrementando esta variable hasta llegar al valor
2 que se corresponde con el primer LED. De esta manera invertimos la secuencia
de encendido. Podis probar otros valores de la variable a para comprobar si he
cometido una errata de cdigo.
Adems, dentro de la funcin delay(ms) hemos introducido una variable de
tipo entero d que permite cambiar de manera sencilla el intervalo de espera.
Darse cuenta de que en la condicin del primer bucle for recorremos
los cinco LED ya que la variable a empieza en 2 y termina en 6.
Realiza una modificacin del sketch anterior de tal manera que
encendamos y apaguemos dos LED al mismo tiempo.
66