14
codi obert - Què és l' arduino ? És una plataforma de codi obert per a prototips electrònics. I això què vol dir? by Jody Culkin electrònica - prototip - plataforma - "Recursos que poden ser usats, redistribuits o reescrits lliures de càrrec. Sovint programari o maquinari." "Tecnologia que utilitza el corrent elèctric per controlar quelcom automàticament." "Model original que pot servir com a base per altres coses." "Arquitectura de maquinari amb un sistema de programari sobre la qual es pot executar un (altre) programa."

Arduino comic v004_cat_beta

Embed Size (px)

DESCRIPTION

traducció del Arduino Comic de Jody Clukin al català

Citation preview

Page 1: Arduino comic v004_cat_beta

codi obert -

Què és l'arduino?

És una plataformade codi obert per aprototips electrònics.

I això què vol dir?b y J o d y C u l k i n

electrònica -

prototip -

plataforma -

"Recursos que poden ser usats, redistribuits o reescrits lliures de càrrec.Sovint programari o maquinari."

"Tecnologia que utilitza el corrent elèctric percontrolar quelcom automàticament."

"Model original que pot servir com a base per altres coses."

"Arquitectura de maquinari amb un sistema de programarisobre la qual es pot executar un (altre) programa."

Page 2: Arduino comic v004_cat_beta

O N O F Fun ratolí és un

dispositiu d'entradad'un ordinador,

una pantalla és undispositiu de sortida.

Els microcontroladors utilitzen les entrades i sortidescom qualsevol ordinador. Les entrades capten informacióde l'usuari o de l'entorn, mentre que les sortides fanalguna accio amb la informació que ha estat captada.

Un Arduino conté un microcontrolador, que és un ordinador en miniatura que pots programar. Li potsconnectar sensors per mesurar condicions (per exemple quanta llum hi ha a l'habitació). Pot controlarcom altres objectes reaccionen a aquestes condicions (si l'habitació s'enfosqueix el LED s'engega).

O pot respondre a quelcom tansenzill com prémer un interruptor.

microcontroladorfotocel·la

LED

placa de connexions

Page 3: Arduino comic v004_cat_beta

polsador

Un interruptor o un sensor poden seruna entrada per l'Arduino.

sensorde forcesresistiu motor de C.C.

Qualsevol objecte que volguem engegar o aturar icontrolar pot ser una sortida. Pot ser un motor ofins i tot un ordinador.

Les entrades i sortides poden se r digitals oanalògiques. La informació digital és binària -és o bé cert o fals-. La informació analògica éscontínua, pot abarcar un rang de valors.

Quina diferènciahi ha entre

entrades i sortidesdigitals i analògiques?

La informació digitalés discreta i finita.

Tota la informació esdescriu en dos estats,

1 o bé 0, on o bé off.

Un interruptor és una entrada digital, un sensor és unaentrada analògica. El rang d'un sensor analògic estàlimitat per la seva conversió a dades digitals.

La informació analògicaes caracteritza

per la seva naturalesacontínua. Pot terni un

infinit nombrede possibles

valors.

Page 4: Arduino comic v004_cat_beta

Abans de connectar l'Arduino revi-sarem uns conceptes i principisrelacionats amb el comportamentdel corrent elèctric (i per tantde l'electrònica). El corrent elèctric és el flux d'energia a través d'un material conductor.

tensió?intensitat?resistència?llei d'Ohm?

Tensió (U)és la mesuradel potencial

elèctric.Es mesura

en volts (V).

Intensitat (I)és la velocitat

del flux a travésd'un material

conductor.Es mesura

en ampères (A).

Resistència (R)és l'oposiciódel materialal flux del

corrent elèctric.Es mesura

en ohms ( ).

L'analogia de l'aigua s'utilitza habitualment per explicar aquests conceptes. Aquí tenim un model.

la pressió del raigve determinada per la tensió

la resistència fa decréixer ocréixer el raig

el cabal d'aigua equivala la intensitat

Ω

Page 5: Arduino comic v004_cat_beta

+

-

Hi ha una relació entre tensió, intensitati resistència, descoberta per enGeorg Ohm, un físic alemany.

Anem a veure ara un circuit senzill. Cada circuit és unrecorregut tancat que té una font d'energia (pila) i unacàrrega (làmpada). La càrrega converteix l'energia elèctricaen una altra d'útil. Aquest circuit també té un interruptor

