Carregant...
 

Arduino en LliureX 21.

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:


001 Ardu


Busquem els paquets i els seleccionem:


002 Ardu


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.


003 Ardu


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.


004 Ardu


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:


005 Ardu

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 enviar el missatge que volem que apareixca en la nostra pantalla:


14 Arduino


10 Arduino

Mastodon E-Mail