Arduino For Dummies
Arduino For Dummies
Parte 1.
Características principales de Arduino
Hardware económico y flexible: Las placas Arduino son relativamente baratas
comparadas con otras plataformas de microcontroladores, desde
microcontroladores de 8 bits hasta aplicaciones IoT.
Entorno de programación sencillo: El software de Arduino (IDE) es fácil de
usar para principiantes, pero lo suficientemente flexible para usuarios
avanzados. Para los educadores, está convenientemente basado en el
entorno de programación de Processing, lenguaje programación Arduino,
los estudiantes que aprenden a programar en Processing estarán
familiarizados con la forma en que el IDE de Arduino funciona
transfiriendo fácilmente sus conocimientos a un programa Arduino.
Multiplataforma: El software de Arduino (IDE) funciona en sistemas
operativos Windows, Mac OSX y Linux.
Software de código abierto y extensible: El software de Arduino se publica
como herramientas de código abierto, disponibles para la contribución de
programadores de todo el mundo. El lenguaje puede ser extendido a través
de bibliotecas C/C++ y portado a otras plataformas de hardware.
Hardware de código abierto y extensible: Los diagramas de las placas Arduino
se publican bajo una licencia Creative Commons, por lo que los
diseñadores de circuitos experimentados pueden hacer su propia versión
de los diferentes módulos, ampliándolos y mejorándolos o simplemente
aprender cómo se construyen. Los principiantes pueden construir
versiones de la protoboard para entender cómo funciona y ahorrar dinero.
En nuestra web encontrarás miles de proyectos y tutoriales de
Arduino con los que podrás realizar tu proyecto. Arduino es
una plataforma de que se utiliza para la construcción y desarrollo
de proyectos de electrónica, incluida la Impresión 3D. Arduino junto a
la Raspberry Pi y muchas de sus alternativas, es uno de los puntales del
Hardware Libre. Y su placa estrella es la Arduino Uno. Esa es la
definición rápida y sencilla.
Seguro que ya has estado en multitud de webs con tutoriales y no has
encontrado el tuyo. En nuestra web podrás encontrar la respuesta a esas
preguntas. Te daremos la definición de este microcontrolador de código
abierto. Deja que te invitemos a una de las webs de referencia en español
sobre Hardware Libre. Eso sí, no somos la Wikipedia.
¿Qué es Arduino?¿y qué se puede
hacer con Arduino?
¿Para qué sirve Arduino?
Arduino es una plataforma de código abierto de creación de prototipos de
basada en Hardware Libre y software libre y fácil de usar. Arduino incluye
circuitos electrónicos, software y documentación en formato de código
abiertos, es decir cualquiera puede usarla o hacer cambios en ella. Esta
plataforma nos proporciona una herramienta de Arduino programación de
código abierto y fácil de usar, para escribir código y subirlo a tu tarjeta a
través de como Arduino IDE (Entorno de Desarrollo Integrado).
Arduino permite a los usuarios una manera simple para crear objetos
interactivos que pueden tener entradas de interruptores y sensores, y
controlar salidas físicas como luces, motores o actuadores. Debido a que
el lenguaje está basado en frameworks bien utilizados, Arduino puede
interactuar con otros programas en el ordenador como Flash o incluso
con APIs web como Twitter.
Domótica
Domótica con Arduino y Raspberry Pi, automatiza toda tu casa
Una casa inteligente con Arduino
Automatiza la puerta de tu casa con Arduino
Cómo hacer un sistema de alarma con Arduino para tu hogar
Drones
Drones impresos en 3D, Guía de Todo lo que necesitas saber
Cómo hacer un drone con Arduino, ahora más fácil con este
tutorial
Cómo hacer un drone con Arduino, 5 plataformas para construir
drones
5 maneras de ganar dinero con drones, y no son todas
Raspberry Pi
Análisis de la Raspberry Pi 4
¿Qué hacen los pines GPIO de la Raspberry Pi 4?
¿Qué tarjeta micro SD es mejor para tu Raspberry Pi 4?
Cómo conectar un Arduino a una Raspberry Pi a través de una
comunicación serie
Educación
Robótica Educativa, definición, qué es y ventajas para los niños
6 Herramientas para enseñar a los niños programación
La Impresión 3D en la Educación
Programación para niños ¿Por qué debemos enseñar a los
niños a programar?
Scratch Para Arduino
Robótica
¿Cómo Programar un Robot?
7 Brazos robóticos que te puedes construir con Arduino
Cómo aprender robótica con Arduino y no morir en el intento
Robótica para niños, los mejores robots para iniciar a los
peques en la robótica
Lo primero que hay que saber antes de empezar es el tipo de tarjeta que
necesitas, dependiendo de cómo quiera utilizarla. De hecho, hay una
multitud de tarjetas Arduino diferentes, todas hechas para un rango
específico de uso. Aquí están las categorías principales, así como las
placas más utilizados en cada una de estas categorías.
Arduino Mega: esta placa es una de las placas con más conectores (54
entradas/salidas digitales y 16 entradas analógicas).
Arduino Zero: la placa “Zero” tiene un poco más de entradas/salidas que las
placas básicas vistas arriba. Por lo tanto, se utiliza en proyectos que
requieren más elementos para su gestión sin necesidad de más potencia.
Arduino Due: la placa “Due” tiene exactamente las mismas características
que la placa Mega, excepto que también tiene dos salidas analógicas. Por
lo tanto, este microcontrolador es esencial si necesitas generar señales que
no sean continuas.
Tarjetas textiles
Estas tarjetas han sido especialmente diseñadas para integrar la
electrónica en la ropa u otros objetos portátiles. o wearables.
En el año 2005 la primera placa apareció por primera vez en las aulas
del Instituto de Diseño Interactivo de Ivrea, Italia. Fue en ese Instituto de
Diseño Interactivo gracias a una tesis de hardware del estudiante
colombiano Hernando Barragán. El título de la tesis era “Arduino-La
Rivoluzione dell’open hardware” (“Arduino – La revolución del Open
Hardware”).
En resumen, se construyó en torno a esa tesis gracias a la que desarrollo
su plataforma de prototipado Wiring de Hernando Barragán.
Xbee shield
Usb shield
Sensor shield
Proto shield
Sd shield
Wifi shield
Motor shield
Ethernet shield
GPS shield
GSM shield
RS232 shield
Relay shield
lcd shield
Audio shield
Dmx shield
NodeMCU
ESP8266
PARTE 2.
Cómo funciona Arduino, Arduino desde Cero, Primeros Pasos con Arduino
Contenidos [mostrar]
Esta es una guía de Arduino básica para aquel que comienza, queremos que sea
un tutorial arduino que sirva de referencia a la hora de iniciarse en Arduino, es importante
para comenzar a usar Arduino desde Cero, al final del articulo os añadiré unos enlaces
interesantes para principiantes también de nuestra web. Si aún no sabes lo que es
Arduino pásate por este enlace antes. ¿Que es Arduino?
Introducción, definición de Arduino
Como hemos dicho en artículos anteriores y ya muchos sabéis, Arduino es un hardware
basado en el código abierto, es un microcontrolador que se puede utilizar para muchas
aplicaciones diferentes. En resumidas cuentas Arduino es una plataforma de prototipado
electrónico de código abierto basada en hardware y software flexible y fácil de usar. Está
dirigido a artistas, diseñadores, aficionados y cualquier persona interesada en crear
objetos o entornos interactivos. Arduino es una computadora pequeña que se puede
programar para leer y controlar componentes eléctricos conectados a ella.
Podría decirse que es la opción más fácil, con más comunidad detrás y menos costosa
entre los microcontroladores para aficionados, estudiantes y profesionales para
desarrollar proyectos basados en microcontroladores. Si aún no te está decidido por
Arduino échale un vistazo a estas razones que tienes para decidirte por esta plataforma.
Las placas Arduino utilizan chips Atmel AVR o Atmel ARM , y algunas versiones tienen una
interfaz USB. También tienen seis o más pines de entrada analógicas y catorce o más
entradas digitales / salidas (I / O) pines que se utilizan para conectar sensores, módulos o
shields y otros circuitos periféricos al microcontrolador. Además una placa de este tipo no
es muy cara, si la original te parece cara siempre tienes clones.
Microcontrolador
Arduino es un microcontrolador en una tarjeta de circuito que facilita la recepción de
entradas y salidas de accionamiento. Un microcontrolador es una computadora integrada
en un chip.
Entradas o Inputs
Algunos ejemplos de entradas serían un sensor de temperatura, un sensor de
movimiento, un sensor de distancia, un interruptor, etc.
Salidas o Outputs
Algunos ejemplos de salidas serían una luz, una pantalla, un motor, etcétera.
Tipos de placas
Arduino Uno
Arduino MKR1000
Arduino Leonardo
Arduino Due
Arduino Yun
Arduino Tre
Arduino Micro
Arduino Robot
Arduino Esplora
Arduino Mega
Arduino Mini
Arduino LilyPad
Arduino Nano
Arduino Fio
Arduino Pro
Tienes un resumen de las placas más importantes y usadas en el siguiente artículo de
nuestra web, elegir la placa Arduino adecuada para tu proyecto.
Programar arduino desde cero, El bootloader o la vida de tu programa
La memoria del microcontrolador que llevan estas placas es del tipo Flash, es decir que
persiste aunque se le desconecte de la fuente dealimentación. Para cambiar el programa
dentro de la placa, se necesita otro programa, que reside en la parte protegida de la
placa. Ese programa se llama bootloader.
Cable USB
Setup(): La función de setup es una función que se ejecuta sólo una vez cada
vez que se inicia el programa. En esta función se inicializan las variables, se
define la función de cada cabezal (entrada o salida), la inicialización del
estado de las salidas, las funciones de inicialización personalizadas o
cualquier otra parte del código que se quiera ejecutar una sola vez.
Loop(): la función loop es la función principal de Arduino: una vez ejecutada la
función setup, la función loop se ejecutará y repetirá una y otra vez.
El software es muy fácil de usar. En la barra de iconos (visible en la parte superior de la
imagen anterior), puedes ver cinco botones en la parte superior izquierda. La primera
(comprobar) se utiliza para compilar el código y comprobar que no hay errores en él. El
segundo (upload) se usa para enviar el programa al Arduino para su ejecución. Los tres
iconos restantes se utilizan para crear (nuevo), abrir o guardar un proyecto.
El icono en la parte superior derecha se utiliza para abrir el monitor serie. El uso de éste
se detallará a continuación.
Otra cosa muy importante que debes saber es que cuando conectas una tarjeta USB, tienes
que ir al menú “tools” y seleccionar el tipo de tarjeta a la que quieres transferir tu proyecto y
el puerto COM al que está conectado el Arduino. Es necesario hacer esta manipulación
cada vez para que la tarjeta sea reconocida por el software de Arduino y la carga se haga
correctamente. Si el tipo de nuestra tarjeta no existe en el software, simplemente añádalo
utilizando el administrador de tarjetas (Herramientas > Tipo de tarjeta > Administrador de
tarjetas).
Funciones
Como en cualquier lenguaje de programación, el sistema de funciones también está
presente en el lenguaje Arduino. Todas las funciones y operadores básicos como “if”,
“else”, “switch case”, “==”,”!=”, etc. son comunes a muchos lenguajes, y por lo tanto no se
presentarán en este artículo. Si no estás familiarizado con estas funciones, te
aconsejamos que empieces tu aprendizaje con un tutorial de lenguaje C.
1. Delay() : La función Delay(ms) se utiliza para hacer una pausa de una cierta
duración establecida por un número entero pasado en la función cuando se
llama. Este número entero corresponde al número de milisegundos durante
los cuales se debe parar el programa. Esta función es una función de bloqueo
y, por lo tanto, mientras se ejecuta, se ignoran todas las demás acciones.
2. DelayMicrosegundos(): Igual que la función delay(), excepto que el entero
pasado en el parámetro se tiene en cuenta como microsegundos y no como
milisegundos.
3. Unsigned long millis(): permite devolver un número de milisegundos que
corresponde al tiempo transcurrido desde el inicio del programa. Esta función
se reajusta después de unos 50 días después de un desbordamiento.
4. Unsigned long Micro(): exactamente la misma función que milis(), excepto que
micro() devuelve un entero que corresponde a microsegundos y ya no a
milisegundos.
5. Long random(max): devuelve un número entero aleatorio entre 0 y el número
pasado en el parámetro.
6. Long random(min, max): devuelve un número entero aleatorio entre los dos
números pasados en los parámetros.
Función Scheduler
La función del programador es una de las funciones más importantes de Arduino, ya que
nos permite realizar tareas asíncronas. De hecho, básicamente, un Arduino no puede
manejar varias tareas al mismo tiempo. Por ejemplo, si usas la función delay() para hacer
parpadear un LED, y quieres leer el estado de una entrada de Arduino al mismo tiempo,
no podrás hacerlo, porque mientras el delay se está acabando, el programa está
bloqueado, y está esperando a que termine.
Como vimos al principio, el programa está compuesto sólo por dos funciones: “setup()” y
“loop()”. Por supuesto, es posible crear otras funciones, pero se ejecutarán
sincrónicamente después de su llamada. La función planificador de procesos< nos
permite crear varios bucles infinitos (idénticos a la función de bucle existente) y lanzarlos
al mismo tiempo. Un ejemplo del uso de esta función para trabajar diferentes tareas:
Funciones personalizadas
Por supuesto, también podemos crear funciones personalizadas que satisfagan nuestras
necesidades. En lugar de códigos largos, aquí hay un ejemplo de un código que te
permite hacer que un LED parpadee un número específico de veces al presionar un
botón, el número de repeticiones se especifica durante la llamada:
/*
* Impulsos programados
* -----------------
* Cambia de estado ON Off un lED conectado en el una salida
digital
* pin 13. El se encenderá y apagará tantas veces como se indique
mediante un digito
* ASCII leído desde el puerto serie. * * Created 18 October 2006
* copyleft 2006 Tod E. Kurt <[email protected]>
* http://todbot.com/
*
* based on "serial_read_advanced" example
*/
int ledPin = 13;
// selecciona el pin para el LED
int val = 0;
// variable que almacena el valor leído del puerto
void setup() { pinMode(ledPin,OUTPUT);
// declara el PIN del LED como salida
Serial.begin(19200);
// conecta con el puerto serie a la velocidad de 19200
Serial.println("Bienvenido al Generador de Impulsos Programados");
} void loop () { val = Serial.read();
// lee el numero del puerto (una sola cifra)
//si el valor leído es un solo digito se ejecuta el programa
El uso de funciones personalizadas es idéntico al de los lenguajes C y C++.
Monitor en serie
Gracias al serial monitor (el pequeño icono de la lupa en la parte superior derecha)
tienesla posibilidad de mostrar información del código. Esto se usa a menudo para
depurar, o simplemente para registrar información devuelta por el Arduino, en vivo. En el
código que escribimos, podemos especificar al Arduino que queremos mostrar cierta
información, o variables. Aquí hay un ejemplo:
/*
DigitalReadSerial
Librerías Arduino
Las librerías son colecciones de funciones que permiten controlar distintos dispositivos.
Estas son algunas de las librerías más utilizados:
librería GPS
LCD
Servo
SD
Robot_control
Robot_motor
Ethernet
Wi-Fi
Stepper
SPI
EEPROM
Software Serial
GSM
Pasos para configurar la placa
1. En primer lugar, se instala el software IDE. Se puede descargar el IDE
desde el sitio web oficial.
2. Instalar el software en su PC.
3. Ahora ejecutar el archivo .exe IDE Arduino. Tiene un siguiente distribución:
4. Crear el programa usando el editor de código y cargarlo en la placa. Para ello,
es necesario conectar la placa al ordenador mediante un cable USB.
5. En el IDE, hay que seleccionar el tipo de placa que estás utilizando de las
Herramientas -> menú de placas.
6. Ahora comprueba el código haciendo clic en el icono de comprobación en la
parte superior de la ventana del IDE, a continuación, haz clic en el botón
de compilar y carga el código en la placa.
Eso sí quizás tengas que instalar los controladores si el sistema no detecta nuestra placa.
Shields o módulos
Los shield o módulos son tableros o módulos que se conectan a la placa y que permiten
conectar dispositivos periféricos, sensores y otros dispositivos nuestro proyecto. A
continuación os listamos los mas populares:
shield GSM
shield Ethernet
shield WiFi
shield Motor
Proto shield
Joystick
shield Bluetooth
shield Xbee
Componentes y Accesorios
A continuación os mostramos una lista de todos los componentes y accesorios de uso
general para usar estas placas a la hora de desarrollar proyectos:
Breadboard
Cable USB
Batería de 9V
LEDs
Pulsadores o botones
Condensadores
Reguladores de voltaje
Sensores (IR, de temperatura, etc.)
Puentes
Resistencias
Potenciómetros
Motors (DC, Servo, BLDC)
LCD
Teclado Hex
Modulos o shields