lunes, 22 de abril de 2019

laboratorio 4 programacion de arduino

PROGRAMACIÓN DEL ARDUINO


1. CAPACIDAD TERMINAL

Identificar las aplicaciones de la Electrónica Digital.
Describir el funcionamiento de las unidades y dispositivos de almacenamiento de información.
Implementar circuitos de lógica combinacional y secuencial.

2. COMPETENCIA ESPECIFICA DE LA SESION

Programar la tarjeta ARDUINO UNO utilizando un lenguaje gráfico y comparar con lenguaje de texto.
Conocer el entorno de mBlock y todas sus posibilidades.
Realizar programación básica utilizando software mencionado.

3. MATERIALES Y EQUIPO

IDE Arduino y mBlock instalado.
Tarjeta ARDUINO UNO.
Componentes accesorios.
Guía de Laboratorio.
PC con Software de simulación.


 MARCO TEÓRICO

HISTORIA DEL ARDUINO

Arduino se inventó en Italia, como proyecto en el Instituto de Diseño Interactivo Ivrea sobre el 2005 por Massimo Banzi y David Cuartielles. El objetivo principal del proyecto era hacer una herramienta para los estudiantes que fuera más moderna, simple y económica, sobre todo para que la placa que utilizaban antes que esta costaba 76 euros y los alumnos no estaban dispuestos a comprarlas a precios tan altos.
Una vez que tuvieron el primer hardware de Arduino, se unieron David Mellis, un estudiante, para escribir el software, Tom Igoe como consejero y Gianluca Martino que era quien podía producir las placas. Éste fue y es el equipo de Arduino (Massimo, David, David, Tom i Gianluca).
Hicieron 200 unidades y vendieron 50 unidades al Instituto de Diseño Interactivo y 50 unidades más a la universidad K3 de Malmo (Suecia) y así aseguraron no perder todo el dinero. En esa producción vendían las placas con beneficio de 1€.
Massimo preguntó a Nathan Seidle (SparkFun.com) que si quería vender sus placas, Nathan respondió que de momento no porque ellos no vendían kits ni cosas de esas, pero unos meses más tarde, cuando salió la placa Arduino con USB lista para utilizar Massimo le volvió a preguntar, Nathan respondió que de acuerdo, que le enviasen 20 placas. Este fue el inicio de más de 40000 placas que se han vendido el dia de hoy desde SparkFun.com.
A partir de entonces Arduino ha ido aumentando su mercado hasta el pundo de que hoy en día se puede encontrar en cualquier parte del mundo. Han ido saliendo diferentes modelos y diferentes placas, cada una específica para unos tipos de proyectos.


 TIPOS PRINCIPALES DE ARDUINO
Mega

Imagen
El Arduino Mega es una placa microcontrolador basada ATmeg1280 (datasheet). Tiene 54 entradas/salidas digitales (de las cuales 14 proporcionan salida PWM), 16 entradas digitales, 4 UARTS (puertos serie por hardware), un cristal oscilador de 16MHz, conexión USB, entrada de corriente, conector ICSP y botón de reset. Contiene todo lo necesario para hacer funcionar el microcontrolador; simplemente conectálo al ordenador con el cable USB o aliméntalo con un trasformador o batería para empezar.

Alimentación

El Arduino Mega puede ser alimentado vía la conexión USB o con una fuente de alimentación externa. El origen de la alimentación se selecciona automáticamente. 

La placa puede trabajar con una alimentación externa de entre 6 a 20 voltios. Si el voltaje suministrado es inferior a 7V el pin de 5V puede proporcionar menos de 5 Voltios y la placa puede volverse inestable, si se usan mas de 12V los reguladores de voltaje se pueden sobrecalentar y dañar la placa. El rango recomendado es de 7 a 12 voltios. 

Memoria

El ATmega1280 tiene 128KB de memoria flash para almacenar código (4KB son usados para el arranque del sistema(bootloader).ElATmega1280 tiene 8 KB de memoria SRAM . El ATmega1280 tiene 4KB de EEPROM , que puede a la cual se puede acceder para leer o escribir con la [Reference/EEPROM |librería EEPROM]]. 

Programación

El ATmega1280 en el Arduino Mega viene precargado con un gestor de arranque (bootloader) que permite cargar nuevo código sin necesidad de un programador por hardware externo. Se comunica utilizando el protocolo STK500 original(archivo de cabecera C).
También te puedes saltar el gestor de arranque y programar directamente el microcontrolador a través del puerto ISCP (In Circuit Serial Programming);.


