sábado, 12 de mayo de 2018

LABORATORIO N° 12

Microcontroladores

Programación con Arduino


1          1.    Competencias Especificas  

ü  Utilizar el micro controlador  en aplicaciones de control electrónico 
ü   Desarrollar y ejecutar programas en un micro-controlado     
ü   Programar y  configurar interfaces básicas del micro controlador.

2.    Marco Teórico      
       
Funciones de lectura y escritura digital en arduino      

Una función es un conjunto de líneas de código que realizan una tarea específica y pueden retornar un valor. Las funciones pueden tomar parámetros que modifiquen su funcionamiento, por ejemplo algunas  funciones son utilizadas para descomponer grandes problemas en tareas simples y para implementar operaciones que son comúnmente utilizadas durante un programa y de esta manera reducir la cantidad de códigos.

Nuestro Arduino no sólo puede enviar señales sino que también puede recibirlas con dos propósitos principales como son leer datos de sensores y recibir mensajes de otros dispositivos (shield, otro Arduino, PC, etc.). Las entradas las clasificaremos en analógicas y digitales

      Entradas analógicas


Ideales para la lectura y escritura de valores análogos, las entradas analógicas del modelo Uno son las correspondientes a los pines de A0 a A5. Se caracterizan por leer valores de tensión de 0 a 5 Voltios con una resolución de 1024 (10 bits). Si dividimos 5 entre 1024 tenemos que ser capaz de detectar variaciones en el nivel de la señal de entrada de casi 5 mV.


Para hacer la lectura de uno de estos pines escribiremos en nuestro código


“lectura” lo sustituimos por el nombre de la variable donde queramos almacenar el valor leído y en “pinentrada” tendremos que poner el número del pin analógico que hemos elegido (0,1,...5) o el nombre de la variable que almacena dicho número


Entradas digitales

Las entradas digitales son las mismas que las salidas digitales, es decir, los pines que van del 1 al 13. Se diferencian de las analógicas porque éstas son capaces de “entender” sólo dos niveles de señal, LOW o valores cercanos a 0 V y HIGH o valores cercanos a 5 V. Puede parecer una desventaja pero en realidad puede ser todo lo contrario.

 Y no sólo porque a veces únicamente necesitemos saber dos estados (interruptor, pulsador, sensor de presencia, final de carrera....) sino porque así es capaz de leer señales de pulsos digitales. Esto significa que puede comunicarse 


Por poner un ejemplo, un sensor analógico de temperatura como es el LM35 incrementaría el nivel de la tensión que llega a la placa de forma proporcional a la temperatura. Sin embargo, uno digital como el ds18b20 lo que haría es cambiar la sucesión de pulsos y por tanto el mensaje que contiene el valor de la temperatura.
Aunque los pines digitales por defecto vienen configurados como entradas, si queremos hacerlo manualmente escribimos en nuestro código



Para almacenar los dos valores posibles LOW o HIGH en una variable llamada “lectura” escribimos




Estructura básica de un programa
La estructura básica de programación de Arduino es bastante simple y divide la ejecución en dos partes: setup y loop. Setup() constituye la preparación del programa y loop() es la ejecución. En la función Setup() se incluye la declaración de variables y se trata de la primera función que se ejecuta en el programa. 

Esta función se ejecuta una única vez y es empleada para configurar el pinMode (p. ej. si un determinado pin digital es de entrada o salida) e inicializar la comunicación serie. La función loop() incluye el código a ser ejecutado continuamente (leyendo las entradas de la placa, salidas, etc.).


Como se observa en este bloque de código cada instrucción acaba con ; y los comentarios se indican con //. Al igual que en C se pueden introducir bloques de comentarios con /* ... */.

DIFERENCIA Y SIMILITUDES ENTRE PIC Y ARDUINO


Inicialmente se deben conocer los dos tipos de Microcontroladores de los que se discutirá en este foro

-PIC



Es un microcontrolador de Microchip, es un microcontrolador muy popular hasta hace un par de años era el microcontrolador más vendido en el mundo, sin embargo su popularidad ha bajado desde la llegada del conocido arduino, un micro controlador es un dispositivo que se puede programar para hacer diferentes tareas , es capaz de realizar muchas tareas, algo así como el CPU de una computadora, pero a diferencia de sin alguna interface no podríamos hacer uso de él.


