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 y no solo eso, 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:
En ambos casos, antes de empezar a programar nuestro dispositivo, hemos de instalar el IDE de Arduino.
Para instalar el IDE de Arduino tenemos dos opciones:
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:
Buscamos los paquetes y los seleccionamos:
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.
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.
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:
A iniciar Arduino el Arduino IDE (version 1.6.7) nos encontramos con al siguiente ventana:
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.
Luego en Herramientas > Puerto le indicamos qué USB vamos a utilizar:
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:
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:
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.
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
Y enviar el mensaje que queremos que aparezca en nuestra pantalla: