Arduino

De Viquipèdia
Dreceres ràpides: navegació, cerca
Arduino Duemilanove

Arduino és una placa de circuit imprès simple basada en microcontrolador de codi obert provinent de la plataforma de codi obert Wiring[1][2] amb l'objectiu de fer més simple i accessible el disseny de circuits electrònics amb microcontroladors.

El maquinari consisteix en dissenys simples de maquinari lliure amb processadors Atmel AVR en una placa amb pins E/S. L'entorn de desenvolupament implementa el llenguatge Processing de Wiring, molt semblant a C++. Arduino es pot utilitzar per desenvolupar objectes interactius autònoms o pot ser connectat a programari de l'ordinador (p. ex. Macromedia Flash, Processing, Max/MSP, Pure Data). Les plaques es poden muntar a mà o adquirir-se i els IDE de font oberta es poden descarregar de franc.

Placa Arduino Diecimila

El projecte Arduino va rebre una menció honorífica a la categoria de Comunitats Digital al Prix Ars Electronica 2006 (anglès).

Arduino és un nom propi masculí italià que significa "gran amic".

Tipus de plaques[modifica | modifica el codi]

Existeixen diferents versions d'Arduino. En funció del nostre projecte podem triar la que s'adapti millor al projecte en qüestió:

  • Placa sèrie:

És la placa bàsica, i s'utilitza una interfície RS232. Aquesta interfície pot ser utilitzada, a més a més, per a la programació de la placa, per a comunicar-se amb altres elements externs que utilitzin el port sèrie, com per exemple un PC.

  • Placa USB:

És una evolució de la placa sèrie que incorpora un port USB per a comunicar-se amb el PC.

  • Placa de prototips:

Aquesta placa està pensada per a poder incorporar hardware addicional al disseny base de l'Arduino. Incorpora una matriu de forats en la que s'hi pot afegir el nostre hardware addicional. No disposa de port sèrie ni USB, per la qual cosa és necessari disposar d'una altra placa per a programar el xip.

  • Bluetooth:

És l'ultima versió en la que s'hi està treballant. Elimina la necessitat de cables per a comunicar-se amb el PC o qualsevol altre dispositiu bluetooth, com per exemple un telèfon mòbil.

Esquemàtic de pins[modifica | modifica el codi]

Entrades i sortides[modifica | modifica el codi]

Consta de 14 entrades digitals configurables d'entrada i/o sortida que operen a 5 volts. Cada pin pot proporcionar o rebre com a màxim 40mA. Els pins 3, 5, 6, 9, 10 i 11 poden proporcionar una sortida PWM (Pulse Width Modulation). Si es connecta qualsevol cosa als pins 0 i 1, això interferirà amb la comunicació USB. Diecimila també té 6 entrades analògiques les quals proporcionen una resolució de 10 bits. Per defecte mesuren des de 0 volts (massa) fins a 5 volts, tot i que és possible canviar el nivell més alt, utilitzant el pin Aref i algun codi de baix nivell.

Esquema i pins[modifica | modifica el codi]

