PDF de programación - Ejercicios de Arduino resueltos

Imágen de pdf Ejercicios de Arduino resueltos

Ejercicios de Arduino resueltosgráfica de visualizaciones

Publicado el 16 de Mayo del 2019
4.417 visualizaciones desde el 16 de Mayo del 2019
4,6 MB
34 paginas
Creado hace 10a (18/11/2013)
EJERCICIOS DE ARDUINO

RESUELTOS

Grupo Sabika

«Ejercicios de Arduino resueltos», Grupo Sabika

Revisado: 18/11/2013

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: en una segunda soución 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 y variables tipo lista de valores.
• Aprender a declarar una función y llamarla cuando sea necesario.

Solución 1:
int tiempo=200; //declara una variable como entero y de valor 200

Video

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

Objetivos:

Familiarizarse con el entorno de programación.


• Aprender a declarar variables tipo lista de valores.

Solución:
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);
}
SOS con zumbador.
Se trata de un zumbador que en código morse (pitidos largos/cortos) especifica una palabra, en nuestro caso
SOS. Para el que no lo sepa, la S son tres señales acústicas de corta duración y la O tres señales acústica de
larga duración.
El zumbador debe estar conectado al pin 13, los pitidos cortos tendrán una duración de 100 ms y los largos
300 ms. Entre letra y letra debe pasar un tiempo de 300 ms y entre SOSs debe haber un tiempo de 1000 ms.
Nota: Debes usar variables para guardar los tiempos que vas a usar.

Objetivos:

• Reconocer partes de la placa.
• Aprender a conexionar un zumbador a la placa.

Familiarizarse con el entorno de programación.
• Reconocer las partes de un programa de arduino.
• Aprender a como declarar variables.
• Conocer órdenes de control de programa como: for.

«Ejercicios de Arduino resueltos», Grupo Sabika

6

Video

Solución:
int corto=100; //Declara la variable de argumento entero "corto" y la inicializa con el valor 100 (letra S)
int pausa=300;//tiempo entre letra y letra
int largo=300; //variable de argumento entero "largo" y la inicializa con el valor 300 (letra O)
int espera=1000;//variable argumento entero "espera" y la inicializa con el valor 1000 (tiempo entre SOS -
SOS)
int n=0;
int zumb=13; //PIN digital al que conectamos el zumbador

void setup(){ //comienza la configuracion
pinMode(zumb,OUTPUT);
}

void loop(){
for(n=0;n<3;n++){ //Iteracion en la que la variable n comienza con el valor 0
digitalWrite(zumb, HIGH); // y va aumentando en 1 en cada ciclo hasta que toma el valor 2,
delay(corto); // con lo que las instrucciones comprendidas entre los corchetes
digitalWrite(zumb,LOW); // se repiten 3 veces
delay(corto);
}
delay(pausa); //Tiempo entre letras
for(n=0;n<3;n++){ //Aqui esta la O
digitalWrite(zumb, HIGH);
delay(largo);
digitalWrite(zumb,LOW);
delay(largo);
}
delay(pausa);
for(n=0;n<3;n++){
digitalWrite(zumb, HIGH);
delay(corto);
digitalWrite(zumb,LOW);
delay(corto);
}
delay(espera); //Tiempo hasta repetir SOS de nuevo
}

Solución 2:

«Ejercicios de Arduino resueltos», Grupo Sabika

7

int tcorto=100;
int tlargo=300;
int pausa=300;
int espera=1000;
int n=0;

void setup(){ //comienza la configuracion
pinMode(13,OUTPUT);
}

void s(){ //comienza el bucle para la letra S
for(n=0;n<3;n++) {
digitalWrite (13,HIGH);
delay (tcorto);
digitalWrite (13,LOW);
delay (tcorto);
}
}

void o(){ //comienza el bucle para la letra O
for(n=0;n<3;n++) {
digitalWrite (13,HIGH);
delay (tlargo);
digitalWrite (13,LOW);
delay (tlargo);
}
}

void loop(){ //se ejecuta el bucle principal en el orden siguiente
s();
delay(pausa);
o();
delay(pausa);
s();
delay(espera);
}
Coche Fantástico.
Se trata de encender y apagar 7 leds secuencialmente. Los leds deben estar conectados a los pines
5,6,7,8,9,10 y 11.
Se deben encender y apagar los leds desde el pin 5 al 11, con un tiempo de encendido y apagado de 50 ms,
más tarde se deben encender y apagar los leds desde el pin 11 al 5, con un tiempo de encendido y apagado de
50 ms. La secuencia se debe repetir indefinidamente.
El efecto del programa es el de las luces delanteras de nuestro querido "Coche fantástico".

Objetivos:

Familiarizarse con el entorno de programación.


• Repasar declaración de variables tipo lista de valores.
• Repasar órdenes de control de programa como: for.

«Ejercicios de Arduino resueltos», Grupo Sabika

8

Solución:
int leds[]={5,6,7,8,9,10,11};
int n=0;
int tiempo=50;

Video

void setup() { //comienza la configuración
for (n=0;n<7;n++) {
pinMode(leds[n],OUTPUT);
}
}

void loop() {
for (n=0;n<7;n++) {
digitalWrite (leds[n],HIGH);
delay(tiempo);
digitalWrite (leds[n],LOW);
delay(tiempo);
}
for (n=6;n>=0;n--) {
digitalWrite (leds[n],HIGH);
  • Links de descarga
http://lwp-l.com/pdf15936

Comentarios de: Ejercicios de Arduino resueltos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad