Formato IEEE
Formato IEEE
Formato IEEE
Robótica
PRÁCTICAS ARDUINO
Yuri Vanessa Santamaria Sandoval, Cristian Alberto Arenas Trujillo, David Alejandro Torres Rivera
Universidad de Cundinamarca.
Fusagasugá, Colombia.
Marzo 3 de 2016
ysantamaria@mail.unicundi.edu.co
caarenas@mail.unicundi.edu.co
davidalejandrotorres@mail.unicundi.edu.co
Abstract- This document describes the basic learning LENGUAJE DE PROGRAMACIÓN DE ARDUINO
process of arduino, shows the different practices
Para programar un Arduino, el lenguaje estándar es
carried out and the basic principles necessary to
C++, aunque es posible programarlo en otros
execute each practice, in the same way you can see a lenguajes. No es un C++ puro sino que es una
series of conclusions of the Experiences with adaptación que proveniente de avr-libc que provee de
arduino. una librería de C de alta calidad para usar con GCC
en los microcontroladores AVR de Atmel y muchas
I. INTRODUCCIÓN funciones específicas para los MCU AVR de Atmel.
En este documento se plasma el proceso realizado
en cada una de las prácticas con arduino, como 2.2 Método Experimental:
tema principal se tiene el lenguaje de programación
arduino y su funcionalidad, fueron realizadas 2.2.1 Led Parpadeante:
prácticas variadas en las que se presentaba un
problema al cual se debía dar solución, daremos a cálculos matemáticos:
conocer el método utilizado para resolver cada uno
de los problemas propuestos a través de una R=5V/20mA
metodología de solución mediante diagramas de flujo R=220 ohms (valor comercial)
y la experimentación física de las distintas
experiencias. diagrama de flujo:
int i=20;
void setup() {
// put your setup code here, to run once:
pinMode(13,OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(13,HIGH);
delay(i);
digitalWrite(13,LOW);
delay(i);
}
cálculos matemáticos:
R=V/R
R=220 ohms(individualmente)
diagrama de flujo 3.
secuencia de leds 3:
int leds[]={5,6,7,8};
// Declarar variables tipo lista de valores
int tiempo=200;
int n=0; void setup() {
práctica con arduino: //comienza la configuración
for (n=0;n<4;n++) {
secuencia de leds 1: pinMode (leds[n], OUTPUT); }
}
int tiempo=200; void secuencia() {
//declara una variable como entero y de valor 200 for (n=0;n<4;n++) {
void setup() { digitalWrite (leds[n], HIGH);
//comienza la configuración delay (tiempo);
pinMode(5,OUTPUT); digitalWrite (leds[n], LOW);
pinMode(6,OUTPUT); delay (tiempo); } }
pinMode(7,OUTPUT); void loop() { secuencia(); }
pinMode(8,OUTPUT);
} 2.2.3 Cruce de semáforos:
secuencia de leds 2:
int tiempo=200;
int n;
void setup() {
//comienza la configuración
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); }
figura 5.(diagrama de flujo cruce de semáforos)
}
void loop() { secuencia(); }
práctica en arduino:
int leds[]={3,4,5,6,7,8};
int tiempo1=3000;
int tiempo2=500;
int n;
void setup() {
// put your setup code here, to run once:
for (n=0;n<6;n++)
{ pinMode (leds[n],OUTPUT);}
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite (leds[0],HIGH);
digitalWrite (leds[5],HIGH);
delay (tiempo1);
digitalWrite (leds[5],LOW);
digitalWrite (leds[0],LOW);
digitalWrite (leds[4],HIGH);
digitalWrite(leds[1],HIGH);
delay (tiempo2);
digitalWrite(leds[0],LOW);
digitalWrite (leds[4],LOW);
digitalWrite (leds[2],HIGH);
digitalWrite (leds[3],HIGH);
digitalWrite (leds[1],LOW);
delay (tiempo1);
digitalWrite (leds[2],LOW);
digitalWrite (leds[3],LOW);
digitalWrite (leds[0],HIGH);
digitalWrite (leds[5],HIGH);
delay (tiempo2);
}
figura 7.(diagrama de flujo SOS zumbador 1 parte 2)
2.2.4 SOS con zumbador
diagrama 2:
en este caso, el zumbador se coloca directamente ya
que el mismo limita la corriente dado un voltaje tan
pequeño, no es suficiente para dañarlo.
diagrama 1.
delay(largo); }
for(n=0;n<3;n++){
digitalWrite(zumb, HIGH);
delay(corto);
digitalWrite(zumb,LOW);
delay(corto);
}
delay(espera);
}
zumbador 2:
void setup() {
// put your setup code here, to run once:
pinMode(13,OUTPUT);
}
void s(){
for(n=0;n<3;n++)
{digitalWrite (13,HIGH);
delay (tcorto);
digitalWrite (13,LOW);
figura 9.(diagrama de flujo zumbador 2 parte 2) delay (tcorto); }
}
práctica con arduino: void o(){ //comienza el bucle para la letra O
for(n=0;n<3;n++)
zumbador 1 : { digitalWrite (13,HIGH);
delay (tlargo);
int corto=100; digitalWrite (13,LOW);
int pausa=300; delay (tlargo); } }
int largo=300;
int espera=1000; void loop() {
int n=0; // put your main code here, to run repeatedly:
int zumb=13; //se ejecuta el bucle principal en el orden siguiente
s();
void setup() { delay(pausa);
// put your setup code here, to run once: o();
pinMode(zumb,OUTPUT); delay(pausa);
} s();
delay(espera); }
void loop() {
// put your main code here, to run repeatedly:
for(n=0;n<3;n++){
digitalWrite(zumb, HIGH);
delay(corto);
digitalWrite(zumb,LOW);
delay(corto); }
delay(pausa);
for(n=0;n<3;n++){
digitalWrite(zumb, HIGH);
delay(largo);
digitalWrite(zumb,LOW);
2.3 Resultados:
int leds[]={5,6,7,8,9,10,11};
int n=0;
int tiempo=50; figura 13.(simulación de arduino en proteus)
void setup() {
// put your setup code here, to run once:
for (n=0;n<7;n++)
{ pinMode(leds[n],OUTPUT); } III DISCUSIÓN:
}
Con el grupo se discutieron diferentes puntos de vista
práctica 3. Cruce de semáforos acerca del lenguaje arduino, inicialmente acerca de la
aplicabilidad, siendo esta múltiple y con grandes
facilidades, la forma en que cada uno de nosotros
utilizó la programación y diferentes métodos para
solucionar una misma problemática, utilizando
nuestra lógica que a la vez es muy diversa y poco
similar, por lo que generamos programas totalmente
diferentes en estructura pero con una misma
funcionalidad, de igual manera se tuvieron en cuenta
algunos parámetros a la hora de la práctica como
medidas para prevenir daños y riesgos en la
estructura del arduino utilizado, con el fin de proteger
cada uno de los pines utilizados en la práctica.
IV CONCLUSIONES:
conclusion 1:
figura 14.(simulación de arduino en proteus) Se pudo determinar que existen diversas maneras de
dar solución a un problema a través del lenguaje de
programación arduino, ya que es una plataforma que
práctica 4. SOS con zumbador nos da la posibilidad de trabajar con gran cantidad de
herramientas de código que facilitan el trabajo y se
ve una clara optimización reflejada en la cantidad de
código utilizado para la realización de cada programa
conclusion 2:
Los conocimientos necesarios para la realización de
esta práctica eran claros para cada uno de nosotros
como estudiantes al haber estado en un proceso de
desarrollo de competencias y conocimientos en cada
uno de los semestres anteriores, que abarcaban en
su mayoría cada concepto que se debía tener para la
realización de las prácticas, resaltando que el
lenguaje arduino era nuevo para nosotros.
conclusion 3:
el lenguaje de arduino es fácil de manejar y muy
intuitivo,además de parecerse al de c++ lo que nos
figura 15.(simulación de arduino en proteus) permitió familiarizarnos rápidamente con el programa
conclusión 4:
práctica 5. coche fantástico es importante calcular la corriente que pasa por cada
uno de los pines del arduino utilizados a la hora de la
práctica, esto con el fin de protegerlos y para ello se
utiliza una resistencia, aunque se podría conectar
directamente pero cabe la posibilidad de dañar los
pines si la corriente que circula es muy alta.
V. BIBLIOGRAFÍA
Jose Enrique Crespo, Aprendiendo a Manejar
Arduino,
link:https://aprendiendoarduino.wordpress.com