Aquest és l'esquema del mateix circuit (representa elcircuit mitjançant símbols pels components electrònics).Quan l'interruptor és tancat, el corrent flueix des delgenerador i fa encendre la làmpada

Per exemple, si s'incrementala resistència es redueixla intensitat.

O si s'incrementa la tensióhi ha més corrent.

llei d'OHM

intensitat = tensió / resistència(I = U / R)

o béresistència = tensió / intensitat

(R = U / I)o bé

tensió = resistència * intensitat(U = R * I)

làmpada

interruptorgenerador C.C.

Page 6: Arduino comic v004_cat_beta

ht t p:/ / ar du ino .c c / en / Main / S o f t war e

descàrrega:

I

II

I

H i ha dos t ipus hab i tua ls de c i rcu i ts ,e l s deCorrent Cont inu i e l s de Corrent A l tern .En un c i rcu i t de C .C . e l corrent sempre f lue i x ene l mate ix sent i t . En C .A . e l corrent f lue i x ensent i ts oposats en c i c l es regu l ars . Aquí noméspar l a rem de c i rcu i ts de C .C .

L'Ardu ino necess i ta energ ia per func ionar. L' hem deconnectar a un ord inador per programar- lo .

S ' h a d e d e s c a r re g a t i i n s t a l · l a r p ro g r a m a r ip e r p o d e r p ro g r a m a r l ' A rd u i n o . E s t ro b ad i s p o n i b l e e n l ' U R L d e d a l t g r a t u ï t a m e n t .E l p ro g r a m a r i A rd u i n o é s e x e c u t a b l e e np l a t a f o r m e s M a c O S X , W i n d o w s i L i n u x .

A l c o n n e c t a r l ' A rd u i n o a l ' o rd i n a d o r a m bu n c a b l e U S B , a q u e s t p ro p o r c i o n a r à e l s 5 Vq u e n e c e s s i t a i p o d re m p ro g r a m a r- l o .

Corrent Cont inu(C .C . )

Corrent A l tern(A .C . )

Ara que ja hem rev isat a lgunspr inc ip is bàs i cs de l corrent,

tornem a l ' A rdu ino

Page 7: Arduino comic v004_cat_beta

ht t p:/ / www.ar du ino .c c / en / Gu ide/ Mac OSX

ht t p:/ / www.ar du ino .c c / en / Gu ide/ Windows

ht t p:/ / www.ar du ino .c c / pl ayg r ound/ Lear n ing / Linux

Instruccions per instal· lar el programariArduino en un Mac:

Instruccions per instal· lar el programariArduino en Windows:

Instruccions per instal· lar el programariArduino en Linux:

A les URL de dalt hi ha instruccions detal lades per instal· larel programari en aquestes plataformes.

Després d'haver instal· lat el programariconnecteu l 'Arduino. Un LED marcat ONs'hauria d'encendre a la placa.

Executeu el programari Arduino. En el menú Toolsescol l iu la placa que estigueu uti l itzant (Tools > Board).Per exemple, Arduino UNO .

A continuació seleccioneu el port sèrie(Tools > Serial Port). En un Mac serà quelcomsemblant a /dev/tty.usbmodem . En un ordinadoramb Windows serà com3 o quelcom similar.

Page 8: Arduino comic v004_cat_beta

Què és unEntorn de

DesenvolupamentIntegrat?

Quan heu descarregat el programariArduino heu descarregat un IDE.Combina un editor de text amb uncompilador i altres funcions per ajudar alsprogramadors a desenvolupar programari.

L'IDE Arduino permet escriure Sketch o programes i carregar-los a laplaca Arduino. Obriu l'exemple Blink en el menú File:File > Exemples > 1.Basics > Blink.

Botó Upload

Per carregar l 'sketch a la placa Arduinocl iqueu el botó Upload en la tira de botonsde dalt de la finestra. Apareixeran algunsmissatges a la part de baix de la finestra ifinalment Done Uploading . El LED del pin 13 de l'Arduino començarà a parpellejar.

Page 9: Arduino comic v004_cat_beta

voi d set up( ) {

pi nMode( 13, OUTPUT) ;

}

voi d l oop( ) {

di gi t al Wr i t e( 13, HI GH) ;

del ay( 1000) ;

di gi t al Wr i t e( 13, LOW) ;

del ay( 1000) ;

}

