Teoría de Arduino
Teoría de Arduino
¿Qué es Arduino?
Arduino es una plataforma de electrónica “open-source”o de código abierto cuyos
principios son contar con software y hardware fáciles de usar. Básicamente lo que
permite esta herramienta es la generación de infinidad de tipos de
microordenadores de una sola placa, que luego pueden tener una amplia variedad
de usos según la necesidad de la persona que lo cree. Es decir, una forma sencilla
de realizar proyectos interactivos para cualquier persona.
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.
Origen de Arduino
Esta plataforma se inició en el año 2005 como un proyecto para estudiantes en el
Instituto IVREA, en Ivrea (Italia). En ese tiempo, los estudiantes usaban el
microcontrolador BASIC Stamp, cuyo coste era de 100 dólares estadounidenses,
lo que se consideraba demasiado costoso para ellos. Por aquella época, uno de
los fundadores de Arduino, Massimo Banzi, daba clases en Ivrea.
El nombre del proyecto viene del nombre del Bar di Re Arduino (Bar del Rey
Arduino) donde Massimo Banzi pasaba algunas horas. El rey Arduino fue rey de
Italia entre los años 1002 y 1014.
En la creación de este proyecto contribuyó el estudiante colombiano Hernando
Barragán, quien desarrolló la tarjeta electrónica Wiring, el lenguaje de
programación y la plataforma de desarrollo. Una vez concluida dicha plataforma,
los investigadores trabajaron para hacerlo más ligero, económico y disponible para
la comunidad de software libre (hardware y código abierto). El instituto finalmente
cerró sus puertas, así que los investigadores, entre ellos el español David
Cuartielles, promovieron la idea. Banzi afirmaría años más tarde que el proyecto
nunca surgió como una idea de negocio, sino como una necesidad de subsistir
ante el inminente cierre del Instituto de diseño Interactivo IVREA. El motivo es que
al crear un producto de hardware abierto, nadie podría embargarlo.
Las características generales de todas las placas Arduino son las siguientes:
El microprocesador ATmega328
32 kbytes de memoria Flash
1 kbyte de memoria RAM
16 MHz
13 pins para entradas/salidas digitales (programables)
5 pins para entradas analógicas
6 pins para salidas analógicas (salidas PWM)
Completamente autónomo: Una vez programado no necesita estar
conectado al PC
Microcontrolador ATmega328
Voltaje de operación 5V
Voltaje de entrada (recomendado) 7-12 V
Voltaje de entrada (limite) 6-20 V
Digital I/O Pins 14 (con 6 salidas PWM)
Entradas analógicas Pins 6
DC corriente I/O Pin 40 mA
DC corriente 3.3V Pin 50 mA
Memoria Flash 32 KB (2 KB para el bootloader)
SRAM 1 KB
EEPROM 512 byte
Velocidad de reloj 16 MHz
Software:
Arduino simplifica el trabajo con microcontroladores y ofrece las siguientes
ventajas: barato, multiplataforma, entorno de programación sencillo, software libre
y extensible mediante librerías en C++, hardware libre y extensible.
Al trabajar con Arduino, se manejan conceptos de diferentes tecnologías que a
priori no tienen nada que ver entre ellos pero que los unifica: electrónica digital y
analógica, electricidad, programación, microcontroladores, tratamiento de señales,
protocolos de comunicación, arquitectura de procesadores, mecánica, motores,
diseño de placas electrónicas etc.
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
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.
Aplicaciones:
Actualmente tiene diferentes usos, como la aplicación de desarrolladores de
diseños artísticos e interactivos; de igual forma, muchas personas utilizan Arduino
para incursionar en aplicaciones tecnológicas, como la automatización y la
robótica. Su aplicación, aunque pudiera parecer limitada a áreas de la ciencia muy
especializadas, es en realidad común, al encontrarla en un cajero automático, un
calentador de agua, la pluma de un estacionamiento o las puertas de una plaza o
supermercado, y es que este tipo de herramientas, que facilitan nuestra vida
diaria, están basadas en un pequeño microcontrolador, cuya tarea está dictada por
un programa.
Programar es algo que hacemos día con día al planear nuestras actividades, pero
si nos detenemos a organizar aquello que hacemos de manera inconsciente,
obtendremos una serie ordenada de pasos que nos llevarán a un objetivo; si
tenemos esto claro seremos capaces de planear actividades más complejas. En
este curso utilizaremos Arduino UNO para realizar dos prototipos que muestran el
funcionamiento de dispositivos, como un chaleco para ciclista y un pastillero. No
es requisito tener conocimientos de programación; sin embargo, conforme
avances en el estudio de este curso probablemente necesites reforzar e investigar
sobre algunos de los aspectos que aquí se expliquen. A través de las actividades y
material didáctico de este curso aprenderás a aplicar la tarjeta Arduino y podrás
adquirir y reforzar nociones básicas de programación, utilizando una herramienta
de fácil acceso, que te permitirá además elaborar posteriores proyectos de tu
interés.
Otra aplicación increíble es crear robots y carros, que pueden controlarse
mediante controles remotos o pueden ser completamente autónomos. A menudo
se crean robots de seguimiento de línea o robots para evitar colisiones. También
es posible crear brazos robóticos utilizando servomotores, es decir, motores que
tienen control de su ángulo de rotación. Los sensores que detectan el cambio
climático, la humedad, la temperatura o incluso extraen información del suelo
también se usan ampliamente en proyectos con el tablero.