jueves, 16 de febrero de 2012

Ejercicios para practicar con Arduino

Ejercicios de Arduino:

En esta entrada es mas que nada para ir practicando con arduino. para esto vamos a tomar unos ejercicios del siguiente pdf: http://dl.dropbox.com/u/1894196/ejercicios_de_arduino_resueltos.pdf

Ejercicio 1: “Led parpadeante.”

Descripcion: Se trata de conectar un led al pin13, haciendo que luzca durante 500 ms y que se apague durante 100 ms, este proceso se repetirá cíclicamente.


Codigo:
void setup()
{ //comienza la configuracion
pinMode(13, OUTPUT); //configura el pin 13 como de salida
} //termina la configuracion
void loop()
{ //comienza el bucle principal del programa
digitalWrite(13, HIGH); //envia 5V al pin (salida) 13
delay (500); //espera 500 ms pin 13 con 5V
digitalWrite(13, LOW); //envia 0V al pin (salida) 13
delay (100); //espera 100 ms pin 13 con 0V
}

Virtual BreadBoard:


Ejercicio 2: “Cruce de Semaforos”

Descripcion: Se trata de un cruce de semáforos controlado por arduino, para ello utilizaremos en el primer semáforo los pines 3 (led rojo), 4 (led ambar), 5 (led verde), en el segundo semáforo utilizaremos los pines 6 (led rojo), 7 (led ambar) y 8 (led verde). La secuencia de funcionamiento debe ser : rojo 1 – verde 2 durante 3 segundos, rojo 1 – ambar 2 durante 500 ms, verde 1 – rojo 2 durante 3 segundos, ambar 1 - , rojo 2 durante 500 ms.

Codigo:


int leds[]={3,4,5,6,7,8);
int tiempo1=3000;
int tiempo2=500;
int n;
void setup() {
for (n=0;n<6;n++) {
pinMode (leds[n],OUTPUT);
}
}
void loop () {
digitalWrite (leds[0],HIGH);
digitalWrite (leds[5],HIGH);
delay (tiempo1);
digitalWrite (leds[5],LOW);
digitalWrite (leds[4],HIGH);
delay (tiempo2);
difitalWrite[leds[0],LOW);
digitalWrite (leds[2],HIGH);
digitalWrite (leds[4],LOW);
digitalWrite (leds[3],HIGH);
delay (tiempo1);
digitalWrite (leds[2],LOW);
digitalWrite(leds[1],HIGH);
delay (tiempo2);

digitalWrite(led[1], LOW);
digitalWrite(led[3], LOW);

}

Virtual BreadBoard:


Ejercicio 3: "Secuencia de leds con pulsador"

Descripcion: Se trata de encender y apagar 4 leds secuencialmente al accionar un pulsador. El pulsador debe estarconectado al pin 4, y los leds a los pines 5,6,7 y 8. Se deben encender y posteriormente apagar los leds desde el pin 5 al 8, con un tiempo de duración de encendido y apagado de 200 milisegundos.

 Nota: la secuencia principal del programa debe estar reproducida en una función a la que llamará el
programa principal.

Codigo:

int cadenaleds[]={5,6,7,8};
int pulsador=4;
int tiempo=200;
int n=0;
void setup() {
for(n=0;n<4;n++) {
pinMode (cadenaleds[n],OUTPUT);
}
pinMode (pulsador,INPUT);
}
void flash() {
for (n=0;n<4;n++) {
digitalWrite (cadenaleds[n],HIGH);
delay (tiempo);
digitalWrite (cadenaleds[n],LOW);
delay (tiempo);
}
}
void loop() {
if (digitalRead(pulsador)==HIGH) {
flash ();
}
}

Virtual BreadBoard:






Aqui podran encontrar mas ejemplos:
http://arduino.cc/en/Tutorial/HomePage

Y aqui podran encontrar mas informacion acerca de arduino:
http://www.arduino.cc/en/Reference/HomePage

Documental de Arduino:
http://es.makezine.com/archive/2011/01/arduino_el_documental.html

No hay comentarios:

Publicar un comentario