h t t p : / / a rd u i n o . c c / e s / re f e re n c e / h o m e p a g e

voi d set up( ) {/ / i ni t i al i ze t he di gi t al pi n as an out put ./ / Pi n 13 has LED connect ed on most Ar dui no boar ds:pi nMode( 13, OUTPUT) ;

}

voi d l oop( ) {di gi t al Wr i t e( 13, HI GH) ; / / set t he LED ondel ay( 1000) ; / / wai t f or a seconddi gi t al Wr i t e( 13, LOW) ; / / set t he LED of fdel ay( 1000) ; / / wai t f or a second

}

Al web d'Arduino podeu consultar laguia de referència i molts altres recursosper aprendre el l lenguatge.

Ara mireu aquest script senzi l l l ínia a l íniaper veure que fa cadascuna.

Aquests dos són blocs de codi anomenatsfuncions que t indran tots els sketch. Estantancat per claudàtors { } .

Un sketch, com qualsevol programa escrit enun altre l lenguatge és un conjuts d' instruccionsper l 'ordinador. Si observem detingudamentl 'exemple Bl ink veurem que hi ha dues partsprincipals: setup i loop .

setup: s'executa una vegada quanel programa s'inicia

loop: es repeteix una ialtra vegada

// declara un bloc de codi

// posa el piu 13 com sortida

// finalitza el bloc de codi

// declara un bloc de codi

// posa piu 13 a nivell alt

// pausa 1 segon

//posa piu 13 a nivell baix

//pausa 1 segon//finalitza el bloc de codi

Page 10: Arduino comic v004_cat_beta

Com es controlen objectes que no estan en laplaca Arduino?. Connectarem l 'Arduino a unaplaca de prototips sense soldadura . Això enspermetrà construir i comprovar circuits ràpidament

Aquest placa de prototips té 2 files de forats verticalsa esquerra i dreta, i files de 5 forats horitzontals alscostats de la ranura central. Les tires dels costatsestan connectades verticalment, i cada tira de 5 foratsdel mig és independent de les altres.

Connectarem els 5V i la terra de la placa Arduinoa les tires connectades verticalment a esquerra idreta amb cables prims. Els components es podeninterconnectar amb els forats del mig i a 5V i terrasi és necessari.

ànode(es connecta a 5V)

càtode(es connecta a terra)

Quan circula corrent travessant un L E D (DíodeEmissor de Llum) en la direcció correcta aquests'encén. Anem a connectar un LED a la placa deprototips i l lavors a l 'Arduino per tal de podercontrolar-lo amb codi.

fo ra ts connec ta ts

hor i t zonta lment

fo ra ts connec ta ts

ver t i ca lment

Page 11: Arduino comic v004_cat_beta

voi d set up( ) {pi nMode( 2, OUTPUT) ;pi nMode( 4, I NPUT) ;

}

voi d l oop( ) {i f ( di gi t al Read( 4) ) {

di gi t al Wr i t e( 2, HI GH) ;}el se{di gi t al Wr i t e( 2, LOW) ;}

}

Ara afegirem un interruptor, una entradadigital, per poder encendre i apagar el LED.

C o n n e c t a u n e x t re m d e l p o l s a d o r a l p i u 4 d e l ' A rd u i n o ,i t a m b é u n e x t re m d ' u n re s i s t o r d e 1 0 k c o n n e c t a t p e rl ' a l t re e x t re m a t e r r a . C o n n e c t a l ' a l t re e x t re m a l s 5 V.D e i x a e l L E D c o n n e c t a t a l m a t e i x p i u q u e a b a n s .

A continuac ió escr iurem e l codi . A setup, dec larem e lp iu 2 com sort ida i e l p iu 4 com entrada. A loop,uti l itzarem una sentència if : s i a l comprovar e l p iu 4està a n ive l l a lt, posarem e l p iu 2 a n ive l l a lt, en cascontrar i posarem e l p iu a n ive l l ba ix tot apagant- lo. E l LED s ' encén quan e l po lsador es manté premut .

Page 12: Arduino comic v004_cat_beta

S e r i a l Moni t or

c l i c k t o o pe ns e r ia l win do w

voi d setup( ) {Ser i a l . begi n( 9600) ;

}

voi d l oop( ) {Ser i a l . pr i nt l n( ana l ogRead( A0) ) ;

}

