Visita nuestra nueva página web arducode.es
9/03/2021
8/13/2020
¿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 (servos, motores…), según un programa que introducimos con un ordenador, y que puede ejecutar de forma autónoma.
Arduino es flexible, y fiable. Entonces, ¿Por qué hemos dicho en proyectos domésticos? ¿Por qué no en aplicaciones comerciales o industriales? Es algo que en algún momento os puede tentar, de hecho sabemos que gente saca productos comerciales que están basados en Arduino. Sin embargo, si un día os toca controlar (por ejemplo) la climatización de un local de 4000m2, donde la refrigeradora cuesta 250.000€, os parecerá una temeridad instalar un controlador de 15 euros. Preferiréis instalar un autómata general que cueste 500 a 1000€, que os ofrezca un certificado y una garantía para vuestra tranquilidad, y proteger vuestra firma.
Sin embargo todo lo que hayáis aprendido sobre electrónica, automatización, programación y telecomunicación, lo podréis aplicar directamente y con facilidad en caso de tener que emplear un autómata más caro, por lo que Arduino es una plataforma excelente para práctica y aprendizaje. Además os traerá horas y horas de diversión haciendo en vuestros proyectos de robótica y electrónica por menos de lo que cuesta salir una noche de fiesta, lo cuál siempre está muy bien.
Para empezar con Arduino, lógicamente, lo primero es comprar una. Por eso vamos a ver los distintos modelos disponibles.
8/12/2015
¿Qué modelo de Arduino comprar?
Existen multitud de modelos Arduino disponibles, lo que puede ser un poco confuso para los nuevos usuarios. A la hora de elegir lo normal es que nos fijemos en la cantidad de entradas y salidas que tiene, especialmente las analógicas dado que son las que habitualmente restringen nuestro proyecto. En la siguiente tabla podéis ver los modelos de Arduino más habituales, con sus características más importantes y un precio de referencia comprándolas en Ebay desde proveedores internacionales. Disponéis de un listado completo de los distintos modelos y revisiones en http://es.wikipedia.org/wiki/Arduino
Modelo | I/O digitales | Entradas analógicas | Salidas PWR | UART | Memoria | Precio |
Uno r3 | 16 | 6 | 6 | 1 | 32kb | 7,5 |
Leonardo | 20 | 12 | 7 | 1 | 32kb | 10 |
Mega r3 | 54 | 16 | 14 | 4 | 256kb | 12,5 |
Mini 05 | 14 | 6 | 8 | 1 | 32kb | 2,5 |
Lo más normal es que para empezar empleéis una Arduino UNO r3. Este es el modelo más estándar y es la placa que utilizaréis de forma habitual. Para ciertos proyectos grandes, que requieran manejar un número importante de motores o serve 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 2,5€ 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 un adaptador USB FTDI que cuesta 3,5€. En niveles expertos esta es prácticamente el único modelo de placa que usaréis dado que, en caso de requerir una gran cantidad de entradas o salidas, es más económico formar una red de 3 o 4 placas mini, y obtienes una capacidad superior a una MEGA.
Por tanto, recomendación final. Comprar una Arduino UNO, que será vuestra placa estándar de desarrollo. Cuando seáis avanzados, comprar una o dos Arduino Mini, junto con el programador. Y sólo para proyectos específicos donde la UNO se quede pequeña, y si no queréis complicaros la vida haciendo redes de Arduinos Mini, o si necesitáis usar los puertos de serie adicionales, podéis usar una MEGA.
En el siguiente tutorial veremos cómo instalar el entorno de desarrollo. Aquí tenéis el listado completo de tutoriales de Arduino.
8/11/2015
Esquema y pines
Elementos con los que podemos interactuar: (tomando como ejemplo la placa USB). Empezando en el sentido de las agujas del reloj desde el centro de la parte superior:
- Pin de referencia analógica (naranja)
- Señal de tierra digital (verde claro)
- Pines digitales 3-13 (verde)
- Pines digitales 1-2 / entrada y salida del puerto serie: TX/RX (azul) (estándar de comunicación serie IC2)
- Botón de reset (negro)
- Entrada del circuito del programador serie (marrón)
- Pines de entrada analógica 0-5 (azul oscuro)
- Pines de alimentación y tierra (naranja y naranja claro)
- Entrada de la fuente de alimentación externa (9-12V DC) – X1 (gris)
- Conmutación entre fuente de alimentación externa o alimentación a través del puerto USB – SV1
- Puerto USB (rojo).
9/02/2014
Arduino, la revolución de las placas azules que se gestó en un bar italiano
Revolucionar el 'hardware' libre es lo que han conseguido Massimo Banzi, David Cuartielles y los otros tres cofundadores de Arduino, que jamás imaginaron la dimensión global que iba a adquirir su proyecto cuando, en 2005, comenzaron a trabajar en una placa barata y sencilla para enseñar electrónica a los alumnos del Instituto de Diseño Interactivo de Ivrea. El nombre homenajea a un bar, pero también a un rey, y el azul salió de las paredes de una antigua fábrica de Olivetti.
Construir para destruir. Edificar para derribar. Encajar para separar. Antagónicas y a la vez cíclicas dedicaciones de cualquier humano con pocas primaveras a sus espaldas. Mientras algunos aplicábamos esta filosofía de trabajo a los castillos de arena, el italiano Massimo Banzi, cofundador de la plataforma de 'hardware' libre Arduino, descubría con sus manos el apasionante universo electrónico destripando cada uno de los aparatos que pillaba por casa. "No jugaba mucho cuando era niño, me divertía desmontando objetos" señala Banzi a HojaDeRouter.com.
A los 8 años, Massimo no solo quería aprender cómo funcionaba todo, sino también cómo se construía. Lo consiguió con su particular anillo élfico, que aún conserva con cariño: el kit Lectronde Braun, un conjunto de piezas magnéticas, similares a fichas de dominó, que permitían a niños y adolescentes de los 60 y 70 montar circuitos electrónicos para fabricar desde una radio a un amplificador. Un invento del diseñador alemán Dieter Rams, defensor de la simplicidad y el funcionalismo que inspiraría a Steve Jobs y a su universo Apple, además de a Banzi, que conectaría los chips de su cerebro a partir de ese primer acercamiento a la electrónica.
8/17/2014
SERVOMOTOR
En este proyecto vamos a usar un servomotor, la función que tendrá será girar cada 1 segundo, la libreria Servo.h ya esta incluida en nuestro programa así que no tendremos que importar ninguna librería y todo sera más fácil con esta.
/*
Servo
Aplicacion que mueve un Servo a distintas posiciones, con intervalos de 1 segundo
*/
#include <Servo.h> //incluimos una biblioteca de funciones para manejar Servomotores
int pinServo = 9; //llamamos pinServo al pin 9
Servo miServo; //Creamos un elemento “Servo” en el sistema
//Funcion de configuracion de Arduino
void setup()
{
miServo.attach(pinServo); //Indicamos que el servo esta conectado a pinServo
}
//Funcion bucle de Arduino.
void loop()
{
miServo.write(0); //movemos el servo a la posicion 0 grados
delay(1000); //Esperamos un segundo (1000ms)
miServo.write(90); //movemos el servo a la posicion 90 grados
delay(1000); //Esperamos un segundo (1000ms)
miServo.write(180); //movemos el servo a la posicion 180 grados
delay(1000); //Esperamos un segundo (1000ms)
}
Si quieres enviarnos tu proyecto pincha aquí.
/*
Servo
Aplicacion que mueve un Servo a distintas posiciones, con intervalos de 1 segundo
*/
#include <Servo.h> //incluimos una biblioteca de funciones para manejar Servomotores
int pinServo = 9; //llamamos pinServo al pin 9
Servo miServo; //Creamos un elemento “Servo” en el sistema
//Funcion de configuracion de Arduino
void setup()
{
miServo.attach(pinServo); //Indicamos que el servo esta conectado a pinServo
}
//Funcion bucle de Arduino.
void loop()
{
miServo.write(0); //movemos el servo a la posicion 0 grados
delay(1000); //Esperamos un segundo (1000ms)
miServo.write(90); //movemos el servo a la posicion 90 grados
delay(1000); //Esperamos un segundo (1000ms)
miServo.write(180); //movemos el servo a la posicion 180 grados
delay(1000); //Esperamos un segundo (1000ms)
}
Si quieres enviarnos tu proyecto pincha aquí.
8/13/2014
BLINK (LED parpadeando)
En el siguiente programa, lo primero que se hace es inicializar el pin 13 como un pin de salida con la línea
pinMode (13, OUTPUT);
En el bucle principal, se enciende el LED con la línea:
digitalWrite (13, HIGH);
Para eso se necesita el pin 13 de nuevo a 0 voltios, y se vuelve el LED apagado. Entre el encendido y el apagado, quieres que el tiempo suficiente para que una persona vea el cambio, por lo que el delay () comandos decirle al Arduino no hacer nada durante 1000 milisegundos, o un segundo. Cuando se utiliza el delay () comando, no ocurre nada en es tiempo.
*/ Este código es de uso y distribución libre.
// Pin 13 se conecta al ánodo y GND al cátodo.
int led = 13;
// empieza la secuencia.
void setup() {
pinMode(led, OUTPUT);
}
// esta orden se repite en búcle.
void loop() {
digitalWrite(led, HIGH); // Si le llega voltaje
delay(1000); // tiempo de espera encendido
digitalWrite(led, LOW); // No le llega voltaje
delay(1000); // tiempo de espera apagado
// 1000 = 1000 milisegundos = 1 segundo
}
Esto suministra 5 voltios al pin 13 . Luego que lo apague con la línea:
digitalWrite (13, LOW);
Para eso se necesita el pin 13 de nuevo a 0 voltios, y se vuelve el LED apagado. Entre el encendido y el apagado, quieres que el tiempo suficiente para que una persona vea el cambio, por lo que el delay () comandos decirle al Arduino no hacer nada durante 1000 milisegundos, o un segundo. Cuando se utiliza el delay () comando, no ocurre nada en es tiempo.
*/ Este código es de uso y distribución libre.
// Pin 13 se conecta al ánodo y GND al cátodo.
int led = 13;
// empieza la secuencia.
void setup() {
pinMode(led, OUTPUT);
}
// esta orden se repite en búcle.
void loop() {
digitalWrite(led, HIGH); // Si le llega voltaje
delay(1000); // tiempo de espera encendido
digitalWrite(led, LOW); // No le llega voltaje
delay(1000); // tiempo de espera apagado
// 1000 = 1000 milisegundos = 1 segundo
}