Departament de Tecnologia del Institut Can Mas de Ripollet
1
PRÀCTIQUES DE PROGRAMACIÓ BÀSICA
4T ESO.
TECNOLOGIA DE CONTROL- SA4 (basat en
Scratch )+ Arduino.
Departament de Tecnologia de l´Institut Can Mas de Ripollet
Departament de Tecnologia del Institut Can Mas de
INTRODUCCIÓ :
Què és ARDUINO?
Arduino és una plataforma de prototips de codi obert basat en maquinari i
fàcil d'utilitzar. Les plaques Arduino són capaces
sensor, un dit en un botó, o un missatge de Twitter
per exemple l'activació d'un motor o
línia. Podem programar la nostre placa Arduino
d'instruccions, fins i tot des d´un dispositiu mò
programació d'Arduino (basat en Wiring), i el programari de Arduino (IDE), basat en
Processing.
Nosaltres utilitzarem elARDUINO UNO rev3
Departament de Tecnologia del Institut Can Mas de Ripollet
és una plataforma de prototips de codi obert basat en maquinari i
fàcil d'utilitzar. Les plaques Arduino són capaces de llegir entrades com
botó, o un missatge de Twitter i convertir-la en una sortida com
per exemple l'activació d'un motor o encendre un LED o fins i tot fer una publicació en
Podem programar la nostre placa Arduino mitjançant l'enviament d'un conjunt
, fins i tot des d´un dispositiu mòbil. Per a això s'utilitza el llenguatge de
programació d'Arduino (basat en Wiring), i el programari de Arduino (IDE), basat en
ARDUINO UNO rev3
2
és una plataforma de prototips de codi obert basat en maquinari i programari
entrades com la llum d´un
la en una sortida com
o fins i tot fer una publicació en
mitjançant l'enviament d'un conjunt
. Per a això s'utilitza el llenguatge de
programació d'Arduino (basat en Wiring), i el programari de Arduino (IDE), basat en
Departament de Tecnologia del Institut Can Mas de
Què és SCRATCH (SA4) ?
Citilab és un centre per a la
Barcelonaque explota i difonl'impacte digital en el pensamentcreatiu, el disseny i la
innovació que sorgeixen de la cultura digital
formació, un centre de recerca i una incubadora d'iniciativesempresarials i socials.
Citilab posa a disposició de la comunitat
programar de manera gràfica Arduino. L'aplicació es diu
S4A és una modificació de Scratch
plataforma oberta de maquinari Arduino. Inclou nous blocs per controlar sensors i
actuadors connectats a Arduino.
S4A és compatible amb Scratch, es pot treballar amb projectes Scratch i també amb la
PicoBoard. No obstant això, no es poden compartir projectes ja que va en contra dels
termes d'ús d'Scratch.
Igual que a Scratch podem
i contínues, entrades i sortides digitals i analògiques,...
D'altra banda, la configuració d'entrada / sortida encara està sent desenvolupada, així
que per ara els components han de connectar
configuració ofereix 6 entrades analògiques (pins analògics), 2 entrades digitals (pins
Departament de Tecnologia del Institut Can Mas de Ripollet
Què és SCRATCH (SA4) ?
centre per a la innovació social i digitalubicat a Cornellà de Llobregat
xplota i difonl'impacte digital en el pensamentcreatiu, el disseny i la
innovació que sorgeixen de la cultura digital. Citilabés una barreja entre un centre de
ecerca i una incubadora d'iniciativesempresarials i socials.
Citilab posa a disposició de la comunitat Arduino una aplicació basada en
programar de manera gràfica Arduino. L'aplicació es diu S4A.
S4A és una modificació de Scratch que proporciona una programació senzilla de la
plataforma oberta de maquinari Arduino. Inclou nous blocs per controlar sensors i
actuadors connectats a Arduino.
S4A és compatible amb Scratch, es pot treballar amb projectes Scratch i també amb la
. No obstant això, no es poden compartir projectes ja que va en contra dels
trobar blocs de gestionar servomotors de rotació estàndard
i contínues, entrades i sortides digitals i analògiques,...
anda, la configuració d'entrada / sortida encara està sent desenvolupada, així
que per ara els components han de connectar-se d'una forma concreta. Aquesta
configuració ofereix 6 entrades analògiques (pins analògics), 2 entrades digitals (pins
3
a Cornellà de Llobregat,
xplota i difonl'impacte digital en el pensamentcreatiu, el disseny i la
Citilabés una barreja entre un centre de
ecerca i una incubadora d'iniciativesempresarials i socials.
una aplicació basada en Scratch per
que proporciona una programació senzilla de la
plataforma oberta de maquinari Arduino. Inclou nous blocs per controlar sensors i
S4A és compatible amb Scratch, es pot treballar amb projectes Scratch i també amb la
. No obstant això, no es poden compartir projectes ja que va en contra dels
e rotació estàndard
anda, la configuració d'entrada / sortida encara està sent desenvolupada, així
se d'una forma concreta. Aquesta
configuració ofereix 6 entrades analògiques (pins analògics), 2 entrades digitals (pins
Departament de Tecnologia del Institut Can Mas de Ripollet
4
digitals 2 i 3), 3 sortides analògiques (pins digitals 5, 6 i 9), 3 sortides digitals (pins 10,
11 i 13) i 4 sortides especials per a connectar servomotors de rotació contínua (pins
digitals 4, 7, 8 i 12).
S4A ha estat desenvolupat per Marina Conde, Víctor Casado, Joan Güell, José García i
Jordi Delgado amb l'ajuda del Grup de Programació Smalltalk del Citilab.
Què és Fritzing?
Fritzing és un programa d'automatització de disseny electrònic lliure que busca ajudar
a dissenyadors i artistes perquè puguin passar de prototips (usant, per exemple,
plaques de proves) a productes finals.
Fritzing va ser creat sota els principis de Processing i Arduino, i permet als
dissenyadors, artistes, investigadors i aficionats documentar els seus prototips basats
en Arduino i crear esquemes de circuits impresos per a la posterior fabricació. A més,
compta amb un lloc web complementari que ajuda a compartir i discutir esbossos i
experiències i a reduir els costos de fabricació.
Departament de Tecnologia del Institut Can Mas de
PRÀCTIQUES SA4+ARDUINO
Per la realització de les pràctiques necessitarem tot el material contingut dins del
maletí.
Relació del material :
Imatge Component
ARDUINO UNO REV3
CABLE USB CON_ARDUINO _ORD
CAIXA COMPONENTS PETITS
MICROSERVO
PLACA PROTOBOARD
MOTOR CC
DRIVER L293D CONTROL MOTORS
REGLETA 40 CONNEXIONS
CONNECTORS MASCLE-FAMELLA
CONNECTORS MASCLE-MASCLE
POT10k
Departament de Tecnologia del Institut Can Mas de Ripollet
PRÀCTIQUES SA4+ARDUINO
Per la realització de les pràctiques necessitarem tot el material contingut dins del
Component Quant Imatge Component
ARDUINO UNO REV3 1
LED VERMELL 5 MM
CON_ARDUINO 1
LED VERD 5 MM
CAIXA COMPONENTS 1
LED AMBAR 5 MM
MICROSERVO 1
LED RGB
PLACA PROTOBOARD 1
SENSOR TEMPERATURA LM35
1
POLSADOR NOMALMENT OBERT CI
DRIVER L293D CONTROL MOTORS
1
RESISTÈNCIES 220 OHMS
REGLETA 40 CONNEXIONS
BRUNZIDOR
CONNECTORS FAMELLA
10
CONNECTORS MASCLE
10
POT10k 2
5
Per la realització de les pràctiques necessitarem tot el material contingut dins del
Component Quant
LED VERMELL 5 3
LED VERD 5 MM 3
LED AMBAR 5 MM 3
1
TEMPERATURA 1
NOMALMENT 2
RESISTÈNCIES 220 6
BRUNZIDOR 1
Departament de Tecnologia del Institut Can Mas de Ripollet
6
ÍNDEX DE PRÀCTIQUES
Pràctica 1. Sortida Intermitent. ( pag 7)
Pràctica 2. Sortida Intermitent amb visualització de l´estat per pantalla.( pag 8 )
Pràctica 3.Sortida Intermitent amb visualització de l´estat per pantalla i control de
freqüència.( pag 9 )
Pràctica 4. Control de la intensitat lluminosa d´un LED des de la pantalla.( pag 11 )
Pràctica 5. Comptador endavant/endarrere.( pag 13 )
Pràctica 6.Comptador amb posada a “zero”.( pag 15 )
Pràctica 7. Semàfor ( Proposta de projecte ).( pag 17 )
Pràctica 8. Control d´un servomotor ( gir 180º )( pag 19 )
Pràctica 9. Termòmetre amb LED´s i sensor de temperatura LM 35.( pag 21 )
Pràctica 10. Control d´un LED RGB.( pag 24 )
Pràctica 11.Encendre un LED utilitzant un fotoresistor ( LDR ).( pag 26 )
Pràctica 12. Control Domòtic. Control de la temperatura i la lluminositat en un
habitatge. ( Proposta de projecte ).( pag 27 )
PRÀCTIQUES D´AMPLIACIÓ :
Pràctica 13. Control del sentit de gir d´un motor de corrent continu. ( pag 31 )
Pràctica 14. Disseny i programació d´un petit robot ( activitat lliure )
Departament de Tecnologia del Institut Can Mas de
PRÀCTICA Nº1. SORTIDA INTERMITENT
El nostre primer exercici serà l'encesa i apagada d'un díode led connectat a la sortida
PIN 13 de la Targeta Arduino.
A la següent imatge es veu el gràfic
S'han utilitzat dues funcions "
PIN 13 una en estat "encès
Les temporitzacions es fan amb els blocs "
els hem tret el text que mostren per defecte i en els quals s'ha col·locat el valor del
temps en segons, es poden realitzar també amb el bloc "
llibreria" control "
A la pantalla "escenari” no s'ha po
mostra per defecte.
El muntatge d'aquest primer exemple és molt senzill i es mostra en la següent imatge.
Departament de Tecnologia del Institut Can Mas de Ripollet
PRÀCTICA Nº1. SORTIDA INTERMITENT
El nostre primer exercici serà l'encesa i apagada d'un díode led connectat a la sortida
de la Targeta Arduino.
A la següent imatge es veu el gràfic corresponent a aquesta senzilla aplicació.
S'han utilitzat dues funcions "digital" de la llibreria "moviment" associades a la sortida
encès" i un altra en estat "apagat".
Les temporitzacions es fan amb els blocs "pensar" de la llibreria "aparença
els hem tret el text que mostren per defecte i en els quals s'ha col·locat el valor del
temps en segons, es poden realitzar també amb el bloc "esperar ... segons
no s'ha posat cap objecte, de manera que apareix la que es
El muntatge d'aquest primer exemple és molt senzill i es mostra en la següent imatge.
7
El nostre primer exercici serà l'encesa i apagada d'un díode led connectat a la sortida
corresponent a aquesta senzilla aplicació.
" associades a la sortida
aparença" als quals
els hem tret el text que mostren per defecte i en els quals s'ha col·locat el valor del
esperar ... segons "de la
e, de manera que apareix la que es
El muntatge d'aquest primer exemple és molt senzill i es mostra en la següent imatge.
Departament de Tecnologia del Institut Can Mas de
PRÀCTICA 2: SORTIDA INTERMITENT AMB VISUALITZACIÓ DE
L´ESTAT PER PANTALLA
Si volem que a la pantalla de l'escenari aparegui una imatge d'un díode led que simula
l´encesa i apagat hem de crear amb l'eina "
leds que anomenaremled_off
realitat el led.
A la següent figura es mostra el programa ja elaborat. La següent figura és l'aspecte de
l'escenari
Després en el programa el que fem és utilitzar el bloc de funció "
pertanyent a la llibreria "
imatge.
Els blocs "al pressionar" i "per sempre" pertanyen a la llibreria "
Departament de Tecnologia del Institut Can Mas de Ripollet
SORTIDA INTERMITENT AMB VISUALITZACIÓ DE
L´ESTAT PER PANTALLA.
Si volem que a la pantalla de l'escenari aparegui una imatge d'un díode led que simula
encesa i apagat hem de crear amb l'eina "disfresses" de l'entorn, dues imatges de
led_offiled_on i que mostraran per pantalla com es troba en la
A la següent figura es mostra el programa ja elaborat. La següent figura és l'aspecte de
Després en el programa el que fem és utilitzar el bloc de funció "canviar la disfressa
pertanyent a la llibreria "aparença" que permet mostrar a l'escenari una o altra
" i "per sempre" pertanyen a la llibreria "control
8
SORTIDA INTERMITENT AMB VISUALITZACIÓ DE
Si volem que a la pantalla de l'escenari aparegui una imatge d'un díode led que simula
, dues imatges de
i que mostraran per pantalla com es troba en la
A la següent figura es mostra el programa ja elaborat. La següent figura és l'aspecte de
canviar la disfressa"
trar a l'escenari una o altra
control".
Departament de Tecnologia del Institut Can Mas de
PRÀCTICA 3: SORTIDA INTERMITENT AMB VISUALITZACIÓ DE
L´ESTAT PER PANTALLA
El següent exemple ens mostra la forma de poder associar una variable al valor d'una
entrada analògica Analog0
sortida digital PIN 13.
Comencem definint la variable "
a valor del sensor Analog0
El temps d'encesa el fixem a
temps d'apagada el configurem
Hem recorregut a l'opció de mostrar a la pantalla "
encès i apagat amb les disfresses
mitjançant l'opció "canviar la disfressa a led_on
Un cop activada la simulació podem observar com en modificar el valor del
potenciòmetre varia el temps d'apagada de l'led.
El valor llegit de la cadena
rang de variació del la variable freqüència. En aquest c
freqüència seria:
• Freqüència varia entre
• Analog 0 varia entre
Departament de Tecnologia del Institut Can Mas de Ripollet
: SORTIDA INTERMITENT AMB VISUALITZACIÓ DE
L´ESTAT PER PANTALLA I CONTROL DE FREQÜENCIA
El següent exemple ens mostra la forma de poder associar una variable al valor d'una
Analog0 per tal de poder variar el retard en l'encesa i apagada d'una
Comencem definint la variable "freqüència" que mitjançant la funció "
a valor del sensor Analog0" associem a ella el valor llegit del canal analògic.
El temps d'encesa el fixem a 0.1 segons i on actuem és en el temps
configurem amb l'opció "esperar freqüència / 2000 segons
Hem recorregut a l'opció de mostrar a la pantalla "escenari" la imatge d'un díode led
encès i apagat amb les disfresses led_off i led_on. Mostrem aquestes imatges
canviar la disfressa a led_on" i "canviar la disfressa a led_off
Un cop activada la simulació podem observar com en modificar el valor del
potenciòmetre varia el temps d'apagada de l'led.
El valor llegit de la cadena Analog0 es divideix per 2000 amb la finalitat de reduir el
rang de variació del la variable freqüència. En aquest cas podem deduir que el valor de
varia entre 0 i 0,512 seg.
varia entre 0 i 1024.
9
: SORTIDA INTERMITENT AMB VISUALITZACIÓ DE
El següent exemple ens mostra la forma de poder associar una variable al valor d'una
per tal de poder variar el retard en l'encesa i apagada d'una
a funció "fixar freqüència
" associem a ella el valor llegit del canal analògic.
on actuem és en el temps d'apagada. El
0 segons"
" la imatge d'un díode led
. Mostrem aquestes imatges
canviar la disfressa a led_off".
Un cop activada la simulació podem observar com en modificar el valor del
amb la finalitat de reduir el
as podem deduir que el valor de
Departament de Tecnologia del Institut Can Mas de Ripollet
10
A la figura següent veiem l'aspecte de l'aplicació :
A continuació es mostra l'esquema de connexió dels components:
Departament de Tecnologia del Institut Can Mas de
PRÀCTICA 4: CONTROL DE L
LED DES DE LA PANTALLA.
Es definirà una variable a la que anomenem, per exemple,
l'element de presentació de la variable (a l'escenari) que es mostri en mode lliscant i
també es defineix el valor mínim i màxim de la variable (
fer-ho mitjançant el botó dret del ratolí
El programa és tan senzill com el que segueix. Només cal que la funció de sortida de
valors analògics s'alimenti amb el valor
La pantalla "escenari" és la que es mostra a continuació. El que hem fet és editar el
fons i posar el text en vermell que apareix.
Departament de Tecnologia del Institut Can Mas de Ripollet
ÀCTICA 4: CONTROL DE LA INTENSITAT LLUMINOSA D´UN
LED DES DE LA PANTALLA.
Es definirà una variable a la que anomenem, per exemple, intensitat. Seleccionem en
l'element de presentació de la variable (a l'escenari) que es mostri en mode lliscant i
també es defineix el valor mínim i màxim de la variable (0 a 255). A la figura veiem com
ho mitjançant el botó dret del ratolí
El programa és tan senzill com el que segueix. Només cal que la funció de sortida de
valors analògics s'alimenti amb el valor intensitat: "analògic 5 valor intensitat
i" és la que es mostra a continuació. El que hem fet és editar el
fons i posar el text en vermell que apareix.
11
A INTENSITAT LLUMINOSA D´UN
. Seleccionem en
l'element de presentació de la variable (a l'escenari) que es mostri en mode lliscant i
). A la figura veiem com
El programa és tan senzill com el que segueix. Només cal que la funció de sortida de
analògic 5 valor intensitat"
i" és la que es mostra a continuació. El que hem fet és editar el
Departament de Tecnologia del Institut Can Mas de Ripollet
12
N'hi haurà prou moure el cursor de la variable Intensitat per fer que la intensitat del
díode led connectat a l'PIN 5 variï.
El muntatge sobre protoboard és el següent:
Departament de Tecnologia del Institut Can Mas de
PRÀCTICA 5: COMPTADOR ENDAVANT/ENDARRERE
Aquesta és una variant de l'exercici anterior en la qual desitgem poder comptar cap
endavant o cap enrere fent ús de dues entrades digitals
corresponents als pins PIN 2
De la mateixa manera que hem fet en l'exemple anterior definim la variable
que emmagatzemarà el valor de comptador.
Aquesta vegada disposarem de dos bucles tipus "
operacions "comptar" i "descomptar
• comptar:
Per al bucle comptar testegem l'estat de la variable d'entrada digital
i si es compleix que aquesta
a Cuenta + 1"
• descomptar:
Per al bucle descomptar testegem l'estat de la variable d'entrada digital
PIN 3 i si es compleix que aquesta activada increm
Cuenta a Cuenta-1"
S'han col·locat igualment els retards per evitar "rebots" en el compt
A la figura següent veiem l'aspecte de la pantalla "escenari".
Departament de Tecnologia del Institut Can Mas de Ripollet
COMPTADOR ENDAVANT/ENDARRERE
Aquesta és una variant de l'exercici anterior en la qual desitgem poder comptar cap
endavant o cap enrere fent ús de dues entrades digitals Digilal2
PIN 2 i PIN 3 de la targeta Arduino respectivament.
De la mateixa manera que hem fet en l'exemple anterior definim la variable
que emmagatzemarà el valor de comptador.
Aquesta vegada disposarem de dos bucles tipus "si" un per a cadascuna
descomptar"
r al bucle comptar testegem l'estat de la variable d'entrada digital
i si es compleix que aquesta està activada incrementem el comptador "
Per al bucle descomptar testegem l'estat de la variable d'entrada digital
i si es compleix que aquesta activada incrementem el comptador "
S'han col·locat igualment els retards per evitar "rebots" en el compte
A la figura següent veiem l'aspecte de la pantalla "escenari".
13
Aquesta és una variant de l'exercici anterior en la qual desitgem poder comptar cap
Digilal2 i Digital3
ivament.
De la mateixa manera que hem fet en l'exemple anterior definim la variable Cuenta
" un per a cadascuna de les
r al bucle comptar testegem l'estat de la variable d'entrada digital Digital2,PIN 2
activada incrementem el comptador "fixar Cuenta
Per al bucle descomptar testegem l'estat de la variable d'entrada digital Digital3
entem el comptador "fixar
Departament de Tecnologia del Institut Can Mas de Ripollet
14
Aquest és el muntatge que hauríem de realitzar per provar l'aplicació.
Departament de Tecnologia del Institut Can Mas de
PRÀCTICA 6. COMPTADOR AMB POSADA A “ZERO
Aquesta aquest exemple desitgem poder realitzar la "
comptador. Per aquest muntatge disposarem de dos polsadors connectats a les
entrades digitals Digital2 i
Arduino respectivament.
• Digital2 (PIN 2) Serà la per a l'entrada d'impuls de compte
• Digital3 (PIN 3) Serà l'entrada per a la posada a zero
De la mateixa manera que hem fet en l'exemple ant
que emmagatzemarà el valor de comptador.
Aquesta vegada disposarem de dos
operacions "comptar" i "posar a zero
• comptar:
Per al bucle comptar testegem l'estat de la variable d'entrada digital
PIN 2 i si es compleix que aquesta activada increm
Cuenta a Cuenta + 1
• Posada a zero:
Amb l'entrada Digital3
A continuació veiem l'aspecte de la pantalla "
Departament de Tecnologia del Institut Can Mas de Ripollet
. COMPTADOR AMB POSADA A “ZERO”.
Aquesta aquest exemple desitgem poder realitzar la "posada a zero
comptador. Per aquest muntatge disposarem de dos polsadors connectats a les
i Digital3 corresponents als pins PIN 2 i PIN 3
Serà la per a l'entrada d'impuls de compte
Serà l'entrada per a la posada a zero
De la mateixa manera que hem fet en l'exemple anterior definim la variable
que emmagatzemarà el valor de comptador.
Aquesta vegada disposarem de dos bucles tipus "si" un per a cadascuna de les dues
posar a zero".
Per al bucle comptar testegem l'estat de la variable d'entrada digital
i si es compleix que aquesta activada incrementem el comptador "
nta a Cuenta + 1".
Digital3 posem a zero el valor Cuenta "fixar Cuenta a 0
A continuació veiem l'aspecte de la pantalla "escenari"
15
posada a zero" del valor del
comptador. Per aquest muntatge disposarem de dos polsadors connectats a les
PIN 3 de la targeta
erior definim la variable Cuenta
" un per a cadascuna de les dues
Per al bucle comptar testegem l'estat de la variable d'entrada digital Digital2
entem el comptador "fixar
fixar Cuenta a 0".
Departament de Tecnologia del Institut Can Mas de Ripollet
16
I el muntatge que hem de realitzar és el següent :
Departament de Tecnologia del Institut Can Mas de Ripollet
17
PRÀCTICA 7. SEMÀFOR ( Proposta de projecte )
En aquest exemple anem a realitzar un semàfor. Utilitzem les següents sortides :
• Llum Roja PIN 13
• Llum Ambar PIN 11
• Llum Verd PIN 10
S'han creat tres disfresses per representar els tres estats del semàfor que s'aniran
mostrant d'acord a la seqüència d'encesa de les sortides:
• "canviar disfressa a Semáforo_rojo"
• "canviar disfressa a Semáforo_ambar"
• "canviar disfressa a Semáforo_verde
A la pantalla "escenari" s'ha col·locat de fons la imatge d'un encreuament de carrers,
la qual cosa li dóna cert realisme a l'aplicació.
Departament de Tecnologia del Institut Can Mas de Ripollet
18
A la següent imatge es mostra el circuit de muntatge amb protoboard.
Departament de Tecnologia del Institut Can Mas de
PRÀCTICA 8: CONTROL D´UN SERVOMOTOR
Per controlar un servomotor del tipus 180º de gir, S4A disposa de la ... angle" en què angle és un va
Crearem dues variables: angle
• angle
és el valor que col·locarem en la instrucció de control del motor "..." El valor angle s'obté arrodonint el valor mesurat en atès que el valor màxim que es pot posar com a angle és 180 i no obstant aixòvalor màxim que llegimL'arrodoniment és perquè la funció motorvalors decimals només admet valors sencers.
• sensor
és el valor llegit del canal analògic d'entrada
La idea en aquesta aplicació és que l'angle de gir s'obtingui a través d'una de les entrades analògiques de la targeta Arduino, en aquest cas ho farem a través de Analog0 "valor sensor Analog0
L'algoritme és molt senzill. En primer ll
angle 90". Seguidament, dins d'un bucle de repetició contínua "
les variables als seus valors i per acabar s'activa el motor amb la variable angle "
8 angle angle"
A la pantalla "escenari" col·loquem per la seva visualització els valors de les variables
sensor i angle.
Departament de Tecnologia del Institut Can Mas de Ripollet
: CONTROL D´UN SERVOMOTOR ( GIR 180º)
Per controlar un servomotor del tipus 180º de gir, S4A disposa de la instrucció "" en què angle és un valor sencer que vaig poder estar comprès entre 0 i 180.
angle i sensor
és el valor que col·locarem en la instrucció de control del motor "s'obté arrodonint el valor mesurat en Analog0
atès que el valor màxim que es pot posar com a angle és 180 i no obstant aixòvalor màxim que llegim de la cadena és 1024. Per això 0.18 = 180/1024L'arrodoniment és perquè la funció motor no admet angles que es donin amb valors decimals només admet valors sencers.
it del canal analògic d'entrada "Fixar sensor a valor sensor Analog0
La idea en aquesta aplicació és que l'angle de gir s'obtingui a través d'una de les entrades analògiques de la targeta Arduino, en aquest cas ho farem a través de
valor sensor Analog0" aquest valor llegit l´assignem a la variable
molt senzill. En primer lloc fixem la posició de repòs en
". Seguidament, dins d'un bucle de repetició contínua "per sempre
les variables als seus valors i per acabar s'activa el motor amb la variable angle "
" col·loquem per la seva visualització els valors de les variables
19
( GIR 180º)
instrucció "motor comprès entre 0 i 180.
és el valor que col·locarem en la instrucció de control del motor "motor ... angle dividit per 0.18,
atès que el valor màxim que es pot posar com a angle és 180 i no obstant això el 0.18 = 180/1024
no admet angles que es donin amb
Fixar sensor a valor sensor Analog0".
La idea en aquesta aplicació és que l'angle de gir s'obtingui a través d'una de les entrades analògiques de la targeta Arduino, en aquest cas ho farem a través de
assignem a la variable
oc fixem la posició de repòs en 90º "motor 8
per sempre" es fixen
les variables als seus valors i per acabar s'activa el motor amb la variable angle "motor
" col·loquem per la seva visualització els valors de les variables
Departament de Tecnologia del Institut Can Mas de Ripollet
20
En la següent figura hi ha el muntatge de l´aplicació a la placa protoboard
Departament de Tecnologia del Institut Can Mas de
PRÀCTICA 9 : TERMÒMETRE AMB LEDS I SENSOR
TEMPERATURA LM35.
La següent aplicació permet la lectura d'un canal d'entrada analògic
posterior comparació amb un
digitals.
En primer lloc es definirà una variable analògica que anomenarem
valor s'assignarà al canal Analog1
"fixar Temperatura a valor del sensor Analog1
Ls sortides a controlar seran 3:
Les condicions que s'estableixen per al govern de les sortides vénen donades pels
rangs que figuren a la capçalera de les funcions condicionals "
• Si 400 > Temper
• Si 800 > Temper
• Si Temperatura>800
S'han creat quatre "disfresses
real de les sortides, en la figura es poden veure:
Led_1 s'ha creat per si desitgéssim un quart rang en el qual no s'activés cap sortida
Departament de Tecnologia del Institut Can Mas de Ripollet
: TERMÒMETRE AMB LEDS I SENSOR
TEMPERATURA LM35.
La següent aplicació permet la lectura d'un canal d'entrada analògic
posterior comparació amb uns rangs de valor que permeten el control de 3 sortides
En primer lloc es definirà una variable analògica que anomenarem Temperatura
Analog1 de la Targeta Arduino mitjançant el bloc de funció
fixar Temperatura a valor del sensor Analog1"
seran 3: PIN 10, PIN 11 i PIN13.
Les condicions que s'estableixen per al govern de les sortides vénen donades pels
rangs que figuren a la capçalera de les funcions condicionals "si"
eratura>0 llavorsPIN 10 =true
eratura>400 llavorsPIN 11=true
tura>800 llavorsPIN 13 =true
disfresses" que permeten indicar a la pantalla "escenari
real de les sortides, en la figura es poden veure: Led_2, Led_3 i Led_4
s'ha creat per si desitgéssim un quart rang en el qual no s'activés cap sortida
21
: TERMÒMETRE AMB LEDS I SENSOR DE
La següent aplicació permet la lectura d'un canal d'entrada analògic Analog1 i la
s rangs de valor que permeten el control de 3 sortides
Temperatura i el
de la Targeta Arduino mitjançant el bloc de funció
Les condicions que s'estableixen per al govern de les sortides vénen donades pels
escenari" l'estat
Led_4 la disfressa
s'ha creat per si desitgéssim un quart rang en el qual no s'activés cap sortida
Departament de Tecnologia del Institut Can Mas de Ripollet
22
I l´escenari quedaria així :
A continuació es mostra l'esquema de muntatge en enprotoboard d'aquesta aplicació.
Departament de Tecnologia del Institut Can Mas de Ripollet
23
S'ha pres com a sensor de temperatura un sensor de semiconductor LM35
Departament de Tecnologia del Institut Can Mas de Ripollet
24
PRÀCTICA 10: CONTROL D´UN LED RGB
En aquesta pràctica anem a familiaritzar-nos amb el funcionament d'un LED RGB, el
seu patillatge o pinuot, i el farem lluir amb els seus diferents colors de forma aleatòria
durant un cert temps.
Per fer això utilitzarem els pins 5,6 i 9 de l´Arduino
• Llum RED PIN 5
• Llum GREEN PIN 6
• Llum BLUE PIN 9
El que farem es crear diferents procediments i farem una crida d´un procediment
general. Cada procediment correspon a una seqüencia i un color del RGB. El codi seria
tal com el següent :
Departament de Tecnologia del Institut Can Mas de
El muntatge que cal fer és el següent :
Departament de Tecnologia del Institut Can Mas de Ripollet
El muntatge que cal fer és el següent :
25
Departament de Tecnologia del Institut Can Mas de
PRÀCTICA 11: ENCENDRE UN LED UTILITZANT UN
FOTORESISTOR ( LDR )
En aquesta pràctica anem a veure com podem encendre un led
resistència dependent, un fotoresistor ( LDR ). Per això utilitzarem el
l´Arduino i l´entrada analògica 0,
El codi que utilitzarem serà :
I el muntatge que cal fer és el següent :
Departament de Tecnologia del Institut Can Mas de Ripollet
ENCENDRE UN LED UTILITZANT UN
FOTORESISTOR ( LDR )
En aquesta pràctica anem a veure com podem encendre un led
resistència dependent, un fotoresistor ( LDR ). Per això utilitzarem el
l´Arduino i l´entrada analògica 0, Analog0.
El codi que utilitzarem serà :
I el muntatge que cal fer és el següent :
26
ENCENDRE UN LED UTILITZANT UN
a traves d´una
resistència dependent, un fotoresistor ( LDR ). Per això utilitzarem el pin 13 de
Departament de Tecnologia del Institut Can Mas de Ripollet
27
PRÀCTICA 12 : CONTROL DOMÒTIC. CONTROL DE LA
TEMPERATURA I LA LLUMINOSITAT D´UN HABITATGE (Proposta
de projecte)
Per finalitzar aquesta col·lecció d'exemples es realitza una aplicació que permet el
control de dos aspectes bàsics en una instal·lació de "domòtica": La il·luminació i la
calefacció.
Es compta amb la utilització de les disfresses que representin els llums encesos i
apagats i també un radiador encès i apagat.
S'ha col·locat una imatge d'una habitació a la part de fons de l'aplicació. Amb tot
busquem l'aproximació al realisme de la instal·lació.
L'aplicació té tres objectes:
• L'objecte principal Arduino
• L'objecte Il·luminació que es correspon amb la il·luminació
• L´objecte Calefacció que es correspon amb la calefacció
Designació de variables:
Les variables en aquest exemple són les següents:
• Consigna_luz : Seleccioneu des pantalla el valor de la llum desitjada
• Consigna_temp: Seleccioneu des pantalla el valor de la temperatura desitjada.
• Llum: Mesura a través del canal analògic Analog0 el valor de la temperatura
ambient
• Temperatura: Mesura el valor de la temperatura al canal d'entrada Analog1
• Llum:Indica l'estat del llum (1 = encesa 0 = apagada)
• Radiador: Indica l'estat del radiador (1 = encès 0 = apagat)
L'objecte Il·luminació té associat un programa molt senzill que s'encarrega de controlar
les disfresses "Lampara_off" i "Lámpara_on". Per a això, mitjançant un condicional "si,
si no" testeja la variable Lampara i si aquesta es 1 es passa a la disfressa lámpara_on
"Canviar la disfressa lámpara_on"
Sensors analògics d'entrada:
• Canal Analo0 PIN 0 analògic per mesurar la llum
• Canal Analog1 PIN 1 analògic per mesurar la temperatura
Departament de Tecnologia del Institut Can Mas de
Sortides digitals:
• PIN 13 sortida d'activació de llum
• PIN 11 sortida d'activació de llum
• PIN 10 sortida d'activació de radiador
L'objecte Calefacció té associat el programa que s'encarrega de controlar les disfresses
"radiador_off" i "radiador_on
la variable Radiador i si aquesta es 1 es passa a la d
disfressa radiador_on"
El programa principal pertanyent a l'objecte
figura.
• Dins d'un bucle de repetició "per sempre"
que es fa és fixar les
"Fixar Temperatura a valor del sensor Analog 1
"Fixar Llum a valor del sensor Analog0
Departament de Tecnologia del Institut Can Mas de Ripollet
sortida d'activació de llum ( led groc )
sortida d'activació de llum ( led vermell )
sortida d'activació de radiador ( led verd )
té associat el programa que s'encarrega de controlar les disfresses
radiador_on". Per a això, mitjançant un condicional "
i si aquesta es 1 es passa a la disfressa radiador_on "
El programa principal pertanyent a l'objecte Arduino és el que es mostra a la següent
Dins d'un bucle de repetició "per sempre" com tots els programes el
que es fa és fixar les variables a les seves fonts de dada:
Fixar Temperatura a valor del sensor Analog 1"
ixar Llum a valor del sensor Analog0"
28
té associat el programa que s'encarrega de controlar les disfresses
". Per a això, mitjançant un condicional "si, si no" testeja
isfressa radiador_on "Canviar la
és el que es mostra a la següent
com tots els programes el primer
Departament de Tecnologia del Institut Can Mas de
• Seguidament es passa a una funció condicional tipus "
s'encarregarà de comprovar si el valor de la variable Llum és menor del valor
de la variable Consigna_luz
poca llum i hem d'encendre els llums:
"Digital 13 encès
• El següent bucle condicional tipus "
valor de la variable
Consigna_temp. Si es compleix la condició això vol dir que fa fred i hem
d'encendre el radiador:
"Digital 10 encès
La següent figura mostra la pantalla de l´escenari de l'aplicació :
Departament de Tecnologia del Institut Can Mas de Ripollet
Seguidament es passa a una funció condicional tipus "
s'encarregarà de comprovar si el valor de la variable Llum és menor del valor
Consigna_luz. Si es compleix la condició això vol dir que hi ha
poca llum i hem d'encendre els llums:
Digital 13 encès" i "digital 11 encès"
bucle condicional tipus "si, si no" s'encarrega de comprovar si el
valor de la variable Temperatura és menor del valor de la variable
. Si es compleix la condició això vol dir que fa fred i hem
d'encendre el radiador:
Digital 10 encès"
t figura mostra la pantalla de l´escenari de l'aplicació :
29
Seguidament es passa a una funció condicional tipus "si, si no" que
s'encarregarà de comprovar si el valor de la variable Llum és menor del valor
. Si es compleix la condició això vol dir que hi ha
" s'encarrega de comprovar si el
és menor del valor de la variable
. Si es compleix la condició això vol dir que fa fred i hem
Departament de Tecnologia del Institut Can Mas de Ripollet
30
Veiem una imatge amb el programa ja carregat.
Departament de Tecnologia del Institut Can Mas de Ripollet
31
PRÀCTICA 13: CONTROL DEL SENTIT DE GIR D´UN MOTOR DE CC
En aquesta pràctica es tracta de controlar el sentit de gir d´un motor de corrent
continu utilitzant el driver L293D. Aquest driver permet controlar 2 motors o fins i tot
3.
Nosaltres només controlarem un i per tant només utilizarem un dels costats de
l´integrat.
Funcionament del integrat L293D. Taula de la veritat
A l'explicació que segueixanem a esmentarsols les potes de l'integrat L293D. .
S'alimentad'unvoltatge de 5V( des de la placa de l´Arduino ) a les potes 8 i 16.
El polnegatiu o GND es posa a les potes 4 i 5.
El motorés posa a les potes 3 i 6.
Si la pota 1 no repalimentacióelèctrica no funciona el motor A.
Les potes 2 i 7 determinen si el funcionament del motor A ésavant o enrere. Mireu la taula de la veritat.
Departament de Tecnologia del Institut Can Mas de
Taula de la veritat:
Pota 2 Pota 7
Aturat (LOW) Aturat (LOW)
Engegat (HIGH) Aturat (LOW)
Aturat (LOW) Engegat (HIGH)
Engegat (HIGH) Engegat (HIGH)
En el següent esquema es mostra com hem de fer les connexions entre l´integrat, el
motor i l´Arduino.
Departament de Tecnologia del Institut Can Mas de Ripollet
Motor A
Aturat (LOW) Aturat
Aturat (LOW) Engegat i avant
Engegat (HIGH) Engegat i enrere
Engegat (HIGH) Aturat
En el següent esquema es mostra com hem de fer les connexions entre l´integrat, el
32
En el següent esquema es mostra com hem de fer les connexions entre l´integrat, el
Departament de Tecnologia del Institut Can Mas de Ripollet
33
Què cal lliurar ?
Cal penjar en el Moodle els fitxers del programa SA4 i un únic document de text (
Word o PDF ) amb els conceptes teòrics que es proposen, les imatges dels circuits
elèctrics realitzats amb el Fritzing i les imatges de tots els circuits muntats a la
protoboard i la seva connexió amb l´Arduino.
Detall de la feina a fer per pràctiques :
Pràctica 1 : Sortida Intermitent
Conceptes Teòrics :
• Què és un díode?, quines aplicacions té?, què és la polarització directe d´un
díode ?, i la inversa?.
• Què és un led ?, de quin material està fet ?, quins tipus de díodes LED hi ha?.
• Com identifiquen les potes o terminals d´un LED ?.
Activitats pràctiques :
• Fitxer SA4 utilitzat en la pràctica desat amb el nom pract1_sa4_arduino.sb
• Esquema elèctric realitzat amb el fritzing ( cal exportar-lo com imatge ) i desar-
lo amb el nom pract1_fritzing.jpg
• Fotografia del muntatge realitzat a la placa protoboard i la connexió amb
l´arduino.
Pràctica 2 : Sortida Intermitent amb visualització de l´estat per pantalla
Conceptes Teòrics :
• Què és una placa protoboard ? , com es connecten els components?.
Activitats pràctiques :
• Fitxer SA4 utilitzat en la pràctica desat amb el nom pract2_sa4_arduino.sb
Pràctica 3 : Sortida Intermitent amb visualització de l´estat per pantalla i
control de freqüència.
Departament de Tecnologia del Institut Can Mas de Ripollet
34
Conceptes Teòrics :
• Què és una resistència?. Tipus de resistències ( materials emprats ).
Classificació de les resistències. Unitats de mesura de les resistències. ( unitats i
múltiples ). Què és la tolerància d´una resistència?
• Què és el codi de colors de les resistències? Dibuixa el codi de colors d´una
resistència de 220 ohms.
• Què és un potenciòmetre o resistència variable?, per a què s´utilitza?.
Activitats pràctiques :
• Fitxer SA4 utilitzat en la pràctica desat amb el nom pract3_sa4_arduino.sb
• Esquema elèctric realitzat amb el fritzing ( cal exportar-lo com imatge ) i desar-
lo amb el nom pract3_fritzing.jpg
• Fotografia del muntatge realitzat a la placa protoboard i la connexió amb
l´arduino.
Pràctica 4. Control de la intensitat lluminosa d´un LED des de la
pantalla.
Conceptes Teòrics
• Què és un senyal analògic?. Posa algun exemple. Què és un senyal digital?.
Posa un exemple. Quines diferències fonamentals hi ha entre un senyal
analògic i un de digital?.
• Quin corrent mínim necessita un LED per a funcionar?. Quina tensió o
diferència de potencial hi ha entre els seus terminals?. Per què cal protegir
el LED de la pràctica amb una resistència de 220 ohms?. Com calculem el
valor de la resistència que necessitem ?.
Activitats Pràctiques.
• Fitxer SA4 utilitzat en la pràctica desat amb el nom pract4_sa4_arduino.sb.
• Esquema elèctric realitzat amb el fritzing ( cal exportar-lo com imatge ) i
desar-lo amb el nom pract4_fritzing.jpg
• Fotografia del muntatge realitzat a la placa protoboard i la connexió amb
l´arduino.
Pràctica 5. Comptador endavant/endarrere.
Conceptes Teòrics.
Departament de Tecnologia del Institut Can Mas de Ripollet
35
• Què és un comptador electrònic?, per a què s´utilitzen?.
• Què és un polsador ?, quins tipus de polsadors hi ha?, per a què s´utilitzen?.
Activitats Pràctiques.
• Fitxer SA4 utilitzat en la pràctica desat amb el nom pract5_sa4_arduino.sb.
• Esquema elèctric realitzat amb el fritzing ( cal exportar-lo com imatge ) i
desar-lo amb el nom pract5_fritzing.jpg
• Fotografia del muntatge realitzat a la placa protoboard i la connexió amb
l´arduino.
Pràctica 6. Comptador amb posada a “zero”.
Conceptes Teòrics
• En què consisteix fer un “RESET” en un circuit electrònic ?, quina relació té
amb els ordinadors ?.
Activitats Pràctiques.
• Fitxer SA4 utilitzat en la pràctica desat amb el nom pract6_sa4_arduino.sb.
Pràctica 7. Semàfor ( Proposta de projecte ).
Conceptes Teòrics
• Què és un “algoritme de programació”?. Què és un programa d´ordinador?
• Quins tipus d´instruccions executa un ordinador?.
• Què vol dir “programar amb un llenguatge d´alt nivell”?, posa un exemple.
• Que vol dir “compilar un programa”?
Activitats Pràctiques.
• Fitxer SA4 utilitzat en la pràctica desat amb el nom pract7_sa4_arduino.sb.
• Esquema elèctric realitzat amb el fritzing ( cal exportar-lo com imatge ) i
desar-lo amb el nom pract7_fritzing.jpg
• Fotografia del muntatge realitzat a la placa protoboard i la connexió amb
l´arduino.
Pràctica 8. Control d´un servomotor ( gir 180º )
Conceptes Teòrics.
Departament de Tecnologia del Institut Can Mas de Ripollet
36
• Què és un servomotor?, com funciona?, per a què s´utilitzen?.
• Anomena i descriu alguna aplicació on s´utilitzi un servomotor.
Activitats Pràctiques.
• Fitxer SA4 utilitzat en la pràctica desat amb el nom pract8_sa4_arduino.sb.
• Esquema elèctric realitzat amb el fritzing ( cal exportar-lo com imatge ) i
desar-lo amb el nom pract8_fritzing.jpg
• Fotografia del muntatge realitzat a la placa protoboard i la connexió amb
l´arduino.
Pràctica 9. Termòmetre amb LED´s i sensor de temperatura LM 35.
Conceptes Teòrics.
• Què és un sensor?, per a què s´utilitzen?, quins tipus de sensors hi ha?
• Quins tipus de sensors de temperatura hi ha?.
• Quines característiques té el nostre sensor de temperatura ?
Activitats Pràctiques.
• Fitxer SA4 utilitzat en la pràctica desat amb el nom pract9_sa4_arduino.sb.
• Esquema elèctric realitzat amb el fritzing ( cal exportar-lo com imatge ) i
desar-lo amb el nom pract9_fritzing.jpg
• Fotografia del muntatge realitzat a la placa protoboard i la connexió amb
l´arduino.
Pràctica 10. Control d´un LED RGB.
Conceptes Teòrics.
• Què és un LED RGB?, quines característiques té?. Com podem aconseguir
una gamma variada de colors?.
• Per a què els podem utilitzar?
Activitats Pràctiques.
• Fitxer SA4 utilitzat en la pràctica desat amb el nom
pract10_sa4_arduino.sb.
• Esquema elèctric realitzat amb el fritzing ( cal exportar-lo com imatge ) i
desar-lo amb el nom pract10_fritzing.jpg
Departament de Tecnologia del Institut Can Mas de Ripollet
37
• Fotografia del muntatge realitzat a la placa protoboard i la connexió amb
l´arduino.
Pràctica 11. Encendre un LED utilitzant un fotoresistor ( LDR ).
Conceptes Teòrics.
• Què és una resistència dependent ?. Posa alguns exemples.
• Què és un LDR?, com varia la lluminositat amb la resistència en un LDR? (
trobar la corba característica d´un LDR )
• Què és un divisor de tensió ?, per a què s´utilitza en electrònica ?.
• Dibuixa l´esquema elèctric del divisor de tensió que utilitzem a la pràctica. (
pots utilitzar el crocodile clips ).
Activitats Pràctiques.
• Fitxer SA4 utilitzat en la pràctica desat amb el nom
pract11_sa4_arduino.sb.
• Esquema elèctric realitzat amb el fritzing ( cal exportar-lo com imatge ) i
desar-lo amb el nom pract11_fritzing.jpg
• Fotografia del muntatge realitzat a la placa protoboard i la connexió amb
l´arduino.
Pràctica 12. Control Domòtic. Control de la temperatura i la
lluminositat en un habitatge. ( Proposta de projecte ).
Conceptes Teòrics.
• Què és la domòtica?, quins serveis pot controlar?, per a que creus que és
útil?
• Quins sensors calen per controlar la temperatura i el grau de lluminositat
en una instal·lació domòtica?.
Activitats Pràctiques.
• Fitxer SA4 utilitzat en la pràctica desat amb el nom
pract12_sa4_arduino.sb.
• Esquema elèctric realitzat amb el fritzing ( cal exportar-lo com imatge ) i
desar-lo amb el nom pract12_fritzing.jpg
• Fotografia del muntatge realitzat a la placa protoboard i la connexió amb
l´arduino.
Departament de Tecnologia del Institut Can Mas de Ripollet
38
Top Related