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














lunes, 23 de abril de 2018

LABORATORIO N° 9

Microcontroladores 

PROGRAMACIÓN CON ARDUINO 

1. Competencias especificas 
  • Conocer el entorno ARDUINO
  • Instalar y configurar IDE ARDUINO
  • Familiarizarse con la programación
2. Marco Teorico 

¿QUÉ ES ARDUINO?

Arduino es una plataforma de hardware libre, basada en una placa con un micro controlador y un entorno de desarrollo, diseñada para facilitar el uso de la electrónica en proyectos multidisciplinarios.


Por otro lado Arduino nos proporciona un  software consistente en un entorno de desarrollo (IDE) que implementa el lenguaje de programación de arduino y el bootloader ejecutado en la placa. La principal característica del software de programación y del lenguaje de programación es su sencillez y facilidad de uso.
¿Para qué sirve Arduino?
 Arduino se puede utilizar para desarrollar elementos autónomos, conectándose a dispositivos e interactuar tanto con el hardware como con el software. Nos sirve tanto para controlar un elemento, pongamos por ejemplo un motor que nos suba o baje una persiana basada en la luz existente es una habitación, gracias a un sensor de luz conectado al Arduino, o bien para leer la información de una fuente, como puede ser un teclado, y convertir la información en una acción como puede ser encender una luz y pasar por un display lo tecleado.

Data sheet del arduino uno explicada en una imagen en la cual se especifica cada uno delos pines de entrada y los componentes dentro de la placa del arduino

En resumen un arduino esta formado por :

Arduino = HW + SW + Comunidad

HW Arduino

El HW de Arduino es básicamente una placa con un microcontrolador. Un microcontrolador (abreviado µC, UC o MCU) es un circuito integrado programable, capaz de ejecutar las órdenes grabadas en su memoria. Está compuesto de varios bloques funcionales, los cuales cumplen una tarea específica. Un microcontrolador incluye en su interior las tres principales unidades funcionales de una computadora: unidad central de procesamiento, memoria y periféricos de entrada/salida.
Características de un Microcontrolador:

  • Velocidad del reloj u oscilador
  • Tamaño de palabra
  • Memoria: SRAM, Flash, EEPROM, ROM, etc..
  • I/O Digitales
  • Entradas Analógicas
  • Salidas analógicas (PWM)
  • DAC (Digital to Analog Converter)
  • ADC (Analog to Digital Converter)
  • Buses
  • UART
  • Otras comunicaciones.



SHIELD ARDUINO
Un shield es una placa compatible que se puede colocar en la parte superior de los arduinos y permite extender las capacidades del arduino.
Las shields se pueden comunicar con el arduino bien por algunos de los pines digitales o analógicos o bien por algún bus como el SPI, I2C o puerto serie, así como usar algunos pines como interrupción. Además estas shields se alimenta generalmente a través del Arduino mediante los pines de 5V y GND.

Cada Shield de Arduino debe tener el mismo factor de forma que el estándar de Arduino con un espaciado de pines concreto para que solo haya una forma posible de encajarlo.


Dentro del entorno Arduino, podemos encontrar placas basadas en el microcontrolador ESP8266 con wifi integrado y pila de protocolos TCP/IP que no sigue el factor de forma de Arduino.


SW Arduino

El software de Arduino es un IDE, entorno de desarrollo integrado (siglas en inglés de Integrated Development Environment). Es un programa informático compuesto por un conjunto de herramientas de programación.
El IDE de Arduino es un entorno de programación que ha sido empaquetado como un programa de aplicación; es decir, consiste en un editor de código, un compilador, un depurador y un constructor de interfaz gráfica (GUI). Además incorpora las herramientas para cargar el programa ya compilado en la memoria flash del hardware.


3. Evidencias del Laboratorio:



4. OBSERVACIONES
  •  El uso de la plataforma coursera se sigue implementando para el desarrollo de aprendizaje y reforzamiento en conocimientos básicos como lo es Arduino.
  • Se observaron e investigaron durante la hora destinada al laboratorio, tanto aplicaciones domésticas, sociales, educativas, etc. para esta plataforma sencilla y tan básica como lo es Arduino 
  • Los COM, o también puertos a los que se conecta y Lee la placa Arduino, no eran tan funcionales ya que se buscó la manera de poder usarlos en el laboratorio ya que no presentaban respuesta aparente a las entradas USB comunes


5. CONCLUSIONES
  •  Mediante el uso de la plataforma de aprendizaje COURSERA se aprendió la línea de tiempo en los que los micro controladores y microprocesadores fueron invadiendo el mundo hasta este momento donde cualquier micro o macro empresa recurre al uso de estos ya sea en mayor o menor medida
  •   Se definió la placa y programa Arduino como el primer paso de aprendizaje para poder realizar programación cada vez más avanzada en diferentes otros programas como lo son LADDER o JAVA
  •  Se establecieron y plantearon tanto similitudes y diferencias en la programación de los dos diferentes entrenadores usados en el curso los cuales son PIC: una interfaz un tanto diferente pero básicamente con la misma lógica de programación . Y el chip de ARDUINO que es un sistema mucho más simple y fácil de entender así también como más frágil a diferentes circunstancias de trabajo o programa
  •   Durante el trabajo de este laboratorio se implementó un circuito simple de secuencia en prendido y apagado de un LED con señal de 1 y 0 según los tiempos pedidos por el profesor



6. FOTO GRUPAL:

Integrantes:

  • Benito Mendoza Gabriela
  • Chambilla Condori Yanira
  • Chambi Arhuire Carlos