Arduino

De la Viquipèdia, l'enciclopèdia lliure
Infotaula equipament informàticArduino
Modifica el valor a Wikidata

Modifica el valor a Wikidata
Característiques
CPUMicrocontroladors AVR
ARM Modifica el valor a Wikidata
Lloc webarduino.cc Modifica el valor a Wikidata
Arduino Duemilanove

Arduino és una placa de circuit imprès simple basada en el 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 codi font obert 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 Arxivat 2006-12-06 a Wayback Machine. (anglès).

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

Tipus de plaques[modifica]

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'última versió en la qual es treballa. 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]

Entrades i sortides[modifica]

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]

Elements amb els quals 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]

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

Arduino Duemilanove

Arduino Duemilanove

El microcontrolador Arduino Diecimila està basat en Atmega168.


Especificacions.
Especificacions.

Instal·lació en Windows[modifica]

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 n'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]

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]

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 venen disponibles amb el dispositiu. És recomanable obrir l'exemple "led_blink". Aquest codi el que fa és crear una intermitència per segon en un led connectat a un pin, en el nostre cas el número 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").

# define LED_PIN 13
void setup () {
 // configura el pin 13 com a sortida digital
 pinMode (LED_PIN, OUTPUT);
}

// bucle principal
void loop () {
 // escriu un 1 lògic a la sortida 13
 digitalWrite (LED_PIN, HIGH);
 // pausa de 1000ms
 delay (1000);
 // escriu un 0 lògic a la sortida 13
 digitalWrite (LED_PIN, LOW);
 // pausa de 1000ms
 delay (1000);
}

Com a resultat d'aquest codi obtindrem una intermitència al led 13, amb una freqüència de 2 segons.

Aplicacions[modifica]

Proveïts de sensors es poden crear aplicacions senzilles enfocades a la docència per a estudiants d'electrònica, projectes més elaborats per a la indústria o sistemes adreçats a l'oci.

Pduino[modifica]

Patch Pduino

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.

Snap4Arduino[modifica]

Entorn de programació educativa Snap4Arduino. Shi observen els blocs específics per a la placa.

Snap4Arduino és una extensió de Snap! que permet la programació visual per blocs de les diverses plaques Arduino. Ambdós d'Open Source permeten treballar l'un de l'altre d'una manera molt intuïtiva.[3][4][5][6]

Versions de maquinari[modifica]

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 Arxivat 2011-05-26 a Wayback Machine. 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 ø
Due Atmel 91SAM3X8E 512 None 96 54 12 12 ATmega16U2 20.98" x 4" 53.3mm x 101.52mm
Micro ATmega 32u4 32 1 2.5 20 7 7 Interna 1.89" x 0.7" 48mm x 18mm

Equip de desenvolupament[modifica]

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]

Referències[modifica]

Enllaços externs[modifica]

A Wikimedia Commons hi ha contingut multimèdia relatiu a: Arduino