Primeros pasos con Arduino

¿Qué es?

«Arduino Uno - R3» de SparkFun Electronics from Boulder, USA - Arduino Uno - R3. Disponible bajo la licencia Creative Commons Attribution 2.0 vía Wikimedia Commons - http://commons.wikimedia.org/wiki/File:Arduino_Uno_-_R3.jpg#mediaviewer/File:Arduino_Uno_-_R3.jpg

«Arduino Uno – R3» de SparkFun Electronics from Boulder, USA

En este tutorial vamos a aprender a utilizar Arduino. Según Wikipedia, Arduino es una plataforma de hardware libre, basada en una placa con un microcontrolador y un entorno de desarrollo, diseñada para facilitar el uso de la electrónica en proyectos multidisciplinares.

La página oficial de Arduino se encuentra en:

http://www.arduino.cc/

¿Cómo lo instalo?

Para empezar, nos vamos a la página oficial de Arduino, al apartado de Downloads:

http://arduino.cc/en/Main/Software

En «Arduino IDE» buscamos la última versión estable para descargarla. En mi caso, Arduino 1.0.6. Pinchamos en el enlace y nos aparece la página de descargas, donde seleccionamos la versión correspondiente a nuestro sistema operativo. En mi caso, utilizo Windows 7, así que me descargo Windows Installer.

Una vez completada la descarga (esta versión ocupa 52,6 MB), hacemos doble clic en el instalador y seguimos las instrucciones (dejando todas las opciones marcadas, queremos que instale todo) hasta finalizar el asistente.

Nos saldrá una alerta de seguridad de Windows, preguntándonos si queremos instalar este software de dispositivo (Arduino USB Driver). En esta ventana, vamos a marcar ‘Siempre confiar en el software de «Arduino LLC».’, para que no nos lo vuelva a preguntar más, y le damos a «Instalar».

Alerta de seguridad

Arduino USB Driver.

Con el instalador finalizado, le damos a «Close». Ahora, podemos ejecutar el IDE de Arduino desde el acceso directo en el escritorio.

Una vez abierto el IDE, vamos a configurar nuestro entorno de trabajo. Para ello, hacemos clic en «Archivo -> Preferencias»:

Preferencias

Ir a preferencias

En la ventana de preferencias, seleccionamos la Ubicación del Sketchbook, esto es, dónde se guardarán nuestros proyectos. Yo, por cuestiones de organización, tengo creada una carpeta de «Desarrollo» en la raíz de mi disco duro, dentro de la cual creo un subdirectorio por cada entorno de desarrollo, en este caso, «Arduino». El resto de opciones las dejamos marcadas como aparece en la imagen:

Preferencias

Ventana de preferencias

Después de esto, ya tenemos el entorno configurado.

¿Qué hardware necesito?

Necesitamos:

  • Una placa Arduino (yo estoy utilizando Arduino Uno Rev. 3).
  • Un led.
  • Un cable USB para conectar la placa Arduino al ordenador.

Una vez tengamos el material, seguimos los siguientes pasos

  • Conectamos la placa al ordenador. Nos aparecerá el siguiente mensaje:
Arduino Uno (COM3)

Arduino Uno (COM3)

  • Es importante que nos fijemos en (COM3), que es el puerto al que se ha conectado la placa (lo necesitaremos de aquí en adelante).
  • Comprobamos que la luz verde de la placa se ha encendido al conectarla al ordenador.
  • Vamos al IDE de Arduino, y nos aseguramos de que en «Herramientas -> Tarjeta» esté marcada la que estamos usando (en este caso, Arduino Uno).
  • Comprobamos que en «Herramientas -> Puerto Serial» aparece marcado el puerto al que está conectada la placa (en mi caso concreto, COM3).

Si hemos seguido correctamente los pasos anteriores, tenemos perfectamente configurado nuestro entorno, tanto software como hardware. Ya podemos desconectar la placa del ordenador.

¿Por dónde empiezo?

El típico «Hola Mundo» en un proyecto hardware consiste en hacer parpadear un led. El IDE de Arduino nos proporciona ese programa pregrabado en su carpeta de ejemplos. Pero, antes de eso, vamos a preparar nuestro hardware.

Conectamos el diodo led a la placa, la pata larga (o ánodo, el polo positivo) al puerto 13 y la corta (o cátodo, el polo negativo) al puerto GND, tal y como se ve en el siguiente esquema:

Esquema Blink

Esquema

Cabe destacar que, aunque todavía no vamos a entrar en detalles, un led siempre se debe conectar a la placa con una resistencia. En este ejemplo no lo necesitamos, puesto que el puerto 13 es un puerto especial, que ya lleva asociada una pequeña resistencia, suficiente para no sobrecargar el led.

Ahora ya podemos volver a conectar la placa al ordenador. El led verde que indica que la placa está conectara se volverá a encender y no aparecerá ya ningún mensaje indicando que ha instalado ningún controlador de dispositivo.

Ya tenemos todo listo. Nos queda cargar el archivo de ejemplo para ver cómo parpadea el led (aunque puede que este programa ya venga cargado por defecto y estés viendo el led parpadear). Para ello, nos vamos a «Archivo -> Ejemplos -> 01. Basics -> Blink».

Blink

Blink

Vamos a cargar en nuestra placa el código. Para ello, en el IDE pulsamos el botón de «Cargar».

