Archivo de la etiqueta: sketch

Primer proyecto: “blink”

En lugar del clásico “hola mundo” que es el primer programa que se hace cuando se aprende un lenguaje de programación, en Arduino el equivalente es el proyecto blink.

El primer programa o sketch será hacer parpadear el led integrado que lleva Arduino u otro led conectado a un pin digital a través de una resistencia.

NOTA: en caso de usar un led, no olvidar poner una resistencia con un valor entre 220 ohms y 1K ohms

Este es el esquema a usar:

Conexiones internas de la protoboard son así:

Como usar una protoboard o breadboard: https://learn.sparkfun.com/tutorials/how-to-use-a-breadboard

Pasos a seguir:

  • Abrir la aplicación Arduino
  • Abrir el ejemplo blink

  • Leer el programar y entender lo que está haciendo
  • Seleccionar la placa y el puerto adecuado

  • Cargar el programa pulsando el botón “subir”. El programa se compila y luego se verá parpadeando los leds Tx y Rx de Arduino, indicando que se está cargando el fichero binario (.hex) en la flash del Arduino. Cuando aparezca el mensaje “subido” habremos acabado.
  • Unos segundos después veremos el LED parpadeando.

Una explicación completa del proyecto y enlaces a las funciones usadas está en: http://arduino.cc/en/Tutorial/Blink

Probar a cambiar el valor de delay para hacer parpadear el led más rápido o más lento.

Práctica: Mejora blink con impresión en consola

Modificar el programa para que cada vez que encienda y apague imprima por el puerto serie la cadena “encendido”, “apagado” cuando corresponda. Luego guardarlo en nuestro entorno de trabajo.

Será necesario usar la librería Serial: http://arduino.cc/en/Reference/Serial

NOTA: Cuando programamos en cualquier lenguaje sobre un ordenador, para interaccionar con el programa usamos el standard input que generalmente es el teclado y el programa muestra los resultados por el standard output que en general es la pantalla. En Arduino esto no es así, sino que para interaccionar con el programa creado se hace a través de la comunicación del puerto serie entre arduino y el ordenador mediante el cable USB que hemos conectado. En este caso la salida del programa manda una cadena de texto por el puerto serie que podemos leer gracias al monitor serie.

Solución:  El código de la solución se encuentra en: https://github.com/jecrespo/Aprendiendo-Arduino/blob/master/Ejercicio01-Blink/Ejercicio01-Blink.ino

Práctica: Arduino Serial Plotter

Desde la versión 1.6.6 del IDE de Arduino disponemos de la herramienta Arduino Serial Plotter que hace la gráfica de los datos mandados por puerto serie.

Hacer la gráfica con Arduino Serial Plotter de la función y=x*x y otra con la lectura de una entrada analógica y ver la gráfica en el Serial Plotter.

Ver código en https://github.com/jecrespo/Aprendiendo-Arduino/tree/master/Ejercicio45-Serial_Plotter

Práctica: Digital Read Serial

Monitorizar el estado de un botón (pulsado/no pulsado) con Arduino y mostrarlo por el monitor serie.

Revisar el código del programa DigitalReadSerial de los ejemplos en Basis. Cargar y ejecutar en Arduino.

Esquema de conexión:

Explicación completa de la práctica: http://arduino.cc/en/Tutorial/DigitalReadSerial

¿Que valores lee si dejo al aire la entrada digital 2?

Más prácticas

El IDE de Arduino trae muchos ejemplos que podemos ver y probar: https://www.arduino.cc/en/Tutorial/BuiltInExamples

Las 10 primeras cosas que debes hacer con tu arduino: http://antipastohw.blogspot.com.es/2009/12/first-10-things-everyone-does-with.html

Anuncios

Estructura sketch en Arduino

Un programa de Arduino se denomina sketch o proyecto y tiene la extensión .ino. Importante: para que funcione el sketch, el nombre del fichero debe estar en un directorio con el mismo nombre que el sketch.

No es necesario que un sketch esté en un único fichero, pero si es imprescindible que todos los ficheros estén dentro del mismo directorio que el fichero principal y que este contenga obligatoriamente las funciones setup() y loop().

void setup() {

 // put your setup code here, to run once:

}

void loop() {

 // put your main code here, to run repeatedly:

}

La estructura básica de un sketch de Arduino es bastante simple y se compone de al menos dos partes. Estas dos partes son obligatorios y encierran bloques que contienen declaraciones, estamentos o instrucciones.

