Cargando...
 

Arduino en LliureX 16

Versiones
-LliureX 16

1. Introducción

 

Arduino es un sistema muy utiltizado hoy en día para programar microcontroladores de una forma fácil e intuitiva. Usar Arduino no requiere de conocimientos informáticos elevados, aunque, eso sí, hay que tener ciertos conocimientos de programación para poder usarlo.

Antes de usar Arduino nos hemos de hacer con una placa Arduino. Podemos encontrar numerosos tipos de placas en la misma página de Arduino por unos 20 euros, aunque también se pueden encontrar modelos compatibles de menor calidad por unos 4 €. Os recomendamos la placa UNO R3, ya que es una de la más usadas. Hay un montón de dispositivos que con el que podemos hacer muchísimos proyectos tanto en el aula de informática como en en el taller de tecnología, desde pantallas LCDs, sensores de todo tipos, dispositivos GPS, etc... Lo mejor de todo ello es que prácticamente todos los dispositivos que adquieras para Arduino tienen una librería (en C) asociada que nos permite hacer uso de ellos prácticamente con unos pocos conocimientos de C.

Todos estods dispositicos también stán en su versión clónica, que aunque no tienen la misma calidad que el original, siempre nos podrá proporcionar dispositivos a un menor coste.

En LliureX tienes dos formas para poder usar Arduino:

  • Con el IDE de Arduino (que requiere conocimietos de C)
  • Con Scratch for Arduino (S4A). Aunque ya existe una evolución llamada Snap for Arduino.
  • Con mblock que sirve tanto para arduino como robots basados en Arduino.

En ambos casos, antes de empezar a programar nuestro dispositivo, hemos de instalar el IDE de Arduino.

 

2. Instalación del IDE Arduino

 

Para instalar el IDE de Arduino tenemos dos opciones, la segunda es la más recomendable:

Instalar la versión de los repositorios de ubuntu. Para ello, hemos de instalar el paquete Arduino y Arduino-core, dentro de este paquete ya está incluido el IDE Arduino que aunque veamos como un paquete diferente llamado Arduino IDE, NO hace falta instalarlo. Podemos instalarlo desde synaptic:

 

1 Arduino

 

Buscamos los paquetes y los seleccionamos:

 

2 Arduino

 

También podemos instalarlo rápidamente a través de la terminal con:

 

sudo apt install arduino arduino-core

 

Una vez instalados los paquetes podemos encontrar el IDE en el menú Inicio > Electrónica > Arduino IDE.

 

3 Arduino

 

La otra opción, y la más recomendable, es instalar solamente el paquete arduino-ide, ya que este paquete es el más actualizado y el equipo de LliureX ha corregido algunos errores de permisos que solían aparecer.

 

4 Arduino

 

También podemos instalarlo rápidamente a través de la terminal con:

 

sudo apt install arduino-ide

 

Una vez instalado el programa nos aparece en Inicio > Desarrollo > Arduino IDE:

 

5 Arduino

 

3. Instalación de Arduino-ide en un cliente ligero o semiligero.

 

Para instalar el arduino-ide en una imagen para una cliente ligero o semiligero deberemos entrar en el admincenter de lliurex (esto solo lo podrá hacer el administrador del sistema) e instalar el programa arduino-ide. Tenéis todo el proceso detallado aquí.

De esta manera solo tendremos que instalar el paquete en una única imagen y será accesible para todos los usuarios donde podrán realizar las prácticas.

 

4. Uso de Arduino-web

 

Existe una alternativa que es el uso de Arduino desde una página web, esta opción solo esta recomendada para conexiones con un amplio ancho de banda. Podemos encontrar toda la información aquí.

 

5. Arduino IDE

 

Cuando accedamos al Arduino IDE (version 1.6.7) nos encontramos con al siguiente ventana:

 

6 Arduino

Arduino IDE es capaz de detectar qué placa tienes instalada y qué puerto USB estás usando. Aunque no está de más asegurarse. Para ello, antes de empezar a programar hemos de decirle al programa qué tarjeta vamos a usar,  vamos a Herramientas > Placa y escogemos nuestro modelo de tarjeta.

 

7 Arduino

 

Luego en Herramientas > Puerto le indicamos qué USB vamos a utilizar:

 

8 Arduino

 

Y ya está configurada la placa. Ahora podemos coger uno de los numerosos ejemplos que tenemos para poder cargar un programa y ver cómo todo funciona correctamente. En este caso vamos a coger el ejemplo de una pantalla LCD 16x2:

 

9 Arduino
 

6. Ejemplo Serial Input

 

En nuestro caso lo hemos modificado un poco para que funcione con nuestro shield, pero tenéis todas la información (eso sí, en inglés) relacionada con cada ejemplo en un enlace en los comentarios del principio del programa:

/*
  LiquidCrystal Library - Serial Input
 
 Demonstrates the use a 16x2 LCD display.  The LiquidCrystal
 library works with all LCD displays that are compatible with the 
 Hitachi HD44780 driver. There are many of them out there, and you
 can usually tell them by the 16-pin interface.
 
 This sketch displays text sent over the serial port 
 (e.g. from the Serial Monitor) on an attached LCD.
 
 The circuit:
 * LCD RS pin to digital pin 12
 * LCD Enable pin to digital pin 11
 * LCD D4 pin to digital pin 5
 * LCD D5 pin to digital pin 4
 * LCD D6 pin to digital pin 3
 * LCD D7 pin to digital pin 2
 * LCD R/W pin to ground
 * 10K resistor:
 * ends to +5V and ground
 * wiper to LCD VO pin (pin 3)
 
 Library originally added 18 Apr 2008
 by David A. Mellis
 library modified 5 Jul 2009
 by Limor Fried (http://www.ladyada.net)
 example added 9 Jul 2009
 by Tom Igoe 
 modified 22 Nov 2010
 by Tom Igoe
 
 This example code is in the public domain.
 
 http://arduino.cc/en/Tutorial/LiquidCrystalSerial
 */

// include the library code:
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

void setup(){
    // set up the LCD's number of columns and rows: 
  lcd.begin(16, 2);
  // initialize the serial communications:
  Serial.begin(9600);
}

void loop()
{
  // when characters arrive over the serial port...
  if (Serial.available()) {
    // wait a bit for the entire message to arrive
    delay(100);
    // clear the screen
    lcd.clear();
    // read all the available characters
    while (Serial.available() > 0) {
      // display each character to the LCD
      lcd.write(Serial.read());
    }
  }
}


Al principio hace una pequeña explicación sobre cómo funciona el programa, el copyright y al final el enlace donde nos aparece una explicación mucho más detallada del programa, con los esquemas de montaje, etc...


Para cargar el programa pulsamos sobre el botón:  12 Arduino   situado en la parte superior izquierda, el botón de al lado nos sirve para verificar el código en caso de que haya algún error.

11 Arduino

El programa nos permite enviar cadenas de texto a la pantalla a través del puerto serie, para ello debemos comunicarnos con el programa a través del monitor serial

13 Arduino

Y enviar el mensaje que queremos que aparezca en nuestra pantalla:

14 Arduino

10 Arduino