programa-blinkUna vez cargado, debería aparecernos en la pantalla de resultados (en negro) el mensaje: «Tamaño binario del Sketch: 1.082 bytes (de un máximo de 32.256 bytes)». Si aparece algún error, puede ser debido a que no hayas seleccionado la tarjeta correcta, no esté bien conectada o no hayas especificado el puerto correcto. Si el error persiste, puedes dejarme un comentario y trataré de ayudarte. Si todo ha ido bien, nuestro led debería de estar parpadeando.

Para acabar, puedes jugar a cambiar valores del código. Prueba a cambiar los números que aparecen entre paréntesis en delay. Este número indica la cantidad de milisegundos que tarda en parpadear. Por defecto, viene a 1, pero puedes probar a poner 2, 3 o los que quieras (recuerda siempre multiplicarlo por mil para pasarlo a milisegundos).

diegorys

Ingeniero en Informática, apasionado de la robótica, con alma de investigador en nuevas tecnologías, analista programador y profesional del desarrollo ágil en entornos web y smartphones, con amplios conocimientos y experiencia desde antes de 2008 en entornos WAMP/LAMP, experimentando con Arduino desde 2012 y con Raspberry Pi desde 2014.

Share

7 comentarios en “Primeros pasos con Arduino

  1. David

    Buenas, me estoy iniciando en el mundo del Arduino y me encantaria poder consultarte y que me envies algunos programas sencillos para comenzar.

    Responder
  2. Luis G. Bedoya

    Hola Diego: Estoy intentando hacer una conmutación con 6 reles de estado solido a alta velocidad de conmutación de entre 1 y 10 m/seg controlados por un Arduino MEGA
    El programita de conmutación básico ya lo tengo hecho y funciona, pero me sería muy útil para mejorar el proyecto, contar con cuatro pulsadores por ejemplo dos para poder subir o bajar m/seg a m/seg los tiempos de ON y otros dos para subir o bajar los tiempos de OFF.
    ¿Sería posible incluir en el programa las sentencias adecuadas para no tener siempre el Arduino conectado al ordenador una ved cargado el programa adecuado?
    Mas datos con detalles más concretos te puedo enviar por e-mail si me lo permites.
    Gracias y un saludo:

    Responder
    1. Luis G. Bedoya

      Perdona de nuevo:

      PROGRAMA INICAL
      const int a = 12; //Relé Estado Solido 2
      const int b = 10; //Relé Estado Solido 4
      const int c = 8; //Relé Estado Solido 6
      const int d = 2; //Relé Estado Solido 1
      const int e = 4; //Relé Estado Solido 3
      const int f = 6; //Relé Estado Solido 5
      void setup(){
      pinMode(a, OUTPUT);
      pinMode(b, OUTPUT);
      pinMode(c, OUTPUT);
      pinMode(d, OUTPUT);
      pinMode(e, OUTPUT);
      pinMode(f, OUTPUT);
      }
      void loop(){
      digitalWrite(a, HIGH);
      digitalWrite(b, HIGH);
      digitalWrite(c, HIGH);
      digitalWrite(d, LOW);
      digitalWrite(e, LOW);
      digitalWrite(f, LOW);
      delay(60); //Tiempo en msegundos a, b y c en ON
      //Tiempo en msegundos d, e y f en OFF

      digitalWrite(a, LOW);
      digitalWrite(b, LOW);
      digitalWrite(c, LOW);
      digitalWrite(d, HIGH);
      digitalWrite(e, HIGH);
      digitalWrite(f, HIGH);
      delay(60); //Tiempo en msegundos a ,b y c en OFF
      //Tiempo en msegundos d, e y f en ON
      }
      //¿Como puedo subir o bajar los tiempos de retardo de 1nsg en 1msg para ambos caos si es que se puede hacer?
      //Con cuatro pulsadores por ejemplo; dos pulsadores para ON y otros dos pulsadores para OFF

      Te agradecería mucho la información pues soy nuevo en ARDUINO
      Me he permitido enviarte un correo con algunos detalles en archivos adjuntos, perdona y
      Gracias de nuevo:

      Responder
  3. diegorys Autor

    Hola Luis,

    Lo primero, ¡gracias por comentar en mi blog! He visto tu email y tu esquema de conexión. En el caso de los pulsadores, creo que no están bien conectados, te voy a adjuntar un esquema que hice hace unos años donde podrás ver cómo los conecté yo para reproducirlo.

    Una vez conectados, dos cosas:

    1. Dado que quieres que el tiempo de delay varíe y no sea siempre 60 (una constante), deberás crear una variable con ese tiempo, parecido a lo que has hecho con los relés, pero sin «const». Por ejemplo:

    int tiempoOn = 60;
    int tiempoOff = 60;

    Y luego modificar el delay a:

    delay(tiempoOn);
    delay(tiempoOn);

    2. Ahora, tenemos que hacer que los pulsadores modifiquen esa variable a tu gusto. Lo que tienes que hacer, en el loop, es comprobar cuáles están pulsados y cuáles no, y, según el que esté pulsado, incrementar o decrementar las variables. Te adjunto por correo un código de un proyecto mío donde manejo botones, para que te hagas a la idea.

    Espero que tu proyecto funcione, ánimo y, de nuevo, ¡gracias por comentar!

    Responder
    1. Luis G. Bedoya

      Muchas gracias Diego: Te mantendré informado de mis avances, me costará seguro pero soy muy persistente y tengo mucha paciencia; será por lo de la edad pero no me rindo fácil mente.
      Un saludo:

      Responder
  4. diegorys Autor

    Gracias a ti Luis, sigue perseverando, que así todo se consigue, y, para lo que necesites, aquí estoy.

    Espero ver tu proyecto funcionando! Ánimo!

    Responder

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.