Guia Inicicacio Arduino

Embed Size (px)

Citation preview

  • 8/19/2019 Guia Inicicacio Arduino

    1/51

    1. PLACA

    Com ja hem dit anteriorment Arduino és una placa. Com a tal constade diverses parts: pins. botons, connexions USB...

    - PW !Pulse Width odulations": s#n els pins di$itals %, &, ', (,)* i )) +ue ens permeten dur a terme a+uest enomen d-ones.

    - Pins di$itals: tots els pins +ue es comporten se$ons les onesdi$itals.

    - Pins serial: s#n els pins * i ). l primer es tracta del receptor

    !/0" i el se$on el transmissor !10".- 234: connexi# a terra.- Pins anal5$ics: pins +ue uncionen mitjan6ant les sen7als

    anal5$i+ues.- Sortida de corrent: ens permetr8 enviar corrent a dispositius

    externs, de %,%9 o de &9.- ntrada de corrent: ens permet alimentar la placa.- / S 1: reiniciem la placa.- ;/

  • 8/19/2019 Guia Inicicacio Arduino

    2/51

    - CSP ! n>Circuit Serial Pro$rammin$ o SP, n>S7stemPro$rammin$": és una caracter?stica +ue ens permet pro$ramarla placa mentre esti$ui instal@lada en un sistema, sensepro$ramaci# pr via a la instal@laci#.

    - A1 2A% : microcontrolador.- USB: ens permet alimentar la placa i

    pro$ramar>la. Da connexi# és del tipus AB,normalment ens inclour8 el cable +uancomprem l-Arduino, les impressoresutilitEen a+uest tipus per norma $eneral.

    Il·lustració 10Cable USB AB

  • 8/19/2019 Guia Inicicacio Arduino

    3/51

    . INSTAL·LACIÓ DEL IDEPer instal@lar la Fltima versi# d-Arduino ens diri$irem a la Geb:https:HHGGG.arduino.ccHenH ainHSo tGare

    scollim la versi# +ue volem, en a+uest cas, com utilitEo

    WindoGs )*, clicaré on diu WindoGs installer.

    Se$uidament ens apareix una pa$ina on ens d#na l-opci# de donara Arduino, si no volem, simplement li donem aIJust doGnloadK.

    Se$uidament obrim l-arxiu .exe +ue hemdescarre$at i acceptem totes les Lnestres +ue

    ens van apareixent. A continuaci# procedir8 a instal@lar>se.

    Un cop instal@lat ens apareixer8 la se$MentLnestra, la +ual ens instal@lar8 elscontroladors d-Arduino.

    Ja et aix5 tindrem l- 4 = Arduino

    plenament operatiu.

    Il·lustració 11Web de descàrre a d!Arduino I"#

    Il·lustració 1$Proc%s d!instal·lació del I"#&

    Il·lustració 1'Instal·lació del controlador d!Arduino

  • 8/19/2019 Guia Inicicacio Arduino

    4/51

    3. PROGRAMACIÓ

    n la imat$e superior veiem el codi de la pr8ctica blinN.

    4ividirem l-sNetch= en O parts:

    > PRIMERA PART: comentari

    A+u? comentarem breument el prop5sit de l-sNetch= i a ve$adesels cr dits d-a+uest.

    - SEGONA PART: ec!araci" e #aria$!e%4eclara variables $lobals del SNetch= i si volem el seu valorinicial. 4i erenciem a+uestes variables de les locals, només s#naccessibles en una unci#.

    > TERCERA PART: #oi %et&' ()

    Il·lustració 1(#)e*+le de codi

    ,oid loo+ .

    ,oid setu+ ."eclaració de ,ariablesCo*entari

  • 8/19/2019 Guia Inicicacio Arduino

    5/51

    s-executa un cop +uan arranca la placa Arduino. S-utilitEa perdeLnir els pins i establir si s#n d-entrada o sortida !es potcanviar durant el transcurs del SNetch=, a di er ncia de lase$ona part".

    > *+ARTA PART: #oi !oo' ()

    S-executa inLnitament i és on la $ran part del codi est8 present.

    Una ve$ada tenim el codi podem de veriLcar>lo amb a+uest

    bot#: o bé podem pujar>lo a Arduino amb a+uest: . Al pujar>lo també veriLcar8 +ue no hi ha$i cap error. Per pro$ramar laplaca no cal +ue connectem l-Arduino a l-ordinador, per5 alhorade pujar el codi s? +ue hem de connectar>la via USB.

    3.1. POSSI,LES ERRORS I SOL+CIONSSi no ens deixa pujar el codi pot ser +ue el C; esti$ui malconL$urat:

    Per solucionar>ho anem a erramientas Puerto escollim el+ue mar+ui com ArduinoH2enuino U3;.

  • 8/19/2019 Guia Inicicacio Arduino

    6/51

    %. . SINTA I

    n la pro$ramaci#, la sintaxis és molt important, és per aix5 +uehem de tenir molt clars tots a+uests conjunts de s?mbols i el seu

    Fs.> Q UtilitEat per LnalitEar una l?nia, donar8 error si no ho

    escrivim.> R delimita la in ormaci# dins dels blocs com setup, loop, i ...

    > a e$irem un comentari d-una sola l?nia. 9eiem +ue és uncomentari si passa a estar de color $ris clar.

    > / / A+u? el comentari ser8 tant llar$ i de les l?nies +uevol$uem, per5 hem de tancar>lo.

    > TdeLne permet donar un nom a una constant i assi$nar>li unnFmero.

    > Tinclude serveix per a e$ir llibreries d-Arduino.

  • 8/19/2019 Guia Inicicacio Arduino

    7/51

    3.3. FUNCIONS GENERALS

    '&'&1&DIGITALSpinMode n/*ero del +in *ode.

    Serveix per establir a cada pin d-entrada o sortida di$ital +ueutilitEarem el mode en +ue ho ar8 és a dir com entrada o comsortida ! 3PU1 o ;U1PU1". Una entrada és tot all5 +ue enviar8in ormaci# a l-Arduino, un bon exemple seria un teclat o unratol?. n canvi una sortida seria un monitor o una impressora,

    n realitat amb Arduino no cal declarar els pins +ue utilitEaremcom entrades, només els de sortida per5 és recomanable perpoder entendre el codi millor.

    A+u? diem +ue el pin )% unciona com una sortida !pr8cticaBlinN".

    ls pins tenen una resist ncia interna de * N +ue s-activen aldeclarar un pin com entrada ! 3PU1".

    ls pins ;U1PU1 no tenen pr8cticament resist ncia en elles idonen Lns a O*mA de corrent.

    i0ita!Rea (n mero e! 'in)Dle$eix el valor d-un pin di$ital, donant com a resultat 2 !elpin est8 a &9" o D;W!el pin est8 a *9". Pr8cticament semprecompararem a+uesta unci# amb una constant +ue creemnosaltres com veiem en els exemples de sota.

  • 8/19/2019 Guia Inicicacio Arduino

    8/51

    i0ita!2rite ('in LO2 4IG4)

    4eterminem si el valor del pin !;U1PU1" ser8 2 !&9" oD;W!*9". Aix5 servir8 per establir si volem +ue passi corrent pelpin ! 2 " o no ho volem er !D;W". Vs a dir és el contrari a la

    unci# anterior, passem de voler determinar si hi ha corrent enun pin a enviar>la nosaltres.

    pr8ctica blinN

    Il·lustració 1

    Pràctica analo 2ead a*b botó

  • 8/19/2019 Guia Inicicacio Arduino

    9/51

    3.3.5. ANAL6GI*+ES

    ana!o0Rea ('in)

    Dle$im el valor del pin anal5$ic A*>A&. ls valors oscil@len entre* i )* %. Da m8xima velocitat de lectura és de )*.*** cops perse$on.

    ns retornar8 un valor entre * i )* %.

    Pr8ctica analo$/ead potenci5metre

    Al i$ual +ue el di$italWrite !", +uasi sempre ho i$ualarem a unaconstant +ue nosaltres creem per utilitEar>ho després en altres

    uncions.

    ana!o02rite (n mero e! 'in #a!or): contr8riament al +uepodr?em pensar uncionar8 en els pins di$itals, mitjan6ant elPW .

    4onar8 un valor anal5$ic a un pin di$ital mitjan6ant l-emissi#d-ones PW , enomen explicat anteriorment. ls valors de

    uncionament van des de * !apa$at" a && !enc s al m8ximpossible". Com veiem és un +uart del +ue pot lle$ir la unci#analo$/ead !", ja +ue )* %HO és &&, &.

    Da re+M ncia d-emissi# PW en la majoria de pins és de O(*E, en els pins & i ' ser8 de ( * E.

    A+uesta unci# només uncionar8 en els pins on es determini+ue tenen possibilitat d-acceptar PW , els %,&,',(,)* i )),

  • 8/19/2019 Guia Inicicacio Arduino

    10/51

    a+uells pins di$itals +ue tenen el si$ne X.

    3.7. ,I,LIOTE*+ESDes uncions del 4 = d-Arduino s#n limitades, per estendre>les aremFs de les bibliote+ues. Per a e$ir una llibreria a Arduino haurem de erel se$Ment: pro$rama ncluir Dibrer?a aYadir libreria .Z P. A+uestesllibreries les trobarem al llar$ de la xarxa en cas de voler utilitEaral$una de les +ue no estan desenvolupades per l-empresa Arduino. na+uesta $uia utilitEarem tant internes !servo, Gire, So tGareSerial,

    Di+uidCr7stal..." com externes: /1Clib, de Bluetooth...

    Il·lustració 13Pràctica analo Write led +otenci4*etre&

  • 8/19/2019 Guia Inicicacio Arduino

    11/51

  • 8/19/2019 Guia Inicicacio Arduino

    12/51

    de continua rotaci#. S-explica en pro unditat com pro$ramara+uesta llibreria en l-apartat de Servo.

    > Wire: 1Go Wire nter ace ! C o 1W " serveix per comunicar>seamb sensors o dispositius en $eneral +ue suportin a+uestprotocol. A+uests consten d-una l?nia de dades anomenada S4Ai SCD anomenat de rellot$e. D-utilitEarem amb el rellot$e /1C.

    > So tGareSerial: Arduino consta de pins per a la comunicaci#serial, el * i el ). l problema ve +uan volem er Fs de més d-undispositiu +ue a Fs d-a+uests pins. Amb a+uesta llibreriapodrem mantenir una comunicaci# serial utilitEant +ualsevol pindi$ital.

    > Di+uidCr7stal: ens permetr8 controlar panells DC4. Parlem enpro unditat en l-apartat DC4.

    1ambé tenim al$unes de connexi# a internet mitjan6ant cable,thernet, per xarxa sense Lls: Wi

  • 8/19/2019 Guia Inicicacio Arduino

    13/51

    comparant>la amb el si$ne [ a all5 +ue volem com avalor inicial.

    n a+uest exemple estem dient +ue cada cop +ueescrivim IledK ens estarem re erint al nombre )%. Aix5 ésmolt Ftil +uan estem utilitEant molts components i norecordem a +uin pin hem connectat cadascun.

    3.;. TIP+S DE 9ARIA,LES

    ls tipus de dades +ue Arduino ens permet utilitEar s#nmFltiples.

    a. #oi : s-utilitEa en la declaraci# de uncions. Com la pr5piaparaula indica !void en catal8 és buit" ens in orma de +ue noretornar8 in ormaci# des de la unci# anterior.

    b. $oo!ean : un boolean ens permetr8 determinar si un valor ésFnic i estrictament true o alse. ;cupar8 un b7te demem5ria.

    c. c )&, és a dir de >% . ' a % . ' .$. &n%i0ne int: només $uardar8 valors positius de * a '&.& &

    ! )' "h. >or : )' bit. 4es de * Lns '&&%&.i. !on0: % bit, O b7tes. 9alors entre > .)O .O %.'O i

    .)O .O %.'O . ?. &n%i0ne !on0:

  • 8/19/2019 Guia Inicicacio Arduino

    14/51

    N. %

  • 8/19/2019 Guia Inicicacio Arduino

    15/51

    3. . SIGNES D OPERACIÓ

    A ve$ades necessitarem er operacions matem8ti+ues o utilitEarsi$nes per completar el nostre codi, per exemple si volem er+ue un valor va$i au$mentant, volem establir entre +uinspar8metres volem moure un valor o simplement er una suma

    de nombres. ls si$nes es classiL+uen en: $enerals, compostos ia nivell de bit. em de tenir molt clars els dos primers. lsoperadors a nivell de bit no els treballarem en a+uesta $uiaper+u tenen una complicaci# innecess8ria per comen6ar.

    Si0ne% o'eraci" 0enera!%:

    [ assi$naci#_ suma - resta

    H divisi# / multiplicaci#[[ i$ual a B desi$ual a` menor +ue menor o i$ual +ue

    major +ue major o i$ual +ue i B ne$aci# o bé

    Si0ne% o'eraci" com'o%to%

    __ increment -- decreixement_[ suma composta - resta composta

    =[ multiplicaci# composta divisi# composta[ A34 binari compost F ;/ binari compost

    O'era or% a ni#e!! e $it: opera amb nombres binari.

    0;/ binari 3;1 binari A34 binari F ;/ binari

    `` despla6ament es+uerra despla6ament dreta7. PROTO,OARD

  • 8/19/2019 Guia Inicicacio Arduino

    16/51

    1ambé anomenada breadbord oplaca de prototips ens permetmuntar i sobretot provar elsnostres circuits sense la necessitatde soldar i dessoldar. lcomplement ideal per a+uestespla+ues s#n els cables de tipusIjumperK +ue tenen unesterminacions +ue encaixen a la per ecci# en a+uestes pla+ues i enl-Arduino.

    ls punts del centre es connecten de ormavertical, separats per una ranja central.

    ls superiors i in eriors, separats de & en &es connecten de orma horitEontal.

    n la oto$raLa, de color $roc, apareixen tots els punts +ue esconnecten +uan connectem corrent en un d-ells.

    8. RESISTHNCIA

    Il·lustració $0Protoboard&

    Il·lustració $1?er*inació cable @7u*+er &

    Il·lustració $$Conne)ions +rotoboard&

  • 8/19/2019 Guia Inicicacio Arduino

    17/51

    Una resist ncia és simplement un component +ueutilitEem per disminuir o impedir el pas de lacorrent. Des resist ncies en $eneral estan etes decarb#. em de tenir en ment a+uesta taula, la+ual ens servir8 de $uia per establir +uina és elvalor de la resist ncia.

    n cas de +ue consti només de O ran$es, la tercera ser8 elmultiplicador i la Fltima, +ue trobem separada de la resta la sevatoler8ncia !m8xima di er ncia +ue pot existir entre el valor calculatper les ran$es, en percentat$e".

  • 8/19/2019 Guia Inicicacio Arduino

    18/51

    ;. POTENCI6METRE

    A més d-a+uestes resist ncies, podem trobar devariables com el potenci5metre, limitaran també elpas de la corrent de di erents ormes depenent del

    +ue utilitEem. ls més estesos s#n els decaire mec8nic rotatori, lo$ar?tmics+ue s-apli+uen onamentalment perdeterminat el volum d-un aparell com unsaltaveus, sinodals, en els +uals la resist nciadependr8 de l-an$le en +ue el $irem i lineals.

    ;.1. CONNE IÓ

    Per connectar>lo al Arduino ho arem de la se$Ment orma:

    Il·lustració $DS *bol electr4nic +otenci4*etre&

    Il·lustració $Potenci4*etre&

    Il·lustració $3Conne)ió d!un +otenci4*etre&

  • 8/19/2019 Guia Inicicacio Arduino

    19/51

    Amb la pota central mirant cap a nosaltres:

    . LED

    Un D 4, també anomenat d?ode D 4 s#n unes petites llums dedi erents colors +ue ormen part d-un circuit electr5nic.

    Vs un d?ode +ue al ser a travessat per corrent el ctrica [email protected] trobar de molts tipus. Vs realment important +ue la intensitatsi$ui \ade+uada ja +ue sin# podria er>se malbé el component osimplement no il@luminar, per a+uest prop5sit haurem de er Fs de lesresist ncies. Per escollir correctament la resist ncia +ue empraremhem de tenir en ment la llei d-;hm: 9[ @/.

    Calcularem a+uest valor amb el D 4 més t?pic, +ue és el vermell. lsabricants indi+uen la intensitat a la +ual haurien de treballar.

    3ormalment *mA +ue és i$ual a *@)*>%

    A

    POTENCI6METRE ARD+INOE% &erra 234Centra! Pin anal5$icDreta &9

  • 8/19/2019 Guia Inicicacio Arduino

    20/51

    an de uncionar entre ), i %,% 9. Arduino d#na & 9 en les sevessortides. Per tant si volem +ue li arribin 9: &> [% 9. Da resist ncia

    haur8 de +uedar>se amb % 9.

    Ja tenim els valors de el voltat$e !9" i la intensitat ! ". nsalta la resist ncia !/".

    9[ @/ /[ 9H /[ %H*,* [)&* .

    UtilitEarem una resist ncia de )&* +ue se$ons els seuscolors podem trobar +uina és.

    arr# ja +ue necessitem un ) al principi,

    verda pel & i un altre cop marr# permultiplicar el )& +ue tenim dels dosprimers colors per )*, donant aix? )&*. l més habitual és

    trobar una ranja de color or com a Oa ranja.

    n $eneral, pels D 4s petits arem Fs de la resist ncia de * ohms ino ens haurem de preocupar de er a+uestes operacions

    matem8ti+ues.

    n el cas d-Arduino tenim el pin )%, el +ual est8 especialmentpreparat per connectar D 4s i disposa d-una resist ncia interna,evitant aix? l-Fs de resist ncies externes.

    .1. CONNE IÓ

    l d?ode consta de di erents parts. Des +ue nosaltres

    hem de tenir en compte alhora d-utilitEar>los en uncircuit és principalment l-8node !pota llar$a" i elc8tode !pota curta". D-8node rebr8 el corrent positiu i el c8tode elne$atiu. n Arduino la pota llar$a al pin de sortida i la curta a terra!234".

  • 8/19/2019 Guia Inicicacio Arduino

    21/51

    . . PROGRAMACIÓ

    Com +ue no em Fs de cap llibreria per il@luminar un D 4utilitEarem les uncions $enerals. Des més importants seran:

    'inMo e !pin, ;U1PU1": diem a +uin pin d-Arduino connectem lapota llar$a del D 4 i a continuaci# diem +ue és un ;U1PU1, unasortida ja +ue el +ue em és enviar corrent i rebre.

    i0ita!2rite !pin, 2 HD;W": serveix per er +ue l-Arduino envi corrent a traves del pin +ue nosaltres diem, si és 2 enviaremcorrent, si és D;W no ho arem.

    .3. E EMPLE: ,LINJ

    A+uesta pr8ctica simplement arem pampallu$uejar un D 4 cada *,)se$ons.

    aterial:

    > Arduino> D 4

    C;33 0 f

  • 8/19/2019 Guia Inicicacio Arduino

    22/51

    Connectem la pota curta a 234 i la llar$a al )%, no necessitem d-unaresist ncia ja +ue el pin )% té una interna incorporada. Connectemcom hem vist en la teoria.

    C;4l codi és molt simple.

    Comencem declarant unavariable +ue compara led ambel nombre )%. Cada cop +ueescrivim IledK Arduino hotraduir8 com un )%. Al void

    setup!" utilitEem la unci#'inMo e !led, ;U1PU1", +uedetermina on connectem elled i +ue és una sortida. Alvoid loop!" comencem encenent el ledamb i0ita!2rite !)%, 2 " elmantenim aix? durant *,)s amb la

    unci# e!a= !)**" i em el procés invers se$uidament. /ecordar +ueal void loop!" tot es repeteix indeLnidament.

    . ,OTÓ

    1ambé anomenat polsador permetr8 o no el pas de corrent alpressionar>los. i ha de dos tipus, un +ue est8 normalment en rep5s ,és a dir no deixa passar el corrent i un altre +ue sempre el deixapassar excepte +uan el polsem.

    Polsador obert, no permet el pas de corrent.

    Polsador tancat, permet el pas de corrent.

    Il·lustració '(Codi +ràctica blinE&

    Fes +otes estan connectades entre si +er tant +erutilitGar el +olsador i :ue si ui e>ectiu ;aure* deconnectar els ele*ents en dia onal

    Il·lustració 'Botó&

  • 8/19/2019 Guia Inicicacio Arduino

    23/51

    Per tant, si només el volem er uncionar com un interruptor perdeixar o no el pas

    de correntconnectarem latensi# en dia$onal.

    K.1. E EMPLE:

    DIGITALREAD AM, ,OTÓ

    n a+uesta pr8ctica ens introduirem a l-Fs delcomandament di$ital/ead.

    l +ue arem ser8 obtenir * o ) al monitor s rie

    !herramientas monitor serie. ; bé Control _ajFsucles _ " en unci# de si estem prenentel bot# o no.

    3ecessitarem:

    > Protoboard

    > /esist ncia

    )*N !marr#, ne$re, taronja,daurat"Cables

    > Bot#

    > Arduino

    C;33 0 f Connectem a una de les potes el 234 amb una resist nciade )*N i la connexi# d-un dels pins di$itals i en l-altre &9.

    C;4

    Il·lustració 'D#s:ue*a +ràctica di ital2ead

    a*b botó

  • 8/19/2019 Guia Inicicacio Arduino

    24/51

    Creem una variable per emma$atEemar el nom boto i li assi$nem un, per tant cada cop +ue escrivim boto ens re erirem a .

    Al void setup !" iniciem la comunicaci# serial a ) **. Per tant al

    montiro serial haurem de Lcar ) ** baudio !per de ecte est8 a ('**".A més hem de declarar el bot# com una entrada, 3PU1.

    Al void loop!" comparemuna nova variable +uecreem amb int, estatBotoamb la unci#di$ital/ead !boto", és a dirlle$im els corrents +ueobtenim pel pin di$italnFmero . Amb la unci#Serial.println !estatBoto"obtindrem * o ) al monitordepenent desi polsem o noel bot#. l resultat ésa+uest. Si polsemapareixer8 un ).

    Il·lustració 'Codi +ràctica di ital2ead a*b botó&

    Il·lustració '3Honitor serial +ràctica di ital2ead a*b botó&

  • 8/19/2019 Guia Inicicacio Arduino

    25/51

    (. SER9O

    ls servomotors, anomenat popularment servo és !normalment" unactuador rotatori i un tipus de motor de corrent continua. ls trobem amolts llocs i té nombroses aplicacions: rob5tica, als ascensors,aeromodelisme i cotxes de radio control o Lns i tot al Eoom de lesc8meres de otos.

    Da seva caracter?stica més important d-a+uest és la seva capacitatper adoptar una posici# exacta i mantenir>la. A més podem variar lavelocitat amb la +ue volem +ue roti. Da majoria roten ) * $raus, (*cap a cada costat. Aix5 s-aconse$ueix mitjan6ant l-enviament desen7als +ue el circuit del servo interpreta i porta els en$ranat$es a la

    posici# desitjada. l motor es mantindr8 est8tic Lns +ue no li arribi unaltre sen7al.

    l servomotor es composa de:

    > otor el ctric: ser8 el +ue $eneri el moviment> 1ren d-en$ranat$es: petits en$ranat$es encarre$ats de reduir la

    velocitat transmesa pel motor i au$mentar el seu par ! or6a +uepot desenvolupar l-eix, es sol expressar en g$Hcm". 1ambé es

    pot er el procés invers, treure en$ranat$es per au$mentar lavelocitat i disminuir el par.

  • 8/19/2019 Guia Inicicacio Arduino

    26/51

    > 0ip: és l-encarre$at de controlar el motor mitjan6ant l-emissi#de polsos.

    > Potenci5metre: ens permetr8 saber la posici# del motor. sconnecta a l-eix principal del motor.

    Per entendre millor com unciona un servo hem de parlar dels polsos,consisteixen senEillament l-emissi# d-una corrent el ctrica durant unper?ode de temps determinat. Aix5 se li anomena PW !Pulse Width

    odulation" o modulaci# per ample de pols, consisteix en $enerar una

    ona +uadrada +ue pot variar de llar$8ria !temps" depenent de laposici# +ue vul$uem assolir.

    n a+uest cas, +uan el pols és de ),&ms es situar8 en la posici# *, elmi$. Cap a la dretacompletament !(*" és de

    ,&ms i cap a l-es+uerra !>(*"és de *,& ms. Per tant el ran$

    d-actuaci# est8 entre *,&ms i,& ms.

    A+u? veiem d-una manera més$r8Lca la relaci# entre laposici# i els polsos +ue rep el xip.

    1ot aix5 dep n del abricant, en el cas del S2(*, +ue nosaltresutilitEarem va des de els *,& ms Lns als ,O ms. Podrem calcular la

  • 8/19/2019 Guia Inicicacio Arduino

    27/51

    posici# corresponent al temps +ue dura l-ona mitjan6ant a+uesta

    simple expressi# matem8tica on α s-expressa en $raus i t en mil

    se$ons:

    t = 1 +α

    180

    (.). CONNE IÓ

    ls colors dels cables del servo varien, en el nostre cas arem Fs d-un

    micro>servo 1oGer Pro 1 S2(*.

    7.5.PROGRAMACIÓ

    - attac< ()Serveix per determinar on connectarem el nostre servo.Da sintaxis és simple: nom]del]servo. attach !numero del pin"Q

    - >rite ()4ictaminar8 l-an$le en el +ue el servo es posicionar8 !en $raus".

    SER9O ARD+INO9erme!! &9Marr" 234Taron?a Pin PW

  • 8/19/2019 Guia Inicicacio Arduino

    28/51

  • 8/19/2019 Guia Inicicacio Arduino

    29/51

    Comencem incloent lallibreria Servo, ja disponibleen el pro$rama, no caldescarre$ar res.

    Creem l-objecte servo:Ser#o nom +ue vul$uem.

    Al void setup!" determinema +uin pin connectem elservo amb nom delservo. attac< !pin"Q

    Al void loop!" ens limitarema indicar a +uina posici#volem +ue va$i el servo amb la unci#: nom del servo. >rite !$raus".

    )*. D4T11 tem'erat&ra i 1é un mar$e d-error del & , el ran$ d-error com a

    m8xim ser8 de C, per5 després d-haver etdiverses proves he comprovat +ue l-error és m?nim.

    > Dle$ir8 entre * C i &* C.> Da humitat estar8 entre el * i el (& , amb

    un error m8xim del & .> Da m8xima velocitat de lectura de dades és

    d-un se$on !)***ms".1 .1. CONNE IÓ

    Il·lustració ($Codi +ràctica ser,o&

    Il·lustració ('" ?11 +er da,ant&

  • 8/19/2019 Guia Inicicacio Arduino

    30/51

    Com veiem en la oto$raLa, posem les dades mirant cap anosaltres. Da primera pota va a terra !234", la se$ona no laconnectem enlloc, la tercera al pin di$ital +ue vul$uem, la+uarta a &9. Vs important +ue a la tercera pota !la del pin" lia e$im &9 amb una resist ncia de %%* ohms, com veiem en

    l-es+uema.

    1 .5. PROGRAMACIÓ I PR CTICA

    Connectarem el sensor tal i com es mostra a l-es+uema superior,

    Per pro$ramar a+uest sensor haurem de descarre$ar la llibreria 4 1:http:HHcort.asHcUbx Un cop descarre$ada l-incloem al 4 =d-Arduino !pro$rama incluir libreria aYadir libreria.Z Pseleccionem el Eip descarre$at".

    Comencem a e$int la llibreria 4 1)).

    Se$uidament declarem +ue cada cop +ue di$uem pin, ser8 un .

    Un cop escribim 4 1)), em un espai i L+uem el nom +ue vol$uem alsensor, en a+uest cas l-hem anomenat dht)), entre parentesi diem alpin +ue el connectem.

    n el void setup !" només cal +ue iniciem la comunicaci# serial amb

    Seria! .be$in !('**".

  • 8/19/2019 Guia Inicicacio Arduino

    31/51

    n el void loop !" comencem creant un ^oat amb les constantshumitat i temperatura, en a+uest ordre, sin# ens apareixeran elsvalors de la temepratura en els de la humitat i al revés.

    A continuaci#:nomdelsensor. read !humitat,temperatura".Aix5 lle$ir8 elsvalors detemperatura i

    humitat +ue elsensor recull. Pertal de +ue ensmostri a+uestsvalors en laconsola!herramientas

    monitor serie" hem d-utilitEar la unci# Seria! .print !". ntre cometeses mostrar8 el +ue nosaltres escrivim, per tal de mostrar latemepratura +ue hem recollit previament amb la unci# . read escrivimsense cometes temperatura o humitat.

  • 8/19/2019 Guia Inicicacio Arduino

    32/51

    Una ve$ada carre$uem elcodi obrim el monitor s rieper veure la temperatura i lahumitat +ue hem recollitamb el sensor. 9eiem +ue elcanvi de temperatura ihumitat és substancialde$ut a +ue he provat atirar>li l-al per comprovar elseu uncionament.

  • 8/19/2019 Guia Inicicacio Arduino

    33/51

    11. ,R+N IDOR

    l brunEidor és un altre component electr5nic +ue utilitEarem ena+uesta $uia. Produeix un so +ue pot ser continu o intermitent. Vs un

    element +ue incorporen molts dispositiu +ue utilitEem a diari, com perexemple el soroll +ue a al polsar un bot# del microones, al$unesalarmes...

    Al rebre una tensi# el ctric el brunEidor vibra produint el so.

    11.1. CONNE IÓ

    Com veiem només té dues potes. Unaconnectada al ne$atiu, és a dir al 234 i un altrepositiva +ue connectarem a un dels pins PW .Per tant si en el moment d-utilitEar>lo no

    unciona $ireu el brunEidor, ja +ue és moltpossible +ue s-ha$in connectat les potes alcontrari.

    11.5. PROGRAMACIÓ

    Vs important tenir en ment +ue a+uest componen unciona a partir dela $eneraci# de trens d-ones, és a dir PW , enomen explicat ambanterioritat.

    /ecalcarem dos uncions noves:

    > tone !pin, re+M ncia, duraci#": ar8 +ue soni el brunEidor en lare+M ncia +ue desit$em i podem escollir si volem o no

    determinar la duraci#.

  • 8/19/2019 Guia Inicicacio Arduino

    34/51

    > notone !pin": un cop ha$uem comen6at a er sonar elbrunEidor, a+uest sonar8 Lns +ue utilitEem a+uesta unci#.

    Da re+M ncia amb la +ue podrem treballar varia des de els %) E Lns

    a als '&&%& E en l-Arduino U3;. 4-a$ut a $reu.)).%. E EMPLE: ESCALA M+SICAL

    /eproduirem l-escalamusical basant>nos en lase$Ment taula +ue mostrales re+M ncies de lesdi erents notes musicals.

    aterial:

    > BrunEidor> Arduino> Cables

    Da connexi# és i$ual a lamostrada en l-apartat de C;33 0 f.

  • 8/19/2019 Guia Inicicacio Arduino

    35/51

    Amb la unci# tone !pin,re+M ncia" anem

    determinant la

    re+M ncia a la +uevolem +ue soni. Per tald-apreciar millor lesvariacions introdu m un

    temps, e!a= !", +ue dura mi$ se$on entre nota i nota. Al LnalitEarutilitEem la unci# noTone !pin" per tal de parar el so, ja +ue per elcontrari es +uedaria constantment sonant en l-ultima re+M ncia +ue

    hem establert.

    15. RTC re!!ot0e/1C de les si$les en an$l s /eal 1ime ClocN, rellot$e en temps

    real, és un rellot$e d-ordinador, habitualment en orma decircuit inte$rat +ue porta el compte del temps. 1robem a+uesttipus de rellot$e en pr8cticament tots els sistemes electr5nics+ue necessiten tenir l-hora en tempsreal: ordinadors, tel onsintel@li$ents...

  • 8/19/2019 Guia Inicicacio Arduino

    36/51

  • 8/19/2019 Guia Inicicacio Arduino

    37/51

  • 8/19/2019 Guia Inicicacio Arduino

    38/51

    =ear An7

  • 8/19/2019 Guia Inicicacio Arduino

    39/51

    )%. LCD

    DC4 !Di+uid Cr7stal 4ispla7", és una pantalla plana de cristalll?+uid. l seu uncionament consisteix en l-Fs de mol cules de

    cristall l?+uid col@locades d-una manera determinada en capes+ue poden rotar per determinar el color ade+uat, en cas de +uesi$uin a color.

    n el nostre cas utilitEarem una pantalla de % car8cters,distribu ts en l?nies. Vs a dir )'x . Cada un d-a+uestscar8cters és una matriu de &x p?xels.

  • 8/19/2019 Guia Inicicacio Arduino

    40/51

    13.1. CONNE IÓ

    l DC4 té )' pins +ue permetran el uncionament de la pantallaamb Arduino.

    N mero

    Nom Pin Arduino &nci"

    ) 9SS 234 1erra944 &9 9oltat$e &9

    % 9; Pota centralpotenci5met

    re=

    Ajustament del contrast mitjan6antuna resist ncia variable

    O /S Permet a l-usuari seleccionar elmode: instrucci# o car8cter=

    & /W 234 Baix per escriure al re$istre. Alt perlle$ir del re$istre

    ' nvia in ormaci# als pinsd-in ormaci#

    4* >

    Pins d-in ormaci# de >bits

    4) >( 4 >)* 4% >)) 4O () 4& )*)% 4' )))O 4 ))& A &9 Dlum de ons &9)' g 234 Dlum de ons terra

  • 8/19/2019 Guia Inicicacio Arduino

    41/51

  • 8/19/2019 Guia Inicicacio Arduino

    42/51

    > !c .$e0in (co!&mne% Q!e%): iniciem la connexi# amb Arduinodeterminants les dimensions del panell.

    > !c .%etC&r%or(co!&mna Q!a): posici# on comen6arem aescriure. Da primera columna és *. Da primera Lla * i la se$ona).

    > !c . 'rint ( ata): mostrar8 a la pantalla all5 +ue introdu mentre els par ntesis. UtilitEem I I per mostrar exactament all5

    +ue volem. A ve$ades veurem la unci# . Grite!", per5 nol-utilitEarem ja +ue tot el +ue ens permet er ho a . print !".

    > !c .a&to%cro!! (): va movent els car8cters al llar$ de lapantalla, +ue haurem d-haver determinat pr viament. auremd-a e$ir un dela7 !" per veure>ho correctament.

    uan vul$uem parar de moure els car8cters usarem .noA&to%cro!! () .

    xtret de l-exempleAutoscroll.

    i ha moltes més uncions per5 les més importants i interessants s#nles anteriorment descrites. Per ampliar podeu visitar:https:HHGGG.arduino.ccHenH/e erenceHDi+uidCr7stal

    13.3. E EMPLE: LCD

    https://www.arduino.cc/en/Reference/LiquidCrystalhttps://www.arduino.cc/en/Reference/LiquidCrystal

  • 8/19/2019 Guia Inicicacio Arduino

    43/51

    A+uesta pr8ctica simplement ens mostrar8 el text +ue nosaltresvul$uem.

    aterials:

    > Pantalla DC4 !)'x "> olts cables> Arduino> Protoboard

    Da connexi# és i$ual a la mostrada en l-apartat de connexi#.

    C;4

    Comencem incloent lallibreria Di+uidCr7stal icreant un objecteanomenat lcd

    juntament amb elspins on connectaremcada connexi# del DC4amb l-Arduino.

    3omés usarem el voidsetup!" per+u ser8una pr8ctica est8tica.Comencem iniciant el

    DC4 amb la unci# .be$in i les seves dimensions, )'x . Amb . printpodem escriure entre cometes +ualsevol cosa. l . setCursor serveixper canviar de Lla o columna. * és la primera columna i ) la se$onaLla

  • 8/19/2019 Guia Inicicacio Arduino

    44/51

  • 8/19/2019 Guia Inicicacio Arduino

    45/51

    només es pot connectar a un aster, mestre. ls mestres es podenconnectar Lns amb esclaus a la ve$ada.

    l m5dul C>*' només pot actuar com esclau,

    mentre +ue el C>*& pot er de mestre i esclau+uan vul$uem.

    Per poder conL$urar el nostre m5dul utilitEarem uns

    comandaments anomenats A1. Al principi constitu en unesinstruccions +ue permetien connectar el m5dem tele 5nic ambl-ordinador. Poc a poc es van anar estenent Lns a casi tots elsdispositius amb una connexi# s rie !transmissor i receptor". na+uests m5duls tenim a+uests principals comandaments:

    A1

    17.1. CONNEIÓ I

    PROGRAMACIÓM6D+L ARD+INO9CC & 9234 234

    104 '/04

    unciona-luetoot;

    AT Pro#ar %i e%t $ !aconne i"

    ATURESET

    /einicia el m5dul

    ATU9ERSION

    ;btenim la versi# a la +ue estroba

    ATUORGL 1orna als valors de 8bricaATUNAME

    ;btenim el nom del m5dul

    ATUROLE ns diu +uin rol a !esclau[* o

    mestre[)"ATUPS2D

    ns diu la contrasen7a +ue té

    ATU+ART ns diu a la velocitat +ue est8conL$urat

    http://es.ccm.net/contents/69-como-funciona-bluetoothhttp://es.ccm.net/contents/69-como-funciona-bluetoothhttp://es.ccm.net/contents/69-como-funciona-bluetoothhttp://es.ccm.net/contents/69-como-funciona-bluetooth

  • 8/19/2019 Guia Inicicacio Arduino

    46/51

    Per procedir a introduir a+uests comandaments haurem deconnectar el m5dul a Arduino de la se$Ment manera:

    Un cop tenim les connexions correctament etes veurem +ue un

    D 4 a pampallu$ues molt r8pidament, aix5 vol dir +ue est8 llestper comen6ar a rebre dades per Bluetooth, per5 en a+uestmoment volem introduir els comandaments A1, on ar8pampallu$ues cada se$ons aproximadament. Per er aix5 hem dedesconnectar l-alimentaci# per 9CC. Pressionem el bot# i tornem adonar>li corrent. uan veiem +ue s-encén la llum de nou deixem depressionar. Ara ja estem en condicions de procedir a introduir lesinstruccions A1.

    Il·lustració $0S *bol electr4nic F#"

  • 8/19/2019 Guia Inicicacio Arduino

    47/51

    Ara ja podemcarre$ar a+uestcodi a Arduino.

  • 8/19/2019 Guia Inicicacio Arduino

    48/51

    Un cop pujat a la placa obrim el monitor s rie i ara ja podemintroduir els di erents comandaments anteriorment anomenats. Svolem canviar el nom per exemple escriurem: A1_3A [el nom+ue vul$uem. ; si volem canviar la contrasen7a:A1_PSW4[contrasen7a nova. Vs important recalcar +ue hem deseleccionar com veiem en la oto$raLa: Ambos 3D C/ i unavelocitat de ('**.

    Ara ja tenim conL$urat el m5dul al nostre $ust i podem comen6ara pro$ramar.

    Js i*+ortant :ue esti ui

    con>i urat ai) +er tal de :ue>uncioni

  • 8/19/2019 Guia Inicicacio Arduino

    49/51

    17.5. E EMPLE: ,!&etoot< LED

    Per utilitEar el Bluetooth amb Android utilitEarem b8sicamentestructures i i la unci# . read .

    Comen6arem incloent la llibreria So tGareserial.2uardem amb int un nom +ualsevol +ue després utilitEarem.

    4eclarem en els pins +ue connectarem el 10 i el /0 del m5dul aArduino.

    n el void setup !" iniciem la comunicaci# serial i amb el Bluetootha ('** amb la unci# . be$in .

  • 8/19/2019 Guia Inicicacio Arduino

    50/51

    n el void loop!" comparem la unci# . read amb el nom +ue hem$uardat al int anteriorment. A+uesta unci# lle$ir8 el +ue li arribapel Bluetooth.

    Ara ja podem comen6ar a crear estructuresi . Un exemple molt senEill és el de la imat$ein erior. A+u? estem dient +ue si Android, és a dir si amb la

    unci# .read !" rebem un ) des del nostre m5dul posi elpin )%, led, en alt, és a dir +ue encen$ui el D 4.

    Per enviar els valors necessitarem un tel on ambAndroid amb l-aplicaci# Bluetooth 1erminal, +ue

    podem trobar a la Pla7 Store. Per comen6ar a utilitEar>la primerhaurem d-emparellar>nos amb el C>*& o C>*'.

    A continuaci# tenim el procediment en imat$es:

    )r. Connectar>nos al m5dul.

    n. ntroduir la contrasen7a.

    %r. ;brir l-aplicaci# Bluetooth 1erminal i seleccionar el dispositiu

    corresponent.

    Ot. auria de sortir: Connected to... Ara ja podem enviar all5 +uevul$uem mitjan6ant el bot# S 34.

    )r n %r Ot

  • 8/19/2019 Guia Inicicacio Arduino

    51/51