Hola a todos:
En esta ocasión veremos una estructura de programación que sirve para repetir una o varias acciones un determinado numero de veces, el ciclo FOR.
Muchas veces queremos que nuestro Arduino realice alguna actividad cierta cantidad de veces, o que repita algún patrón como llenar una Matriz de datos o leer dicha matriz.
Esta estructura, personalmente la he ocupado en manipuladores robóticos, dando una pequeña pausa entre el avance grado a grado de un servomotor. Con esto se consigue que el motor avance mas lento y el movimiento sea mas suave. Pero eso es tema para otra ocasión.
La cosa es que para nuestro Arduino también contamos con esta estructura de programación, la sintaxis es la siguiente:
for(valor_inicial ; valor_final ; incremento o decremento de valor)
{
//dentro de las llaves van los comandos que se repetirán
//cuantas veces se repita el ciclo
}
Ejemplo:
for(int i=0;i<5;i++)
{
// instrucciones y comandos
}
Esta estructura se puede ocupar para controlar la intensidad de un LED, manejar un Servomotor, manejar secuencias entre otros.
Variar la intensidad de un LED
Lo primero que hay que hacer es montar el siguiente circuito, siempre teniendo en cuenta que la patita larga del led va al positivo y la patita corta al negativo:
Conectando el Led al pin 11 y a la tierra del Arduino, te dejo el siguiente código para que puedas copiar y pegar en la IDE de arduino, puedes ir modificando los tiempos de delay cambiando el valor de la variable "Pausa" y ver como cambia el comportamiento.
int i = 0;
int Pausa = 10;
void setup()
{
pinMode(11,OUTPUT);
}
void loop()
{
for(i = 0 ; i < 255 ; i++)
{
analogWrite( 11, i );
delay(Pausa);
}
}
Podrán ver como el led va cambiando su intensidad de brillo, esto puede ser usado en el control de iluminación en una casa por ejemplo...
Puedes modificar el circuito y el código a gusto y experimentar distintos comportamientos y secuencias con Arduino.
Hasta la proxima!
Semáforo con Arduino
Hola a todos:
En esta ocasión vamos a realizar un montaje un poco mas complejo que el anterior. Una simulación de un semáforo controlado desde Arduino.
Ya vimos lo que hacia el comando delay(milisegundos); que produce una pausa en nuestro programa de el tiempo que nosotros especifiquemos en el argumento del comando.
Materiales necesarios:
1.- Arduino UNO
2.- Cable USB para Arduino
3.- Tres diodos led: verde, rojo y amarillo. (uno de cada color, no 3 de cada uno)
4.- Protoboard
5.- Cables conectores
6.- Computador con el Software Arduino instalado
Montaje del circuito
El circuito que vamos a montar ira en la protoboard, tal vez no esta demás decir que en la protoboard los orificios de cada fila están unidos, pero entre filas no hay conexión.
Las conexiones a realizar son las del siguiente esquema:
En esta ocasión vamos a realizar un montaje un poco mas complejo que el anterior. Una simulación de un semáforo controlado desde Arduino.
Ya vimos lo que hacia el comando delay(milisegundos); que produce una pausa en nuestro programa de el tiempo que nosotros especifiquemos en el argumento del comando.
Materiales necesarios:
1.- Arduino UNO
2.- Cable USB para Arduino
3.- Tres diodos led: verde, rojo y amarillo. (uno de cada color, no 3 de cada uno)
4.- Protoboard
5.- Cables conectores
6.- Computador con el Software Arduino instalado
Montaje del circuito
El circuito que vamos a montar ira en la protoboard, tal vez no esta demás decir que en la protoboard los orificios de cada fila están unidos, pero entre filas no hay conexión.
Las conexiones a realizar son las del siguiente esquema:
Una vez montado este circuito, conectamos nuestro Arduino al PC, abrimos el entorno de desarrollo y escribimos el siguiente código:
void setup()
{
pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
pinMode(11,OUTPUT);
}
void loop()
{
digitalWrite(13,LOW);
digitalWrite(12,LOW);
digitalWrite(11,HIGH);
delay(5000);
digitalWrite(13,LOW);
digitalWrite(12,HIGH);
digitalWrite(11,LOW);
delay(1000);
digitalWrite(13,HIGH);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
delay(5000);
}
Con el código anterior el semaforo parte en verde y se mantiene por 5 segundos, luego pasa al amarillo durante un segundo y finalmente a rojo otros 5 segundos. Pasados los 5 segundos en rojo volverá a verde y empieza el ciclo otra vez.
Se puede modificar el código en las lineas de delay para cambiar los tiempos del ciclo.
Hasta la proxima!
Suscribirse a:
Entradas (Atom)