Upload
victor-lendines
View
231
Download
0
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