Arduino
Introducción
MTI. Alfredo Terrazas Porcayo
alfredo.tp@cenidet.tecnm.mx
INTRODUCCIÓN
❑ ¿Qué es Arduino?
❑ ¿Qué necesitamos para trabajar con Arduino?
❑ Open Source en Hardware
❑ La Plataforma Arduino
❑ Funciones Básicas para la Programación de Arduino
❑ Prácticas de Laboratorio
✓ Activar dispositivos digitales
✓ Leer sensores digitales
✓ Leer sensores analógicos
✓ Controlar motores
✓ Ampliar Arduino
¿Qué Es Arduino?
Arduino es una placa programable con entradas y salidas digitales y
analógicas, cuyo bajo coste la hace ideal para iniciarse en automatización o
realizar pequeños proyectos domésticos en electrónica y robótica.
Esto significa que disponemos de un pequeño “autómata”, capaz de recibir
información del entorno (sensores) y realizar acciones (actuadores,
motores…), de acuerdo a un programa que introducimos con un ordenador y
que puede ejecutar de forma autónoma.
Es una plataforma de hardware libre para la creación de prototipos
basados en software y hardware flexibles y fáciles de usar.
Arduino es una herramienta de hardware para hacer que ciertos
equipos puedan sentir y controlar el mundo físico a través de un
ordenador personal.
Es una plataforma de desarrollo de computación física (physical
computing) de código abierto, basada en una placa con un sencillo
microcontrolador y un entorno de desarrollo (IDE) para crear código
de programación para la placa.
Arduino es un Ecosistema abierto y libre:
❑ Hardware
❑ Software
✓ IDE
✓ Librerías
❑ Documentación
✓ Guías
✓ Ejemplos
❑ Comunidad On-Line
Ecosistema abierto y libre
¿QUÉ SE REQUIERE PARA TRABAJAR CON ARDUINO?
Hasta poco antes de aparecer Arduino, los autómatas comerciales/industriales
con una capacidad similar costaban varios cientos o miles de dólares.
Este tipo de autómatas se emplean para interactuar y controlar todo tipo de
sistemas, desde instalaciones en edificios (climatización, bombeo),
instalaciones industriales, vehículos, robots… cualquier sistema físico que
necesite ser controlado electrónicamente.
Arduino es flexible y fiable. ¿Es aplicable en proyectos domésticos?
Es un proyecto que en algún momento se puede intentar, de hecho se sabe
que las empresas realizan productos comerciales que están basados en
Arduino. Sin embargo, si un día se necesita controlar (por ejemplo) la
climatización de un edificio de 400m2, donde solo el aire acondicionado
cuesta $200,000.00 pesos, parecerá una imprudencia instalar un controlador
de sólo $1,000.00 pesos.
Sin embargo, todo lo que se haya aprendido sobre electrónica,
automatización, lenguajes de programación y telecomunicaciones, se podrá
aplicar directamente y con facilidad, por lo que Arduino es una plataforma
excelente para práctica y desarrollo de proyectos.
Smart Home
OPEN SOURCE EN HARDWARE
Características:
✓ Multitud de Marcas y Versiones de tarjetas electrónicas
✓ Gran comunidad de usuarios
✓ Posibilidad de desarrollar prototipos personales
✓ Precios en Tarjetas muy Accesibles
¿QUÉ MODELO DE ARDUINO COMPRAR?
Existen multitud de modelos de tarjetas Arduino disponibles, lo que puede ser
un poco confuso para los usuarios nuevos.
A la hora de elegir lo normal es tomar en cuenta la cantidad de puertos de
E/S que tiene, especialmente las analógicas dado que son las que
habitualmente limitan o amplían un proyecto. En la siguiente tabla se muestran
los modelos de Arduino más habituales, con sus características más
importantes y un precio aproximado de referencia comprándolas en eBay o
AliExpress.
Lo más normal es que para empezar se opte por una Arduino UNO r3.
Este es el modelo más estándar y es la placa que se utiliza de forma habitual.
Para proyectos más grandes que requieran manejar un número importante de
motores o servo motores (robots, máquinas de CNC, impresoras 3D) puede
ser necesario pasar a un modelo con mayor número de salidas, especialmente
analógicas. En ese caso lo normal es emplear una Arduino MEGA r3.
Por su parte, el modelo Mini 05 es un modelo para usuarios avanzados.
Es una placa de apenas $150 pesos y un tamaño realmente pequeño,
pensado para aplicaciones finales, es decir, cuando vas a dejar la placa
permanentemente conectada (y por tanto la vas a “perder”).
Viene sin terminales de conexión, hay que soldarlos, y para programarla se
requiere adaptador USB FTDI que cuesta $100 pesos.
LA PLATAFORMA ARDUINO
Material
❑ 1 Tarjeta Arduino Uno c/cable USB
❑ 2 Protoboard
❑ 1 Caja de plástico con compartimientos
❑ 10 Leds Rojos
❑ 10 Leds Azules
❑ 10 Leds Verdes
❑ 1 Led RGB
❑ 10 Resistencias 330
❑ 10 Resistencias 1K
❑ 1 Módulo de Relé de un Canal ($40.00 Pesos)
❑ 1 Potenciómetro 10K
❑ 1 ServoMotor TowerPro SG90
❑ 1 Modulo BlueTooth HC06 ($130.00 pesos)
❑ 1 Sensor de Temperatura LM35
❑ 1 Sensor Magnético Efecto Hall Arduino 3144 ($20.00 pesos)
❑ 1 Módulo Joystick para Arduino
❑ 10 Cables puente macho-macho
❑ 10 Cables puente macho-hembra
❑ 5 Caimanes chicos
ESPECIFICACIONES TÉCNICAS
Placa que contiene un
microcontrolador
pensado en realizar
prototipos regrabables.
ESPECIFICACIONES TÉCNICAS
ESPECIFICACIONES TÉCNICAS
PINES DE ALIMENTACIÓN
Arduino se puede alimentar mediante conexión USB o mediante una fuente
externa (recomendada de 7-12V).
Tendremos entonces unas salidas de tensión continua debido a unos
reguladores de tensión y condensadores de estabilización.
PINES DE ALIMENTACIÓN
PINES DE ALIMENTACIÓN
V-in: se trata de la fuente tensión de entrada que contendrá la tensión a la que
estamos alimentando a la tarjeta Arduino mediante una fuente externa.
5V: Fuente de tensión regulada de 5V; esta tensión puede venir ya sea de pin
V-in a través de un regulador interno, o se suministra a través de USB o de
otra fuente de 5V regulada.
3.3V: Fuente de 3.3V generados por el regulador interno, con un consumo
Máximo de corriente de 50mA.
GND: Pines de tierra.
PINES DIGITALES
DE ENTRADA Y SALIDA
Arduino UNO integra14 pines digitales, los cuales se pueden utilizar como
de entrada o salida.
Cada pin puede proporcionar o recibir un máximo de 40 mA y tiene una
resistencia de pull-up (desconectado por defecto) de 20 a 50 K
Además, algunos pines tienen funciones especializadas.
PINES DIGITALES
DE ENTRADA Y SALIDA
PINES DIGITALES
DE ENTRADA Y SALIDA
• Pin 0 (RX) y 1 (TX). Se utiliza para recibir (RX) y transmitir (TX) datos serie TTL.
• Pin 2 y 3. Interrupciones externas. Se trata de pines encargados de interrumpir el
programa secuencial establecido por el usuario.
• Pin 3, 5, 6, 9, 10 y 11. PWM (modulación por ancho de pulso). Constituyen 8 bits de
salida PWM con la función analogWrite ().
Estos pines pueden utilizarse también como analógico - digitales
• Pin 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Estos pines son de apoyo
a la comunicación SPI.
• Pin 13. LED. Hay un LED conectado al pin digital 13, Cuando el pin es de
alto valor.
PINES ANALÓGICOS
Arduino UNO posee 6 entradas analógicas, etiquetadas desde la A0 a A5,
cada una de las cuales ofrecen 10 bits de resolución (es decir, 1024
estados).
Por defecto, tenemos una tensión de 5V, pero podemos cambiar este rango
utilizando el pin de AREF y utilizando la función analogReference(), donde le
introducimos una señal externa continua que la utilizara como referencia.
PINES ANALÓGICOS
RESUMEN TARJETA ARDUINO UNO
PROTOBOARD
Voltaje (rojo)
Líneas de Alimentación
Tierra (Azul)
Nodos o Buses
Nodos o Buses
Voltaje (rojo)
Líneas de Alimentación
Tierra (Azul)
OPEN SOFTWARE
Una vez que conocemos todo los pines necesarios para el manejo y control
del Arduino, vamos a descargar e instalar el software para poder programarlo
mediante el ordenador.
Conectamos la placa Arduino al ordenador usando el cable USB, una vez
conectada el led de la placa PWR (led de alimentación) deberá permanecer
encendido a partir de ahora.
OPEN SOFTWARE
https://www.arduino.cc/en/main/software
Posteriormente al conectar la tarjeta de Arduino, Microsoft Windows
automáticamente deberá de inicializar la instalación de los drivers.
Ejecutamos la aplicación Arduino, seleccionamos la placa y el puerto serie.
Una vez que configuramos la placa Arduino al ordenador, podemos
introducir código del lenguaje de programación de Arduino.
Cargar el Programa a la Placa.
Una vez que tenemos desarrollado el programa completo, se requiere:
1) Compilar el programa
2) Grabarlo en la placa
Arduino IDE
Integrated
Developm ent
Environment
PROGRAMACIÓN DE ARDUINO
// También podemos crear Funciones
int mi_función (int param1, int param2) {
//Código de la función
}