LABORATORIO N° 13 : PROGRAMACIÓN GRÁFICA DE ARDUINO
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.
COMPETENCIA ESPECIFICA DE LA SESIÓN
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.
MARCO TEORICO:
Arduino es una plataforma de creación de electrónica de
código abierto, la cual está basada en hardware y software libre, flexible y
fácil de utilizar para los creadores y desarrolladores. Esta plataforma permite
crear diferentes tipos de microordenadores de una sola placa a los que la
comunidad de creadores puede darles diferentes tipos de uso.
Para poder entender este concepto, primero entenderemos los
conceptos de hardware libre y el software libre. El hardware libre son los
dispositivos cuyas especificaciones y diagramas son de acceso público, de
manera que cualquiera puede replicarlos. Esto quiere decir que Arduino ofrece
las bases para que cualquier otra persona o empresa pueda crear sus propias
placas, pudiendo ser diferentes entre ellas pero igualmente funcionales al
partir de la misma base.
El software libre son los programas informáticos cuyo código
es accesible por cualquiera para que quien quiera pueda utilizarlo y
modificarlo. Arduino ofrece la plataforma Arduino IDE (Entorno de Desarrollo
Integrado), que es un entorno de programación con el que cualquiera puede crear
aplicaciones para las placas Arduino, de manera que se les puede dar todo tipo
de utilidades.
El proyecto nació en 2003, cuando varios estudiantes del
Instituto de Diseño Interactivo de Ivrea, Italia, con el fin de facilitar el
acceso y uso de la electrónico y programación. Lo hicieron para que los
estudiantes de electrónica tuviesen una alternativa más económica a las
populares BASIC Stamp, unas placas que por aquel entonces valían más de cien
dólares, y que no todos se podían permitir.
El resultado fue Arduino, una placa con todos los elementos
necesarios para conectar periféricos a las entradas y salidas de un
microcontrolador, y que puede ser programada tanto en Windows como macOS y
GNU/Linux. Un proyecto que promueve la filosofía 'learning by doing”.
¿Cómo funciona Arduino?
El Arduino es una placa basada en un microcontrolador ATMEL.
Los microcontroladores son circuitos integrados en los que se pueden grabar
instrucciones, las cuales las escribes con el lenguaje de programación que
puedes utilizar en el entorno Arduino IDE. Estas instrucciones permiten crear
programas que interactúan con los circuitos de la placa.
El microcontrolador de Arduino posee lo que se llama una
interfaz de entrada, que es una conexión en la que podemos conectar en la placa
diferentes tipos de periféricos. La información de estos periféricos que
conectes se trasladará al microcontrolador, el cual se encargará de procesar
los datos que le lleguen a través de ellos.
El tipo de periféricos que puedas utilizar para enviar datos
al microcontrolador depende en gran medida de qué uso le estés pensando dar.
Pueden ser cámaras para obtener imágenes, teclados para introducir datos, o
diferentes tipos de sensores.
También cuenta con una interfaz de salida, que es la que se
encarga de llevar la información que se ha procesado en el Arduino a otros
periféricos. Estos periféricos pueden ser pantallas o altavoces en los que
reproducir los datos procesados, pero también pueden ser otras placas o controladores.
Arduino es un proyecto y no un modelo concreto de placa, lo
que quiere decir que compartiendo su diseño básico te puedes encontrar con
diferentes tipos de placas. Las hay de varias formas, tamaños y colores para a
las necesidades del proyecto en el que estés trabajando, las hay sencillas o
con características mejoradas, Arduinos orientados al Internet de las Cosas o
la impresión 3D y, por supuesto, dependiendo de estas características te
encontrarás con todo tipo de precios.
Además, las placas Arduino también cuentan con otro tipo de
componentes llamados Escudos (Shields) o mochilas. Se trata de una especie de
placas que se conectan a la placa principal para añadirle una infinidad de
funciones, como GPS, relojes en tiempo real, conectividad por radio, pantallas
táctiles LCD, placas de desarrollo, y un larguísimo etcétera de elementos.
MODELOS DE ARDUINO:
ARDUINO UNO R3:
Este es el nuevo Arduino Uno R3, utiliza el microcontrolador
ATmega328. En adición a todas las características de las tarjetas anteriores,
el Arduino Uno utiliza el ATmega16U2 para el manejo de USB en lugar del 8U2 (o
del FTDI encontrado en generaciones previas). Esto permite ratios de
transferencia más rápidos y más memoria. No se necesitan drivers para Linux o
Mac (el archivo inf para Windows es necesario y está incluido en el IDE de
Arduino).
La tarjeta Arduino Uno R3 incluso añade pins SDA y SCL
cercanos al pin AREF. Es más, hay dos nuevos pines cerca del pin RESET. Uno es
el IOREF, que permite a los shields adaptarse al voltaje brindado por la
tarjeta. El otro pin no se encuentra conectado y está reservado para propósitos
futuros. La tarjeta trabaja con todos los shields existentes y podrá adaptarse
con los nuevos shields utilizando esos pines adicionales.
El Arduino es una plataforma computacional física
open-source basada en una simple tarjeta de I/O y un entorno de desarrollo que
implementa el lenguaje Processing/Wiring. El Arduino Uno R3 puede ser utilizado
para desarrollar objetos interactivos o puede ser conectado a software de tu computadora
(por ejemplo, Flash, Processing, MaxMSP). El IDE open-source puede ser
descargado gratuitamente (actualmente para Mac OS X, Windows y Linux).
Características:
Microcontrolador ATmega328.
Voltaje de entrada 7-12 V.
14 pines digitales de I/O (6 salidas PWM). 6 entradas
analógicas.
32 KB de memoria Flash.
Reloj de 16 MHz de velocidad.
ARDUINO MEGA 2560 R3
El Arduino Mega está basado en el microcontrolador
ATMega2560. Tiene 54 pines de entradas/salidas digitales (14 de las cuales
pueden ser utilizadas como salidas PWM), 16 entradas analógicas, 4 UARTs
(puertos serie por hardware), cristal oscilador de 16 Mhz, conexión USB, jack
de alimentación, conector ICSP y botón de reset. Incorpora todo lo necesario
para que el microcontrolador trabaje; simplemente conectalo a tu PC por medio
de un cable USB o con una fuente de alimentación externa. El Arduino Mega es
compatible con la mayoría de los shields diseñados para Arduino Duemilanove,
Diecimila o UNO.
Esta nueva versión de Arduino Mega 2560 además de todas las
características de su sucesor, el Arduino Mega ahora utiliza un
microcontrolador ATMega8U2 en vez del chip FTDI. Esto permite mayores
velocidades de transmisión por su puerto USB y no requiere drivers para Linux o
MAC (archivo inf es necesario para Windows) además ahora cuenta con la
capacidad de ser reconocido por el PC como un teclado, mouse, joystick, etc.
Características:
Microcontrolador ATmega2560.
Voltage de entrada de – 7-12 V. 54 pines digitales de
Entrada/Salida (14 de ellos son salidas PWM).
16 entradas analógicas.
256 KB de memoria flash.
Velocidad del reloj de 16 Mhz
ARDUINO LEONARDO
El Leonardo es la primera placa de desarrollo de Arduino que
utiliza un microcontrolador con USB incorporado. Usando el ATmega32U4 como su
único microcontrolador permite que sea más barato y más simple. También, debido
a que el 32U4 está manejando el USB directamente, están disponibles bibliotecas
de código que permiten a la placa emular un teclado de computadora, ratón, y
más usando el protocolo USB HID!
Tiene 20 pines digitales de entrada / salida (de los cuales
7 puede utilizarse para salidas PWM y 12 entradas como analógicas), un
oscilador de 16 MHz, una conexión micro USB, un conector de alimentación, un
conector ICSP, y un botón de reinicio. Contiene todo lo necesario para apoyar
el microcontrolador; basta con conectarlo a un ordenador con un cable USB,
adaptador AC a DC o batería para empezar.
Características:
Microcontrolador ATmega32u4.
Voltaje de entrada: 7-12 V.
20 Pines digitales I/O.
7 canales PWM. 12 ADCs.
Velocidad de reloj 16 MHz.
32 KB de memoria Flash.
ARDUINO DUE
El Arduino Due es la primera placa de desarrollo de Arduino
basado en ARM. Esta placa esta basada en un potente microcontrolador ARM
CortexM3 de 32 bits, programable mediante el familiar IDE de Arduino. Aumenta
la potencia de cálculo disponible para los usuarios de Arduino manteniendo el
lenguaje lo mas compatible posible para que muchos programas puedan migrar en
cuestión de minutos.
El Arduino Due dispone de 54 pines digitales de entrada /
salida (de los cuales 12 pueden utilizarse para salidas PWM), 12 entradas
analógicas, 4 UARTs (puertos serie), un reloj de 84 MHz, una conexión USB OTG,
2 DAC (convertidor digital a analógico), 2 TWI, un conector de alimentación, un
cabezal SPI, un conector JTAG, un botón de reinicio y un botón de borrado.
También hay algunas características interesantes como DACs, Audio, DMA, una
biblioteca multitarea experimental y más.
Para compilar el código para el procesador ARM, necesitarás
la última versión del IDE de Arduino: v1.5 (Después de un período de prueba y
depuración, este reemplazará al 1.0.1 IDE al completo)
Debido a las limitaciones de tensión del sistema impuesto
por el Atmel SAM3X8E, los shields de Arduino basados en los modelos de 5 V no
funcionarán correctamente. Todos los shields que implementen plenamente la
disposición Arduino R3 son compatibles directamente (como el Arduino WiFi y
Ethernet Shield), pero otros shields podrían no ser compatibles. Tenga cuidado
cuando este enchufando cosas!
Características:
Microcontrolador: AT91SAM3X8E
Voltaje de operación: 3.3 V
Voltaje de entrada recomendado: 7-12 V
Voltaje de entrada min/max: 6-20 V
Digital I/O Pins: 54 (de los cuales 12 son salida PWM)
Pines de entrada analógica: 12
Pines de salida analógica: 2
Corriente total de salida DC en todas las lineas I/O: 130 mA
Corriente DC para el Pin de 3.3 V: 800 mA
Corriente DC para el Pin de 5 V: 800 mA
Memoria Flash: 512 KB disponibles para aplicaciones del
usuario SRAM: 96 KB (dos bancos: 64KB y 32KB)
Velocidad del reloj: 84 MHz
ARDUINO YÚN
El Arduino YÚN es el primer miembro de una nueva familia de
Arduinos que combina el poder de Linux con la facilidad de uso de las placas
Arduino.
El Arduino YÚN es la combinación de un Arduino Leonardo
(basado en el procesador Atmega32U4) con un chip interno de Wifi ejecutandose
Linino (una distribución GNU/Linux basada en OpenWRT). La máquina Linux está
embebida en el PCB de Arduino Leonardo y ambos están comunicados, por lo que es
muy fácil ejecutar comandos Arduino desde Linux y utilizar las interfaces
Ethernet y Wifi.
Históricamente, la interfaz Arduino con servicios web
complejos ha sido todo un reto debido a limitada cantidad de memoria
disponible. Los servicios Web suelen utilizar formatos basados en texto como
XML que requieren bastante memoria RAM para poder analizarlos. En Arduino Yun
hemos creado una biblioteca llamada bridge, que delega todas las conexiones y
el procesamiento de las transacciones de red HTTP en la máquina Linux incluida
en la tarjeta.
Para hacer aún más sencilla la creación de aplicaciones
complejas, el Arduino Yun viene cargado con la potencia de Temboo, una startup
innovadora que proporciona un acceso normalizado a 100 + APIs, bases de datos y
servicios de código a partir de un único punto de contacto, permitiendo a los
desarrolladores mezclar y combinar los datos procedentes de múltiples
plataformas (por ejemplo, Facebook, Foursquare, Dropbox e incluso FedEx y
PayPal).
La YUN se puede programar con un cable USB de la forma
Arduino clásica o através de la conexión Wi-Fi sin necesidad de conectarse
físicamente. El nuevo IDE Arduino 1.5.4 tiene la capacidad de detectar
cualquier Arduino Yun conectado a la red local. Al hacer click en el nombre de
la tarjeta y la introducción de una contraseña es todo lo que se necesita para
programar una YUN.
Especificaciones Técnicas:
Microcontrolador ATmega32u4
Tensión de trabajo 5 V<
Tensión de entrada (recomendada) 5 V via microUSB o PoE
802.3af
Tensión de entrada (limites) 6-20 V
Pines Digitales I/O 14
Canales PWM 7>
Canales de entrada analógica 6 (más 6 multiplexados en 6
pines digitales)
Corriente DC por pin I/O 40 mA
Corriente DC por pin a 3.3 V 50 mA
Memoria Flash 32 KB (ATmega32u4) de los cuales 4 KB se usan
para el bootloader
SRAM 2.5 KB (ATmega32u4)
EEPROM 1 KB (ATmega32u4)
Velocidad del reloj 16 MHz
MIPS 24K trabajando el microprocesador a 400 MHz
DDR2 64 MB
de RAM y 6 MB SPI Flash
Completa IEEE 802.11bgn 1×1 AP o router
Dispositivo host USB 2.0 poE compatible 802.3af
Soporte para tarjeta MicroSD
ARDUINO PRO MINI 328,
5 V, 16 MHz
Arduino Pro Mini no viene provisto de conectores para que
pueda soldar un cable en cualquier conector con cualquier orientación que
necesita. Recomendamos a los usuarios que comienzan con Arduino que usen el
Duemilanove. Es una gran placa que lo llevará a trabajar rápidamente. La serie
Pro Arduino está destinada a los usuarios que entienden las limitaciones de
tensión del sistema (5 V), la falta de conectores USB, etc.
Realmente queríamos para reducir al mínimo el costo de un
Arduino. La Arduino Pro Mini es como el Arduino Mini (los mismos pines), pero
para mantener el bajo costo, utilizamos todos los componentes SMD, circuito
impreso de dos capas, etc. Esta placa se conecta directamente a la placa base
FTDI Breakout y soporta auto-reset. La Arduino Pro Mini también funciona con el
cable FTDI pero el cable FTDI no llevar a cabo el pin DTR por lo que la función
de auto-reset no funcionará.
Caracteristicas:
ATmega328 funcionando a 16 MHz con resonador externo (0,5%
de tolerancia)
Conexión USB de placa
Soporta auto-reset
Regulador de 5V Salida máxima de 150 mA
Protección contra sobreintensidad
Protegido contra inversión de polaridad
Entrada de CC 5 V hasta 12 V
LEDs de presencia de tensión y de estado
ARDUINO ETHERNET
Tarjeta única que integra el ATMEGA328, el microcontrolador
Arduino Uno con el Arduino Ethernet Shield. Tiene 14 pines de entradas/salidas
digitales, 6 salidas analógicas, un oscilador de 16 MHz de cristal, una
conexión RJ45, un conector Jack, un cabezal ICSP y un botón reset.
También podría añadirse un módulo Power over Ethernet (PoE)
a esta tarjeta.
El Ethernet difiere de otras tarjetas en que no tiene un
chip driver USB a serie incorporado, pero tiene una interface Wiznet Ethernet.
Esta es la misma interface encontrada en los dispositivos Ethernet Shield.
Incorpora un lector de tarjetas microSD, que puede ser usado
para guardar archivos que sirvan en la red, accesibles a través de la librería
SD. El pin 10 está reservado para la interface Wiznet. El SS para la tarjeta SD
está en el pin 4.
El pin 6 para el cabezal de programación serie es compatible
con el cable USB FTDI o con las tarjetas USB a serie FTDI-style básica. Incluye
soporte para reseteo automático, permite que los códigos sean subidos sin
presionar el botón de reset de la tarjeta. Cuando se conecta a un adaptador USB
a serie, el Arduino Ethernet es alimentado desde el adaptador.
Memoria:
El ATmega328 tiene 32 KB (con 0.5 KB usados por el gestor de
arranque). También tiene 2 KB de SRAM y 1 KB de EEPROM (que se puede leer y escribir
con la librería EEPROM).
Comunicación:
El Ethernet Arduino tiene grandes facilidades para
comunicarse con tu computador, otro Arduino u otros microcontroladores.
La librería SoftwareSerial permite la comunicación serie con
cualquiera de los pines digitales del Uno.
El ATmega328 también soporta comunicación TWI y SPI. El
software Arduino incluye una librería Wire para simplificar el uso del bus TWI;
ver la documentación para más detalles. Para la comunicación SPI, usar la
librería SPI.
Esta tarjeta también se puede conectar a una red de cables
vía Ethernet. Cuando se conecta a una red, necesitarás darle una dirección IP y
una dirección MAC. La librería Ethernet es totalmente compatible.
El lector de tarjeta microSD incluido se puede acceder vía
librería SD. Cuando se trabaja con esta librería, el SS está en el pin 4.
Características:
Microcontrolador: ATmega328.
Voltaje de operación: 5 V.
Voltaje de salida de conexión (recomendada): 7-12 V.
Voltaje de salida de conexión (límites): 6-20 V.
Pines de entrada/salida digitales: 14 (4 de los cuales
proveen salida de PWM).
Pines Arduino reservados:
10 a 13 usados para SPI.
4 usados para tarjeta SD.
2 de interrupción W 5100 (cuando está en puente).
Pines de salida analógicos: 6.
Corriente DC por cada pin de entrada/salida: 40 mA.
Corriente DC para pines de 3.3 V: 50mA.
Memoria flash: 32Kb (ATmega328) de os cuales 0.5 Kb son
usados por el gestor de arranque.
SRAM: 2 Kb (ATmega328).
EEPROM: 1 Kb (ATmega328).
Velocidad de reloj: 16 MHz.
Controlador Ethernet integrado W 5100 TCP/IP.
Tarjeta Micro SD, con transistores de voltaje activos.
GND. Pines de tierra.
El módulo opcional PoE es diseñado para extraer energía
desde un cable Ethernet categoría 5 de par trenzado:
Certificado por la IEEE802.3af.
Baja salida de ruido y onda (100 mVpp).
Rango de entrada de voltaje de 36 V a 57 V.
Protección de sobrecarga y cortocircuito.
Salida de 9 V.
Convertidor DC/DC de alta eficiencia: tipo 75% @ 50% de
carga.
Aislamiento de 1500 V (entrada a salida).
ARDUINO NANO
El Arduino Nano es una pequeña, pero poderosa tarjeta basada
en el ATmega328. Posee las mismas funcionalidades que un Arduino UNO, solo que
en un tamaño reducido. Para programarla solo se necesita de un cable Mini USB.
Características:
Microcontrolador: ATMega328
Voltaje de operación: 5 V
Voltaje de alimentación (Recomendado): 7-12 V
I/O Digitales: 14 (6 son PWM)
Memoria Flash: 32 KB
EEPROM: 1KB
Frecuencia de trabajo: 16 MHz
Dimensiones: 0.73″ x 1.70″
ARDUINO FIO
El Arduino Funnel I /
O (FIO) es una placa diseñada por Shigeru Kobayashi, basado en el diseño
original de LilyPad.
Funnel es un conjunto de herramientas para ejecutar su idea
físicamente, y se compone de bibliotecas de software y hardware. Mediante el uso
de Funnel, el usuario puede interactuar con los sensores y/o actuadores con
varios lenguajes de programación tales como ActionScript 3, Processing, y Ruby.
Arduino Fio es compatible con Funnel. Tiene conexiones para
una batería de polímero de litio e incluye un circuito de carga a través de
USB. Un zócalo XBee está disponible en la parte inferior de la placa. El Fio ha
sido diseñado para ser reprogramable de forma inalámbrica.
Nota: El conector miniUSB se utiliza para cargar la batería
solamente. Para cargar nuevo firmware, necesitará una conexión serie externa a
través de un FTDI Basic, cable FTDI, u otra conexión serie.
Nota: El zócalo XBee y conexión FTDI viven en los mismos
pines TX / RX del ATmega328. Usted tendrá que quitar el módulo XBee mientras reprograma
mediante serie. Le recomendamos que utilice un gestor de arranque inalámbrico
siempre que sea posible para evitar este paso.
Características:
ATmega328V funcionando a 8MHz
Arduino Bootloader
XBee socket
Compatible con baterías de polímero de litio
Cargador
LiPo MCP73831T
Reset
button
On/Off
Switch
Status/Charge/RSSI
LEDs
ARDUINO
LYLIPAD 328
Tarjeta de desarrollo Arduino LilyPad consistente en un
ATmega 328 con el gestor de arranque Arduino y un mínimo número de componentes
externos para mantenerlo lo más pequeño y simple posible. La tarjeta funciona
desde 2 a 5 V. La versión más nueva del LilyPad presenta un reseteo automático
para una programación aún más fácil. ¡La parte de atrás del LilyPad es
completamente plana! Ahora usamos un conector de programación de montaje en
superficie para que el conector tenga un contacto correcto.
Esta versión del LilyPad ahora usa el nuevo ATmega328 a 8
MHz. Arduino 0016 es compatible con el Arduino Pro Mini 328/8 MHz. Usa esta
configuración cuando trabajes con el LilyPad 328.
El LilyPad es una tecnología desarrollada por Leah Buechley
y diseñada en coordinación con Leah y SparkFun. Cada LilyPad fue diseñado de
manera creativa para que tengan grandes pads de conexión que le permiten ser
cosidas a cualquier prenda. Varias entradas, salidas, formas de alimentación y
sensores están disponibles para su uso.
Dimensiones
50 mm de diámetro externo.
Delgado PCB de 0.8mm.
TAREAS GUIADAS DENTRO DEL LABORATORIO:
- Se observó que la programación en el arduino debe ser clara y también se debe respetar minuciosamente la escritura de todos los comandos para un buen funcionamiento.
- Se observó que para grabar una programación en el arduino primero debemos darnos cuenta de que el arduino esté correctamente conectado con el ordenador y este lo reconozca o en caso contrario instalar los drivers correspondientes.
- Se observó en el laboratorio que al utilizar el Arduino, tuvimos que conectar a nuestra PC y hacer las respectivas configuraciones para que funcione de manera correcta y proceder a programar.
- Se observó en el Arduino que una vez hecho la programación y cuando procedemos a compilar y subir esta información, el Arduino tiene la capacidad de grabar la información y no borrarse, por más que este no esté conectado a una fuente.
- Se observó que si la programación está mal hecha, el programa no podrá compilar, ni mucho menos subir al Arduino la información.
- Se observó que en el Arduino contiene entradas y salidas de tipo digital y analógico, de los cuales se utilizará de acuerdo que queremos programar.
CONCLUSIONES:
- Se concluye que el comando "if" nos permite insertar condiciones y cuando estas se cumplen se ejecuta una serie de declaraciones (operaciones) que se escriben dentro de llaves.
- Se concluye que el arduino se enfoca en acercar y facilitar el uso de la electronica y programacion de sistemas con sus diferentes herramientas y su sencilla práctica.
- Se concluye que se logró aprender el lenguaje de programación básico del arduino para así poder empezar a programar.
- Se concluye que se logró realizar durante el laboratorio una programación básica en las diferentes tareas.
- Se concluye que se logró realizar todas las tareas que se propuso durante todo el laboratorio, como programar el funcionamiento de un semáforo básico.
- Se concluye que para poder programar es necesario saber el lenguaje de programación del Arduino y todos los comandos que este utiliza.
- Se concluye que el Arduino es una plataforma de prototipos para programación más fáciles de poder entender y poder empezar a programar.
Comentarios
Publicar un comentario