Elements amb els que podem interaccionar: (prenent d'exemple la placa USB)


Començant en el sentit de les agulles del rellotge des del centre de la part superior:


Esquema de pins

Pin de referència analògica (taronja)

Senyal de terra digital (verd clar)

Pins digitals 2-13 (verd)

Pins digitals 0-1 / entrada i sortida del port sèrie:TX/RX (blau)

Botó de reset (negre)

Entrada del circuit del programador sèrie (marró)

Pins d'entrada analògica 0-5 (blau fosc)

Pins d'alimentació i terra (taronja i taronja clar)

Entrada de la font d'alimentació externa (9-12V DC) – X1 (gris)

Commutació entre font d'alimentació externa o alimentació a través del port USB – SV1

Port USB (vermell).

Especificacions[modifica | modifica el codi]

El microcontrolador Arduino Duemilanove està basat en el Atmega 328.

Arduino Duemilanove

Arduino Duemilanove

El microcontrolador Arduino Diecimila està basat en Atmega168.


Especificacions.

Instal·lació en Windows[modifica | modifica el codi]

Per la instal·lació de la placa Arduino en el sistema operatiu windows cal seguir els següents pasos: Amb la placa desconnectada:

Interfície Arduino S.O. Windows

1.- Descarregar i instal·lar el Java Runtime Enviroment (J2RE).

2.- Descarregar l'última versió de l'IDE d'Arduino.

Nota: És recomanable descomprimir el fitxer en el directori arrel (c:\) mantenint l'estructura original.

3.- Entre totes les carpetes creades en el directori arduino, cal destacar les següents:

- c:\arduino-0012\hardware\bootloader:

Aquesta conté el programari necessari per a carregar el firmware en el xip Atmega168, per treballar amb Arduino. Només cal si us heu muntat la placa vosaltres mateixos, o en el cas que s'hagi espatllat el xip i hàgiu comprat un de nou.

-c:\arduino-0012\drivers: Conté els drivers necessaris per al funcionament de la placa Arduino amb el PC amb S.O. Windows: FTDI USB Drivers

4.- Instal·lar FTDI USB Drivers.

Ara sí, connectar la placa USB. S'obrirà automàticament l'assistent de windows per a nou maquinari trobat:

-Selecciona "No por el momento"i prem"Siguiente".

-Selecciona "Instalar desde una lista o ubicación específica (avanzado)" i prem "Siguiente".

-Selecciona "Buscar el controlador más adecuado en estas ubicaciones" prem "Examinar".Selecciona la carpeta on hagis descomprimit el driver i prem "Siguiente".

Si tot ha anat correctament el driver de la placa estarà instal·lat.

5.- Obrir l'IDE d'Arduino.

Executarem el fitxer Arduino.exe per obrir la interfície. Aquí configurem el port USB on tenim connectada la placa per a començar-hi a treballar.

Instal·lació en Linux[modifica | modifica el codi]

Interfície Arduino S.O. Linux

Per instal·lar arduino en un sistema GNU/LINUX necessitem els següents programes per resoldre les dependències:

Sun java runtime, jre.

avr-gcc, compilador per la familia de microcontroladors avr d'atmel.

avr-libc, libc del compilador avr-gcc.

Per instal·lar-los, podem utilitzar el gestor de paquets. O bé per comandes a través del terminal:

apt-get install sun-java5-jre gcc-avr avr-libc

En algunes distribucions cal desinstal·lar, sinó es necessita, el programa "brltty". Aquest s'encarrega de permetre l'accés al terminal per persones cegues a través d'un dispositiu especial en braille.

killall brltty

apt-get remove brltty

Els dos síntomes d'aquest problema són:

- No apareix l'opció /dev/ttyUSB0 en el menú Tools, Serial Port.

- Si s'observa el LED Rx de la placa Arduino, aquest s'ilumina de 3 a 5 vegades cada 5 o 6 segons.

Per últim descarreguem el framework d'arduino. El descomprimim a la carpeta desitjada i l'exectuem:

./arduino

Si tot ha anat bé ja el tindrem en funcionament.


Primer contacte[modifica | modifica el codi]

El primer pas abans de comprovar que la instal·lació és correcte i començar a treballar amb Arduino és obrir alguns exemples pràctics que vénen disponibles amb el dispositiu. És recomanable obrir l'exemple "led_blink" que trobarem al menú File, Sketchbook, Examples, led_blink. Aquest codi el que fa és crear una intermitència per segon en un led connectat en el pin 13. És qüestió de comprovar que el codi font és correcte, per això, premerem el botó que és un triangle (en forma de "play") i seguidament farem un "upload" (que és la fletxa cap a la dreta) per carregar el programa a la placa. Si el led començar a fer intermitències cada segon tot estarà correcte.



Aplicacions[modifica | modifica el codi]

Les aplicacions que ens ofereix Arduino són múltiples, i dependrà de la nostra imaginació. Provistos de sensors podem crear aplicacions senzilles enfocades a la docència per a estudiants d'electrònica, projectes més elaborats per a la indústria o inclús sistemes adreçats simplement a l'oci.

Patch Pduino

Pduino[modifica | modifica el codi]

Pduino neix de la fusió de Pure Data i Arduino. Ambdós d'Open Source permeten treballar l'un de l'altre d'una manera gràfica i molt intuïtiva. Carregant el fimware de Pure Data (PD) a la placa Arduino podem accedir-hi a través d'aquest llenguatge de programació gràfic. Es pot observar que tenim tot l'esquema físic de la placa, amb els ports, pins digitals, pins analògics, entrades i sortides... en una interfície gràfica, gràcies a PD.

Versions de maquinari[modifica | modifica el codi]

Les versions originals d'Arduino són manufacturades per Smart Projects.

Arduino Procesador Flash
KiB
EEPROM
KiB
SRAM
KiB
Pins E/S
Digitals

PWM
Pins de Sortida
Analògica
Tipus d'interfície
USB
Dimensions
polzades
Dimensions
mm
Diecimila ATmega168 16 0.5 1 14 6 6 FTDI 2.7" x 2.1" 68.6mm x 53.3mm
Duemilanove ATmega168/328P 16/32 0.5/1 1/2 14 6 6 FTDI 2.7" x 2.1" 68.6mm x 53.3mm
Uno ATmega328P 32 1 2 14 6 6 ATmega8U2 2.7" x 2.1" 68.6mm x 53.3mm
Mega ATmega1280 128 4 8 54 14 16 FTDI 4" x 2.1" 101.6mm x 53.3mm
Mega2560 ATmega2560 256 4 8 54 14 16 ATmega8U2 4" x 2.1" 101.6mm x 53.3mm
Fio ATmega328P 32 1 2 14 6 8 None 1.6" x 1.1" 40.6mm x 27.9mm
Nano ATmega168 or ATmega328 16/32 0.5/1 1/2 14 6 8 FTDI 1.70" x 0.73" 43mm x 18mm
LilyPad ATmega168V or ATmega328V 16 0.5 1 14 6 6 None 2" ø 50mm ø


Equip de desenvolupament[modifica | modifica el codi]

L'equip de desenvolupadors d'Arduino es compon bàsicament de Massimo Banzi, David Cuartielles, Tom Igoe, David Mellis i Nicholas Zambetti.

Vegeu també[modifica | modifica el codi]

Enllaços externs[modifica | modifica el codi]

Referències[modifica | modifica el codi]

A Wikimedia Commons hi ha contingut multimèdia relatiu a: Arduino
  1. «Interview with Casey Reas and Ben Fry».
  2. «Wiring». [Consulta: 07 d'octubre de 2012].