Características físicas
La longitud y amplitud máxima de la placa Duemilanove es de 4 y 2.1 pulgadas respectivamente, con el conector USB y la conexión de alimentación sobresaliendo de estas dimensiones. Tres agujeros para fijación con tornillos permiten colocar la placa en superficies y cajas. Ten en cuenta que la distancia entre los pines digitales 7 y 8 es 160 mil (0,16"), no es múltiple de la separación de 100 mil entre los otros pines. 


Nano

Imagen
El Arduino Nano es una pequeña y completa placa basada en el ATmega328 (Arduino Nano 3.0) o ATmega168 (Arduino Nano 2.x) que se usa conectándola a una protoboard. Tiene más o menos la misma funcionalidad que el Arduino Duemilanove, pero con una presentación diferente. No posee conector para alimentación externa, y funciona con un cable USB Mini-B en vez de el cable estandar. El nano fue diseñado y está siendo producido por Gravitech.

Alimentación

El Arduino Nano puede ser alimentado usando el cable USB Mini-B , con una fuente externa no regulada de 6-20V (pin 30), o con una fuente externa regulada de 5V (pin 27). La fuente de alimentación es seleccionada automáticamente a aquella con mayor tensión. 

El chip FTDI FT232RL que posee el Nano solo es alimentado si la placa esta siendo alimentada usando el cable USB. como resultado, cuando se utiliza una fuente externa (no USB), la salida de 3.3V (la cual es proporcionada por el chip FTDI) no está disponible y los pines 1 y 0 parpadearán si los pines digitales 0 o 1 están a nivel alto.

Memoria
El ATmega168 posee 16KB de memoria flash para almacenar el codigo (de los cuales 2KB son usados por el bootloader); el ATmega328 posee 32KB, (también con 2 KB usados por el bootloader). El Atmega168 posee 1KB de SRAM y 512 bytes de EEPROM (la cual puede ser leida y escrita con la librería EEPROM); el ATmega328 posee 2 KB de SRAM y 1KB de EEPROM. 

Comunicación

El Arduino Nao tiene algunos métodos para la comunicación con un PC, otro Arduino, u otros microcontroladores. El ATmega168 y elATmega328 poseen un módulo UART que funciona con TTL (5V)el cual permite una comunicación vía serie, la cual está disponible usando los pines 0 (RX) y 1 (TX). El chip FTDI FT232RL en la placa hace de puente a través de USB para la comunicación serial y loscontroladores FTDI (incluidos con el software de Arduino) provee al PC de un puerto com vitual para el software en el PC.

Programación

El ATmega168 o ATmega328 del Arduino Nano vienen preprogramados con un bootloader que te permite subir tu código al Arduino sin la necesidad de un programador externo. Se comunica usando el protocolo STK500 original (Archivos cabecera C).


Pro

Imagen
La Arduino pro es una placa con un microcontrolador ATmega168 (datasheet) o en el ATmega328(datasheet). La Pro viene en versiones de 3.3v / 8 MHz y 5v / 16 MHz. Tiene 14 E/S digitales (6 de las cuales se puedes utilizar como salidas PWM), 6 entradas analógicas, un resonador interno, botón de reseteo y agujeros para el montaje de tiras de pines. Vienen equipada con 6 pines para la conexión a un cable FTDI o a una placa adaptadora de la casa Sparkfun para dotarla de comunicación USB y alimentación. 
La Arduino Mini Pro esta destinada a instalaciones semi-permanentes en objetos o demostraciones. La placa viene sin conectores montados, permitiendo el uso de varios tipos de conectores o soldado directo de cables según las necesidades de cada proyecto en particular. La distribución de los pines es compatible con los shields de Arduino. Las versiones de 3.3v de la pro pueden ser alimentadas por baterías.

Alimentación

La Arduino Pro puede ser alimentada por medio del cable USB, por baterías o mediante una fuente de alimentación. El conector de batería es del tipo JST, también se le puede soldar otro tipo de conector para alimentarla desde una fuente de alimentación externa.

Memoria 

El ATmega168 tiene 16KB de memoria para el almacenamiento de sketches (de los cuales 2KB están reservados para el gestor de arranque). También tiene 1KB de SRAM y 512 bytes de EEPROM en los cuales se puede leer y escribir mediante la librería EEPROM. EL ATmega328 tiene 32 KB de flash, 2 KB de SRAM, y 1 KB de EEPROM. 

Características física

La longitud y anchura máxima del PCB de la Pro son 5.2cm y 5.3cm respectivamente, con el conector de 6 pines y el selector de alimentación sobresaliendo ligeramente de los bordes. 4 perfonaciones para tornillos permiten la fijación de la placa sobre una superficie o una caja. La distancia entre los pines 7 y 8 es de 4mm, no como los demás pines, que están separados por 2.5mm (separación normalizada entre pines). 

TAREAS GUIADAS DENTRO DEL LABORATORIO:

1. Ingrese al LINK mencionado y trate de resolver los problemas planteados mediante programación:
2. https://blockly-games.appspot.com/?lang=es



Como se puede observar antes de entrar en el mundo de Arduino se ingreso a la pagina de nombre blockly-games el cual es una pagina para incentivar a las personas a adentrarse en el mundo de la programación ya que de una forma muy intuitiva y divertida se estará sentando las bases para la programación 

 PARTE 2 DEL LABORATORIO 

la siguiente parte de nuestro lab la dedicaremos a un software llamado mblock, el cual es un programa muy liviano que no pesa ni 200 megas dentro del cual se puede apreciar una interfaz muy amigable en la que se puede programar sin tener nada de base , lo destacable de este programa es que a medida que vayas haciendo , el programa pasara todo lo que haces en verdadero programa para que se pueda trabajar en arduino
como ekemplo tomaremos el proyecto de un semaforo 





 como se puede apreciar , el programa mblock nos da un sinfín de opciones a la hora de programar y mientras nosotros armamos de la mejor manera nuestro trabajo , el programa interpretara todo lo que hacemos y convertirá lo que hicimos en un código para cargarlo en el Arduino y hacerlo funcionar
En esta parte podemos apreciar como se veria la conexion en fisico de nuestro semaforo, se observa que se ha tomado tres entradas , le siguen una resistencias que serviran para proteger a nuestros diodos leds , el programa lo que hace es activar el led rojo amarillo y verde en el intervalo de 2-1-2 segundos

EJEMPLO HECHO EN EL LABORATORIO

En esta ocasion con ayuda del programa mblock hicimos un pequeño ejemplo donde teniamos que encender intermitentemente el led que poseia nuestro arduino, por lo cual procedimos a desarrollar la programacion, se configuro de tal manera que nuestra salida sera el PIN 13 y demorara 0.1 seundo en pasar de encendido a apagada indefinidamente


 para este ejemplo nos yudamos del modulo ETS7000 , considerar siempre conectar la tierra a nuestra placa


Como se puede apreciar pasado los 0.1 segundos el led prende ya paga indefinidamente 


VIDEO EXPLICATIVO DE LA SESION CON EJEMPLO INCLUIDO 



OBSERVACIONES Y CONCLUSIONES

Observamos que el programa mblock nos puede ser de gran utilidad ya que su principal funcion es convertir a programa arduino todo lo que hagamos en ella , lo cual nos facilitaria bastante sobre todo si no tenemos una base solida es estructura de programacion IF, IF ELSE ,etc

Se conocio los diferentes tipos de arduinos asi como la utilidad de cada uno de ellos y el campo en el que mejor se desempeñarian

Observamos que en la actualidad hay una gran cantidad de opciones con codigo libre al igual que arduino

Observamos que antes de compilar un codigo , primero debemos asegurarnos que esta en la placa correcta, de no estar , se procedera a cambiar hasta que este se reconocido y se pueda compilar

Concluimos que arduino posee un IDE practicamente para todas las plataformas (windows ,MAC,linux,etc)

 Concluimos que el arduino en si es una placa que posee un microcontrolador y varias entras y salidas las cuales ejecutaran ordenes de acuerdo a como sean programados

Concluimos que actualmente hay un gran numero de programas que nos pueden ayudar mucho a la hora de aprender a programar 

Concluimos que la programacion en arduino es muy completa , con ella es posible crear grandes proyectos como impresoras 3d, cortadoras laser incluso hasta proyectos de domotica

Aprendimos a usar las diferentes funciones que nos proporcia el programa mblock

Concluimos que una vez compilado el codigo y puesto en nuestra placa, este seguardara en su memoria y seguira funcionando incluso si se le quita el cable de datos





INTEGRANTES




DIEGO MARTINEZ

VALDIVIA RIVERA JONATHAN GABRIEL

 JUAN JOSE ZEVALLOS

BIBLIOGRAFIA Y WEBGRAFIA RECOMENDADA

 Floyd, Thomas (2006) Fundamentos de sistemas digitales. Madrid.: Pearson Educación
(621.381/F59/2006) Disponible Base de Datos Pearson
 Mandado, Enrique (1996) Sistemas electrónicos digitales. México D.F.: Alfaomega.
(621.381D/M22/1996)
 Morris Mano, M. (1986) Lógica digital y diseño de computadoras. México D.F.: Prentice
Hall (621.381D/M86L)
 Tocci, Ronald (2007) Sistemas digitales: Principios y aplicaciones. México D.F.:
Pearson Educación. (621.381D/T65/2007) Disponible Base de Datos Pearson