ejerciciosdearduinoresueltos-140806115433-phpapp02.pdf

(4595 KB) Pobierz
EJERCICIOS DE
ARDUINO
RESUELTOS
Grupo
Sabika
Revisado: 20/11/2010
«Ejercicios de Arduino resueltos», Grupo Sabika
1
Instalar Entorno de Programación Arduino en Ubuntu (10.10, 10.04, 9.10 y 9.04)
Para la instalación de Arduino se requieren ciertos paquetes para su funcionamiento...
librxtx-java
// Librería para comunicación serial
avr-libc & gcc-avr
// Paquete de compiladores para la programación de Microcontroladores Atmel
con Lenguaje C
sun-java6-jre
// Motor Java
1) Puede instalar estos paquetes desde Synaptic como sigue: Sistema > Administración > Gestor de Paquetes
Synaptic En la ventana del Synaptic proceda a seleccionar cada uno de los paquetes mencionados ó desde
una consola (terminal) escribiendo lo siguiente:
sudo apt-get install librxtx-java avr-libc gcc-avr sun-java6-
jre
2) Descargue arduino desde su pagina web en
http://arduino.cc/
o abra una terminal y escriba lo siguiente:
Para versiones de 32 bits (i386)
wget http://arduino.googlecode.com/files/arduino-0021.tgz
Para versiones de 64 bits (amd64)
wget http://files.arduino.cc/downloads/arduino-0021-2.tgz
3) Descomprimalo...
Realizando doble clic sobre el archivador o en una terminal con
tar xvf arduino-0021.tgz
4) Ubíquese en la carpeta...
Con el navegador de archivos o mediante una terminal
cd arduino-0021
5) Ejecútelo …
Realizando doble clic sobre el archivo llamado
arduino
o mediante un terminal
./arduino
Otra forma muy sencilla de Instalar Arduino en Ubuntu 9.10 y 10.04 es a través del repositorio de Arduino
para Ubuntu, para ello seguimos los siguientes pasos en un terminal de Linux, «menú Aplicaciones >
Accesorios > Terminal»:
1) «sudo add-apt-repository ppa:arduino-ubuntu-team». Añade el repositorio de ubuntu a las orígenes de
software de tu equipo.
2) «sudo apt-get update». Actutaliza los orígenes de software de tu equipo y por tanto los repositorios.
3) «sudo apt-get install arduino». Instala Arduino con todas sus dependencias.
4) Arduino aparece en el «menú Aplicaciones > Programación > Arduino».
Nota: las ordenes que tengan «sudo» delante requieren permisos de administrador y por tanto pedirá la
contraseña de adminsitrador.
En la actual Ubuntu 10.10 desde el «centro de software de Ubuntu» se instala directamente.
«Ejercicios de Arduino resueltos», Grupo Sabika
2
EJERCICIOS DE ARDUINO.
Led parpadeante.
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.
Objetivos:
Reconocer partes de la placa.
Aprender a conexionar leds a la placa.
Familiarizarse con el entorno de programación.
Reconocer las partes de un programa de arduino.
Conocer órdenes como: pinMode, digitalWrite y delay.
Vídeo
Solución:
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
«Ejercicios de Arduino resueltos», Grupo Sabika
3
digitalWrite(13, LOW);
//envia 0V al pin (salida) 13
delay (100);
//espera 100 ms pin 13 con 0V
}
Secuencia de leds.
Se trata de encender y apagar 4 leds secuencialmente. Los leds deben estar conectados 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.
Objetivos:
Familiarizarse con el entorno de programación.
Aprender a declarar variables tipo lista de valores.
Aprender a declarar una función y llamarla cuando sea necesario.
Video
Solución 1:
int tiempo=200;
//declara una variable como entero y de valor 200
void setup() {
//comienza la configuracion
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
}
void loop() {
//comienza el bucle principal del programa
digitalWrite(5,HIGH);
delay(tiempo);
digitalWrite(5,LOW);
delay(tiempo);
digitalWrite(6,HIGH);
delay(tiempo);
digitalWrite(6,LOW);
delay(tiempo);
digitalWrite(7,HIGH);
delay(tiempo);
«Ejercicios de Arduino resueltos», Grupo Sabika
4
digitalWrite(7,LOW);
delay(tiempo);
digitalWrite(8,HIGH);
delay(tiempo);
digitalWrite(8,LOW);
delay(tiempo);
}
Solución 2:
int tiempo=200;
int n;
void setup() {
//comienza la configuracion
for (n=5;n<9;n++) {
pinMode (n, OUTPUT);
}
}
void secuencia() {
for (n=5;n<9;n++) {
digitalWrite (n, HIGH);
delay (tiempo);
digitalWrite (n, LOW);
delay (tiempo);
}
}
void loop() {
secuencia();
}
Solución 3:
int leds[]={5,6,7,8};//
Declara variables tipo lista de valores
int tiempo=200;
int n=0;
void setup() {
//comienza la configuracion
for (n=0;n<4;n++) {
pinMode (leds[n], OUTPUT);
}
}
void secuencia() {
for (n=0;n<4;n++) {
digitalWrite (leds[n], HIGH);
delay (tiempo);
digitalWrite (leds[n], LOW);
delay (tiempo);
}
}
void loop() {
secuencia();
}
Cruce de semáforos.
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.
«Ejercicios de Arduino resueltos», Grupo Sabika
5
Zgłoś jeśli naruszono regulamin