un potenciòmetre és un resistorvariable. La seva resistència canviaquan es fa girar, tot augmentant o

disminuint segons el sentit enque es fa girar.

Ara establ irem una entrada analògica.Ut i l itzarem un potenciòmetre.

C o n n e c t a e l t e r m i n a l d e l m i g d e l p o t e n c i ò m e t re a l p i ua n a l ò g i c A 0 . C o n n e x t a u n e x t re m d e l p o t e n c i ò m e t rea 5 V i l ' a l t re a t e r r a .

Després d'haver carregat l'script a l'Arduino, clica el botóSerial Monitor per veure els valors a mesura que giresel potenciòmetre. S'obrirà una finestra i veuràs els valorsdins un rang entre 0 i 1024.

Primer mirarem el rang de valors que obtenim al girarel potenciòmetre uti l itzant el Serial Monitor . En el codiinicial itzarem l 'objecte serial al setup, configurant unavelocitat de 9600 bauds. A loop l legirem el valor delpiu analògic A0 i l ' imprimirem a l 'objecte serial amb lafunció println .

Page 13: Arduino comic v004_cat_beta

i nt sensor Val ue = 0;

voi d set up( ) {pi nMode( 3, OUTPUT) ;

}

voi d l oop( ) {sensor Val ue = anal ogRead( A0) ;anal ogWr i t e( 3, sensor Val ue/ 4) ;

}

5V

0V

5V

0V

5V

0V

Utilitzarem la modulació per amplada depolsos (PWM). És una manera de simularun valor analògic tot alterant la tensióentre el màxim i el mínim a diferent ritmeo cicle de treball. Es pot utilitzar la PWM enels pius 3, 5, 6, 9, 10 i 11.

cicle de treball del 0% - analogWrite(0)

cicle de treball del 50% - analogWrite(127)

cicle de treball del 100% - analogWrite(255)

Ara utilitzarem els valors variables que es reben del potenciòmetrecom atenuador per controlar un LED. Connecta l'ànode mitjançantun resistor al piu 3 de la placa i el càtode a terra.

Primer crearem una variable per emmagatzemar el valordel potenciòmetre. A setup definim el piu 3 com sortida.A loop emmagatzemem el valor que s'ha llegit del pin A0a la variable. Llavors escrivim el valor al piu 3, el del LED.Hem de dividir la variable entre 4 per tal de tenir un rangde valors entre 0 i 255 que és un byte.

La lluentor del LED canvia, entre completament apagati molt luent al girar el potenciòmetre.

Page 14: Arduino comic v004_cat_beta

S'ha acabat!.Aquesta és una introducciómolt breu. A les següentsvinyetes hi ha enllaços i

altres recursos. Proveu-lostots i en trobareu molts

més!.

EnllaçosProgramari

Descàrrega de programarihttp://arduino.cc/es/Main/Software

Referència del llenguatgehttp://arduino.cc/es/Reference/HomePage

On comprar

http://arduino.cc/es/Main/Buyhttp://store.arduino.cc/eu/index.php

GuiesGuies del web d'Arduino

http://arduino.cc/es/Tutorial/HomePagehttp://arduino.cc/playground/es/manuales

Projecteshttp://arduino.cc/playground/Es/Projects

Llibreshttp://arduino.cc/playground/Es/Manuales

Traduït al català, adaptat i remaquetat per Antoni Ubieto Xirgas

Te x t i d i b u i x o s d e J o d y C u l k i nv e g e u - n e m é s a j o d y c u l k i n . c o m

Agraïments especials a Tom Igoe, Marianne Petit, Calvin Reid,al professorat i personal del Interactive TelecommunicationsProgram de la NYU, particularment Dan O'Sullivan,Danny Rozini Red Burns. Gràcies a Cindy Karasek, Chris Stein, Sarah Teitler,Kathy Goncharov i Zannah Marsh.Moltes, moltes gràcies al Arduino Team per oferir-nosaquesta plataforma de codi obert robusta i flexible.I gràcies a la animada, activa i sempre creixentcomunitat Arduino.

La traducció i adaptació d'Antoni Ubieto Xirgasés per tant també subjecta a la mateixa llicència

Introduction to Arduino by Jody Culkinestà subjecta a una llicència Creative CommonsAttribution-NonCommercial-ShareAlike 3.0Unported License.