
En esta entrada vamos a hacer nuestro primer programa en Arduino. Asumimos que tenemos una placa Arduino UNO o similar, como vimos en esta entrada, y el IDE estándar de Arduino correctamente instalado, tal y como vimos en esta entrada.
Preparar la conexión
En primer lugar, conectamos nuestra placa Arduino mediante un cable USB A-B, del tipo que se emplean habitualmente para conectar impresoras. De momento no hace falta la conexión de alimentación o cable adicional, para realizar la programación es suficiente únicamente con el USB.
A continuación abrimos el entorno IDE de Arduino.
Anuncio:
Seleccionamos el modelo de placa que estemos empleando.
Seleccionamos el puerto de comunicación al que esta conectado.
- En Windows será algo tipo COM1, COM3…
- En Linux será del estilo /dev/ttyACM0
Ya tenemos la conexión configurada y lista para realizar la carga de nuestro primer programa.
Estructura básica de programa
En el IDE de Arduino estandard los programas tienen siempre la siguiente estructura
//Zona DECLARACIONES void setup() { // Zona funcion SETUP } void loop() { // Zona funcion LOOP }
Donde cada parte tiene la siguiente función:
- Zona declaraciones: En esta parte se declaran variables, funciones, objetos, y estructuras.
- Funcion setup: Esta función se ejecuta cada vez que se enciende la placa de Arduino, o se pulsa la tecla Reset. Realiza funciones de inicialización de periféricos, comunicaciones, variables, etc.
- Funcion loop: Esta función se ejecuta contínuamente. Realiza el grueso de tareas del autómata.
Esta configuración (una función de setup y un bucle que se ejecuta contínuamente) es habitual en la programación de automatismos, siendo la única que permite el IDE estandard de Arduino. Otras configuraciones son posibles mediante el empleo de otros IDE.
Cargando un ejemplo
Para probar el funcionamiento de nuestro montaje vamos a emplear uno de los ejemplos incluidos en el IDE de Arduino.
Seleccionamos el ejemplo Basics/Blink, y aparecerá un código similar al siguiente.
const int pinLED= 13; //asignar variable led como 13 void setup() { pinMode(pinLED, OUTPUT); //definir pin 13 como salida } void loop() { digitalWrite(pinLED, HIGH); // encender LED delay(1000); // esperar un segundo digitalWrite(pinLED, LOW); // apagar LED delay(1000); // esperar un segundo }
Este ejemplo enciende y apaga un LED cada segundo. La función de cada linea está comentada a la derecha, pero por ahora no nos vamos a preocupar ahora del significado, ya veremos estos aspectos más adelante. El LED empleado está integrado en muchas de las placas de Arduino (UNO, MEGA, etc) conectado físicamente al PIN 13.
Finalmente, pulsamos en el botón remarcado para compilar y enviar la programación a nuestra placa Arduino. Tras unos segundos, el IDE compilará el programa y la pantalla debería ser similar a la siguiente.
Tras unos parpadeos, la placa empezará a ejecutar el programa, encendiendo y apagando el LED. Estamos de acuerdo en que no es muy espectacular que digamos, pero lo importante es que si habéis llegado hasta aquí significa que todo funciona y está bien configurado, y a partir de aquí estáis listos para empezar a jugar.
Alimentación externa
Una vez hemos programado nuestra placa es momento de quitar el cable USB y realizar una alimentación externa. Arduino UNO y MEGA pueden ser alimentados mediante dos medios. El origen de la alimentación se selecciona automáticamente.
- Alimentación regulada a 5V mediante el puerto USB. Podemos conectar un transformador, una batería exterior de 5V, o cualquier otra fuente 5V mediante un conector USB. Esta entrada debe estar regulada en alimentación, es decir, debe ser estable, constante y fija a 5V, ya que Arduino no realiza la supervisión del voltaje introducido a través de esta entrada.
- Alimentación mediante el conector Vin, con un voltaje de entre 6 a 20 voltios, aunque lo ideal es entre 7 a 12 voltios. Por ejemplo, podemos conectar un transformador, una o varias batería, una pila de 9V, o una agrupación de 4 o 6 pilas de 1.5V, para alimentar nuestros proyectos.
Si conectamos nuestra alimentación externa a nuestra placa Arduino veremos que ejecutan la programación que hemos realizado, por supuesto sin la necesidad de un ordenador conectado.
En los próximos tutoriales veremos la referencia de programación de Arduino y el esquema de patillaje de Arduino, profundizando en su uso.
Descarga el código
Todo el código de esta entrada está disponible para su descarga en Github.
Anuncio:
Gracias por difundir conocimiento libre con hardware libre.
Un placer! Gracias a ti por leerlo y por tu comentario.
😀 muyyyyyyyyyyy buen post
Genial, deseando empezar a trastear con mi nuevo Arduino Nano 🙂
Esto está de lujo camarada, leeré todos los tutoriales
Fantástico! mi primer ejercicio con arduino! Gracias!
Muchas Gracias Luis! Me voy a leer todos tus tutoriales! Ánimo y sigue con este gran trabajo!!
Oye excelente trabajo !!!
Donde tienes mas tutoriales sobre el tema !!
Claro, tienes un montón más de tutoriales en https://www.luisllamas.es/tutoriales-arduino/
de verdad que muchas gracias por tu trabajo, ESTA GENIAL DE VERDAD me los leeré todos 😉
Hola Jordi 1) No pasa nada porque sea algo distinto. Ya he puesto que era “similar”. Cada maestrillo tiene su librillo, y hay muchas formas de hacer codigos similares. Pero tranquilo, hace lo mismo. 2) En algunos fabricantes los Arduino vienen cargados con un skecth de blink. Otros por contra, los dan sin ningún programa. Por eso te parpadea al conectarlo recién comprado. Durante la carga las luces parpadean rápidamente porque estás usando el puerto de serie para subir el proyecto, y cada vez que recibe o envía un dato parpadean los LED RX y TX. Una vez finalizada la… Read more »
Muchas gracias y sinceras felicitaciones por presentar las cosas en forma tan clara y didactica
Muy buenos los temas tratados.
excelente post, Ahora mi pregunta es como hago para que deje de parpadear???
[…] Nuestro primer programa en Arduino […]
Luis Llamas! Muchas gracias por la excelente didáctica e información brindada.
Me estoy aproximando a Arduino y programación de PICs…y otros componentes!
Soy un exOlivetti en el area de programación o sea algo asi como “Pedro picapiedras de la informática de 75caños…” mas me encanta mantenerme informado en este maravilloso mundo digital….gracias nuevamente!