Adicionalmente se puede incluir una introducción con los comentarios que describen el programa y la declaración de las variables y llamadas a librerías.

setup() es la parte encargada de recoger la configuración y loop() es la que contiene el programa que se ejecuta cíclicamente (de ahí el término loop –bucle-). Ambas funciones son necesarias para que el programa trabaje.

La función de configuración (setup) debe contener la inicialización de los elementos y esta función sólo se ejecuta una vez justo después de hacer el reset y no se vuelve a ejecutar hasta que no haya otro reset. Es la primera función a ejecutar en el programa y se utiliza para configurar, inicializar variables, comenzar a usar librerías, etc…

La función bucle (loop) contiene el código que se ejecutará continuamente (lectura de entradas, activación de salidas, etc). Esta función es el núcleo de todos los programas de Arduino y se usa para el control activo de la placa. La función loop se ejecuta justo después de setup.

La estructura del sketch está definida en el siguiente enlace: http://arduino.cc/en/Tutorial/Sketch

Los componentes principales de un sketch de Arduino son:

  • Variables, son un espacio en memoria donde se almacenan datos y estos datos pueden variar.
  • Funciones, son un trozo de código que puede ser usado/llamado desde cualquier parte del sketch. A la función se le puede llamar directamente o pasarle unos parámetros, en función de cómo esté definida.
  • setup() y loop(), son dos funciones especiales que es obligatorio declarar en cualquier sketch.
  • Comentarios, fundamentales para documentar el proyecto

Se puede resumir un sketch de Arduino en los siguientes diagramas de flujo:

Diagrama de flujo del sketch blink:

Por ejemplo para un robot que esquiva obstáculos, el diagrama sería:

Y en un caso más complejo, este puede ser el diagrama de flujo de un sistema de control de acceso mediante lectura de tarjetas RFID:

El código asociado a este diagrama se puede encontrar en http://geekchickens.blogspot.com.es/2014/01/control-de-acceso-con-lector-de.html

Estructura de un sketch en Arduino

Un programa de Arduino se denomina sketch o proyecto y tiene la extensión .ino

Importante: para que funcione el sketch, el nombre del fichero debe estar en un directorio con el mismo nombre que el sketch.

No es necesario que un sketch esté en un único fichero, pero si es imprescindible que todos los ficheros estén dentro del mismo directorio que el fichero principal y que este contenga obligatoriamente las funciones setup() y loop().

void setup() {

// put your setup code here, to run once:

}

void loop() {

// put your main code here, to run repeatedly:

}

La estructura básica de un sketch de Arduino es bastante simple y se compone de al menos dos partes. Estas dos partes son obligatorios y encierran bloques que contienen declaraciones, estamentos o instrucciones.

En donde setup() es la parte encargada de recoger la configuración y loop() es la que contiene el programa que se ejecutará cíclicamente (de ahí el término loop –bucle-). Ambas funciones son necesarias para que el programa trabaje.

La función de configuración (setup) debe contener la inicialización de los elementos y esta función sólo se ejecuta una vez justo después de hacer el reset y no se vuelve a ejecutar hasta que no haya otro reset. Es la primera función a ejecutar en el programa y se utiliza para configurar, inicializar variables, comenzar a usar librerías, etc…

La función bucle (loop) siguiente contiene el código que se ejecutará continuamente (lectura de entradas, activación de salidas, etc). Esta función es el núcleo de todos los programas de Arduino y se usa para el control activo de la placa.

La función loop se ejecuta justo después de setup.

La estructura del sketch está definida en el siguiente enlace: http://arduino.cc/en/Tutorial/Sketch

Los componentes principales de un sketch de Arduino son:

  • Variables, son un espacio en memoria donde se almacenan datos y estos datos pueden variar.
  • Funciones, son un trozo de código que puede ser usado/llamado desde cualquier parte del sketch. A la función se le puede llamar directamente o pasarle unos parámetros, en función de cómo esté definida.
  • setup() y loop, son dos funciones especiales que es obligatorio declarar en cualquier sketch.
  • Comentarios, fundamentales para documentar el proyecto

Se puede resumir un sketch de Arduino en los siguientes diagramas de flujo:

Por ejemplo para un robot que esquiva obstáculos, el diagrama sería:

Y en un caso más complejo, este puede ser el diagrama de flujo de un sistema de control de acceso mediante lectura de tarjetas RFID:

Y el código asociado a este diagrama se puede encontrar en http://geekchickens.blogspot.com.es/2014/01/control-de-acceso-con-lector-de.html