-Arduino 

Es una plataforma de código abierto con la cual un entusiasta de la electrónica puede crear proyectos de electrónica digital, domótica, robótica , etc. de forma rápida y sencilla además de económica, es decir tiene las tres "B" Bueno Bonito y Barato, y es que los cientos de proyectos que andan circulando por la red son realmente increíbles. Su placa más popular el Arduino UNO,


Esta comparación no será específicamente ente Microcontroladores ATmel y MICROCHIP, aunque en parte se tomarán en cuenta sus características de Arquitectura. Empecemos con la siguiente afirmación, no existe comparación entre los microcontroladores actuales de 8 bits ATmel y los de MICROCHIP, los microcontroladores de ATmel son de una tecnología más reciente, mientras de los de MICROCHIP llevan muchos años en el mercado, por lo tanto no extraña que los ATmega sean mejores en sus características.

Por lo tanto un ATmega328 supera en creces a un PIC10F, PIC12F, PIC16F e incluso a un PIC18F. Pero también según reseñas que he leído el microcontrolador de MICROCHIP de 16 y 32 bits supera en creces a los Atmel de 16 y 32 bits.



Pero volvamos al tema de Arduino y PICAXE, así que te invito a que leas y sobre todo ANALICES la siguiente tabla 












3. TAREAS GUIADAS DENTRO DEL LABORATORIO: 

3.1. Ingrese a la página www.coursera.org e inicie sesión en el mismo.
3.2. En la SEMANA 3, vea el video “Armado del pastillero” y responda el cuestionario respectivo.
3. Vea el video “Interrupciones” y responda el cuestionario respectivo.
4. Vea el video “Alarmas del pastillero” y responda el cuestionario respectivo.
5. Vea el video “Motor del pastillero” y responda el cuestionario respectivo.
6. Vea el video “LCD del pastillero” y responda el cuestionario respectivo.
7. Vea el video “Programa de control del LCD del pastillero” y responda
el cuestionario respectivo.
8. Vea el video “Integración del programa de control del pastillero” y responda
el cuestionario respectivo.
9. Envíe la tarea solicitada para ser revisada por sus compañeros.


EVIDENCIA:

Video mostrando las notas obtenidas en los cuestionarios:

                    








Video tutorial mostrando el funcionamiento del Armado de un pastillero:


Video mostrando  la evidencia realizada en el laboratorio:



Video mostrando  la evidencia del armado de un pastillero, terminado correctamente :












        

 Link para descargar el código de programación en Arduino:


                                                  Programación en Arduino



4. OBSERVACIONES


  • Se observó que al tratar de poner las variable "segActual" durante la programación de nuestro pastillero , se tenia que refrescar la  imagen del lcd cada segundo lo que no le daba al arduino tiempo necesario para hacer los cálculos.
  • Observamos que para implementar el circuito del pastillero en nuestro protoboard utilizamos un Led que hace la función de nuestro motor, otro led que hace la función del Buzer y dos led's que van a realizar la función de lámparas indicadoras, cuando las pastilla haya caído.
  • En vez de utilizar un sensor utilizamos un pulsador.
  • Visualizamos que se inicializó el LCD con un " lcd.begin(16,2)" que es el tamaño del LCD según su columna y fila.
5. CONCLUSIONES
  •  Concluimos que para calcula el tiempo de la toma con respecto al tiempoBase   utilizamos la función  tiempoActual = tiempoActivacion[toma]; dentro del void DespliegueHoraToma() .
  • Realizamos   la función lcd.setCursor(0,1)  para colocar el cursor en el origen;   lcd.print(toma+1)  donde pudimos escribir el número de la toma y lcd.print("a toma  ") que es donde escribimos el letrero "a toma" .
  •  Lo que hace el void Despliegue  es citar a los otros void en su programa, para que la función de estos actúen dentro de él y así demostrar el formato hora.
6. FOTO GRUPAL


No hay comentarios:

Publicar un comentario