Carregant...
 

Arduino en LliureX 16_va

Versions
-LliureX 16

1. Introducció

 

Arduino és un sistema molt utilitzat avui en dia per a programar microcontroladors d'una manera fàcil i intuïtiva. Utilitzar Arduino no requereix de coneixements informàtics elevats, encara que, això sí, hi ha que tenir certs coneixements de programació per a poder utilitzar-lo.

Abans d'utilitzar Arduino ens hem de fer amb placa Arduino. Podem trobar nombrosos tipus de plaques en la mateixa pàgina d'Arduino per uns 20 €, encara que es poden trobar per uns  4 € models compatibles de menor qualitat. Hi ha un munt de dispositius amb els quals podem fer molts projectes tant en l'aula d'informàtica com al taller de tecnologia, des de pantalles LCD, sensors de tot tipus, dispositius GPS, etc... EL millor de tot és que pràcticament tots els dispositius que adquirisques per a Arduino tenen una llibreria associada (en C) que ens permet fer ús d'ells pràcticament amb pocs coneixements de programació.

Tots aquests dispositius també estan en la seua versió clònica, que tot i que no tinguen la mateixa qualitat que l'original, sempre ens podran proporcionar dispositius a un menor cost per a propòsits didàctics.

En LliureX tenim dues formes per poder utilitzar Arduino:

  • Amb l'IDE d'Arduino (que requerix coneixements de C)
  • Amb Scratch for Arduino (S4A). Encara que ja existeix una evolució anomenada Snap for Arduino. En ambdós casos, abans de començar a programar el nostre dispositiu, hem d'instal·lar l'IDE d'Arduino.
  • Amb mblock que serveix tant per a Arduino com per robots basats en Arduino.


 

2. Instal·lació de l'IDE d'Arduino

 

Per a instal·lar l'IDE d'Arduino tenim dos opcions, la segona és la més recomanable:

Instal·lar la versió dels repositoris d'Ubuntu. Per a tal fi, hem d'instal·lar el paquet Arduino i Arduino-core, dins d'aquest paquet ja està inclòs l'IDE d'Arduino que encara que el vejam com un paquet diferent anomenat Arduino IDE, no cal instal·lar-lo. Podem instal·lar-lo des de synpatic:

 

1 Arduino

 

Busquem els paquets i els seleccionem:

 

2 Arduino

 

També podem instal·lar-lo ràpidament a través del terminal amb:

 

sudo apt install arduino arduino-core

 

Una vegada instal·lats els paquets podem trobar l'IDE al menú Inici > Electrònica > Arduino IDE.

 

3 Arduino

 

L'altra opció, i la més recomanable, és instal·lar solament el paquet arduino-ide, ja que aquest paquet é el més actualitzat i l'equip de LliureX ha corregit alguns error de permisos que solien aparèixer.

 

4 Arduino

 

També podem instal·lar-lo ràpidament a través de la terminal amb:

 

sudo apt install arduino-ide

 

Una vegada instal·lat el programa ens apareix en Inici > Desenvolupament > Arduino IDE:

 

5 Arduino

 

3. Instal·lació d'Arduino-ide en un client lleuger o semilleuger.

 

Per a instal·lar l'Arduino-IDE en una imatge per a un client lleuger o semilleuger hem d'entrar al Centre d'administració de LliureX 16 Centre d'administració de LliureX 16 (açò només ho podrà fer l'administrador del sistema) i instal·lar el programa arduino-ide. Teniu tot el procés detallat ací.

D'aquesta manera només tindrem que instal·lar el paquet en una única imatge i serà asible per a tots els usuaris on podran realitzar les pràctiques..

 

4. Ús d'Arduino-web

 

Existeix una alternatica que és utilitzar Arduino des de una pàgina web, aquesta opció només està recomanada per a conexions amb un gran ample de banda. Podem trobar la informació aquí.

 

5. Arduino IDE

 

Quan accedim a uino IDE (actualment es duu la versió 1.8.2) ens trobem amb la següent finestra:

 

6 Arduino

Arduino IDE és capaç de detectar quina placa tens instal·lada i quin port estàs utilitzant. Encara que no està de més assegurar-se. Per això, abans de començar a programar hem de dr-li al programa quina targeta anem a utilitzar, anem a Ferramentes > Placa i escollim el nostre model de targeta

 

7 Arduino

 

Després en Ferramentes >Port l'indiquem quin USB anem a utilitzar (normalment /dev/ttyUSB0).

 

8 Arduino

 

I ja està configurada la placa. Ara podem ar un dels nombrosos exemples que tenim per a poder carregar un porgrama i veure com tot funciona correctament. En aquest cas anem a agafar l'exemple d'una pantallLCD 16x2:

 

9 Arduino
 

6. Exemple Serial Input

 

En el nostre cas hem modificat un poc el codi per a que funcione amb el nostre shield, pero teniu tota la informació (això sí, en anglés) relacioanda en cada exemple en un enllaç amb els comentaris del principi 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 començament de tots els exemples hi ha una xicoteta explicació sobre com funciona el programa, el copyright i al final l'enllaç on es apreix una explicació molt més detallada del program, amb els esquemes de muntatge, etc... 

Per a carregar i verificar el programa polsem sobre el botó:  12 Arduino   situat en la part superior esquerra, el botó del costat ens serveix només per a verificar el codi en cas de que hi haja algun error

 

11 Arduino

 

El programa ens permet enviar cadenes de text a la pantalla a través del port sèrie, per a tal fi hem de comunicar-nos amb el programa a través del motor serial

 

13 Arduino

 

I en viar el missatge que volem que apareixca en la nostra pantalla:

 

14 Arduino

10 Arduino