domingo, 29 de abril de 2018

LABORATORIO N° 10



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 2, vea el video “Armado del prototipo de chaleco para ciclistas” y responda el cuestionario respectivo.
3. Vea el video “Programando la rutina de alto para el prototipo de chaleco para ciclistas” y
responda el cuestionario respectivo.
4. Vea el video “Programando la rutina de vuelta a la derecha con estructuras para el prototipo de
chaleco para ciclistas” y responda el cuestionario respectivo.
5. Vea el video “Programando la rutina de vuelta a la derecha simple para el prototipo de chaleco
para ciclistas” y responda el cuestionario respectivo.
6. Vea el video “Programando la rutina ociosa simple para el prototipo de chaleco para ciclistas” y
responda el cuestionario respectivo.
7. Vea el video “Integración de las rutinas para el prototipo de chaleco para ciclistas” y responda
el cuestionario respectivo.
8. 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 CHALECO para ciclistas, paso a paso:


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

                                                   Programacion de chaleco de ciclista


Video mostrando  la evidencia realizada:



Esquema de conexionado del chaleco para ciclista: 



Video mostrando  la evidencia  del chaleco de ciclista terminado correctamente :








Video tutorial mostrando el funcionamiento del CHALECO para ciclistas con las modificaciones, dadas por el docente, paso a paso:


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




4. OBSERVACIONES


  • Para esta programación, utilizamos los 13 pines del arduino, de los cuales, los pines 1,2,3 nos sirvieron como pulsadores (pines de entrada) , y los pines del  4-13, nos sirvieron como pines de salida (leds).
  • El pin 1 nos sirvió como un pulsador para que los leds avancen hacia la derecha, el pin 2 sirvió como un pulsador para que los leds avancen hacia la izquierda y el pin 3 , funcionó como un pulsador de paro o stop.
  • Para hacer que los leds avancen hacia la derecha o izquierda 10 veces, con un solo pulso, intentamos agregar otras funciones como (=!) para que niegue la condición establecida, pero no nos resultó con éxito.
  •  Para hacer que los leds avancen hacia la derecha o izquierda 10 veces, con un solo pulso, también intentamos declarar nuevas variables que definan el estado de los leds, HIGH and LOW, pero no nos resulto satisfactoriamente.

5. CONCLUSIONES


  • Utilizamos la función Void Setup() , para configurar nuestras variables, ya sea como entrada o salida.
  • Utilizamos la funcion Void Loop para realizar un ciclo infinitamente.
  • Para nuestra primera programador del chaleco de ciclista,  para que avance a la derecha o izquierda, hay que mantener  presionado el pulsador correcto para cada caso , si se deja de presionar, deja de avanzar.
  • Para hacer que los leds avancen hacia la derecha o izquierda 10 veces, con un solo pulso, solo repetimos el ciclo diez veces dándole un retardo especifico.
  • Se pudo desarrollar con éxito el conexionado del chaleco de ciclista y con las modificaciones respectivas.


6. FOTO GRUPAL

      Laboratorio 10



       Laboratorio 11:




INTEGRANTES:


Chambilla Condori Yanira
Benito Mendoza Gabriela
Chambi Arhuire Carlos














1 comentario:

  1. Todo bien, solo faltó observaciones y conclusiones. En el video de evidencia deberían estar TODOS los integrantes.

    ResponderEliminar