lunes, 2 de septiembre de 2019

L03-Coursera - Programacion Prototipo Chaleco en Arduino

LABORATORIO 03


Coursera - Programacion Prototipo Chaleco en Arduino


1. OBJETIVOS
  • Comprender la programación de Arduino mediante su IDE.
  • Familiarizarnos con el lenguaje de programación en C aplicado a microcontroladores.

2. MARCO TEÓRICO
Arduino

Resultado de imagen para arduino
Arduino es una compañía de desarrollo de software y hardware de fuente abierta, así como una comunidad internacional que diseña y manufactura placas de desarrollo de hardware para construir dispositivos digitales y dispositivos interactivos que puedan detectar y controlar objetos del mundo real.

Resultado de imagen para arduino

El entorno de desarrollo integrado (IDE) de Arduino es una aplicación multiplataforma (para Windows, macOS, Linux ) que está escrita en el lenguaje de programación Java. Se utiliza para escribir y cargar programas en placas compatibles con Arduino, pero también, con la ayuda de núcleos de terceros, se puede usar con placas de desarrollo de otros proveedores.

Tinkercad

Resultado de imagen para tinkercad

Tinkercad es un software gratuito online creado por la empresa Autodesk, una de las empresas punteras en el software de diseño 3D de la mano de su programa estrella para tal fin, Inventor.

3. CODIGO DEL PROTOTIPO DEL CHALECO PARA CICLISTA


// Variables
int bot[] = {1,2,3};
int led[] = {4,5,6,7,8,9,10,11,12,13};
int numLeds = 10;
int numBots = 3;
int tiempoRet = 400;
int tiempoRetOciosa = 200;
int estePin;
int cuenta_der = 0;
int cuenta_alto = 0;
int cuenta_izq = 0;
int cuenta_ocio = 0;
boolean bot_derecha = LOW;
boolean bot_alto = LOW;
boolean bot_izquierda = LOW;
// Función setup
void setup ()
{
 for (estePin = 0; estePin < numBots; estePin++)
 {
 pinMode (bot[estePin],INPUT);
 }
 for (estePin = 0; estePin < numLeds; estePin++)
 {
 pinMode (led[estePin],OUTPUT);
 }
}
// Función loop
void loop ()
{
 for (estePin = 0; estePin < numLeds; estePin++)
 {
 digitalWrite (led[estePin], LOW);
 }
 bot_derecha = digitalRead (bot[0]);
 bot_alto = digitalRead (bot[1]);
 bot_izquierda = digitalRead (bot[2]);
 if (bot_derecha==HIGH)
 {
 Derecha ();

}
 else if (bot_alto==HIGH
)

{
 Alto ();

}
 else if (bot_izquierda==HIGH
)

{
 Izquierda ();

}
 else

{
 Ociosa ();

}
}
// Función Derecha
void Derecha () {
 switch (cuenta_der)

{
 case 0:
 digitalWrite (led[0],HIGH);
 digitalWrite (led[8],HIGH);
 digitalWrite (led[6],HIGH);
 break
;
 case 1
:
 digitalWrite (led[1],HIGH);
 digitalWrite (led[9],HIGH);
 digitalWrite (led[5],HIGH);
 break
;
 case 2
:
 digitalWrite (led[2],HIGH);
 digitalWrite (led[3],HIGH);
 digitalWrite (led[4],HIGH);
 break
;
 default
:

;

}
 delay (tiempoRet);
 cuenta_der++;
 if (cuenta_der > 3)

{
  cuenta_der = 0;
 }
}
// Función Alto
void Alto ()
{
 if (cuenta_alto == 1)
 {
 for (estePin = 0; estePin < numLeds; estePin++)
 {
 digitalWrite (led[estePin],HIGH);
 }
 }
 else
 {
 for (estePin = 0; estePin < numLeds; estePin++)
 {
 digitalWrite (led[estePin],LOW);
 }
 }
 delay (tiempoRet);
 cuenta_alto++;
 if (cuenta_alto > 1)
 {
 cuenta_alto = 0;
 }
}
// Función Izquierda
void Izquierda ()
{
 switch (cuenta_izq)
 {
 case 0:
 digitalWrite (led[2],HIGH);
 digitalWrite (led[9],HIGH);
 digitalWrite (led[4],HIGH);
 break;
 case 1:
 digitalWrite (led[1],HIGH);
 digitalWrite (led[8],HIGH);
 digitalWrite (led[5],HIGH);
 break;
 case 2:
 digitalWrite (led[0],HIGH);
 digitalWrite (led[7],HIGH);
 digitalWrite (led[6],HIGH);
 break;
 default:
 ;
 }
 delay (tiempoRet);
 cuenta_izq++;
 if (cuenta_izq > 3)
 {
 cuenta_izq = 0;
 }
}
// Función Ociosa
void Ociosa ()
{
 digitalWrite (led[cuenta_ocio],HIGH);
 digitalWrite (led[cuenta_ocio+4],HIGH);
 delay (tiempoRetOciosa);
 cuenta_ocio++;
 if (cuenta_ocio > 3)
 {
 cuenta_ocio = 0;
 }

}
4. VIDEOS






5. OBSERVACIONES
  • Se observo que en clase de laboratorio se quiso implementar la parte de semana del curso de Coursera, pero no se tuvo exito ya que no se contaban con la cantidad de materiales para lograr ello.
  • Se aprecio que en Tinkercad debíamos establecer bien nuestra programación por bucles o de una manera simple la programación y comprender lo que estábamos haciendo así como ver las diferencias entre ambas programaciones al respecto de otra.
  • Para nuestro prototipo del chaleco de señalización para ciclistas, tenemos cuatro rutinas distintas en condiciones normales, los LEDs se encenderán como se muestra se le hace entendido en el código que por default se active la rutina ociosa y por medio de 3 botones controlaremos las otras tres rutinas (alto, izquierda y derecha).
6. CONCLUSIONES
  • En conclusión, el importante comprender la estructura del lenguaje de programación en C, empleando el software Arduino IDE para poder hacer la respectiva programación.
  • Se concluye que en esta sesión es importante conocer las sentencias ya que vimos que la utilización de estos comando tales como "for" e "if" aceleran el trabajo de escribir muchas lineas para programar.
  • Se concluye que sobre los vídeos del curso Coursera que se llevo a cabo en el laboratorio nos ayuda a poder poner en practica nuestra habilidad de conocimiento y capacidad para resolver retener información que se vio, así como también nuestra manera de trabajar en el hecho de analizar las sugerencias que dieron.
  • Concluimos que el curso de Coursera no solo ofrece cursos de Aprendisaje de Arduino sino que ofrece cursos sonbre temas variados y para todo el que desee aprender, esta claro que esto tiene dos modalidades como son de pago y gratuito.
  • Respecto al  usar dichos comandos,nosotros aprendemos conceptos de programación como bucles, procedimientos y más, ingresando el código en lenguaje de programación  C para Arduino.
  • También vimos varias formas de escribir la misma rutina, ya sea de manera sencilla con un mayor número de líneas, o bien utilizando estructuras de programación y funciones, que nos permiten optimizar el código.Nos perimitio adoptar la forma con la que más nos hemos familiarizado y entendido mejor en tus futuros programas. 
  • Finalmente gracias al curso que estamos llevando virtualmente, hemos podido profundizar mas el uso de arduino, ya que anteriormente teniamos conocimientos basicos. Realizar proyectos es un metodo para aplicar nuestros conocimientos y mas que todo habilidades para poder lograr terminar nuestros proyectos.

No hay comentarios:

Publicar un comentario