Top Banner
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
38

Practiquessa4 arduino 1

Jul 24, 2016

Download

Documents

Jordi Polo

pràctiques per a 4t d´ESO optativa tecnologia
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Practiquessa4 arduino 1

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

Page 2: Practiquessa4 arduino 1

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

Page 3: Practiquessa4 arduino 1

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

Page 4: Practiquessa4 arduino 1

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ó.

Page 5: Practiquessa4 arduino 1

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

Page 6: Practiquessa4 arduino 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 )

Page 7: Practiquessa4 arduino 1

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.

Page 8: Practiquessa4 arduino 1

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".

Page 9: Practiquessa4 arduino 1

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

Page 10: Practiquessa4 arduino 1

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:

Page 11: Practiquessa4 arduino 1

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

Page 12: Practiquessa4 arduino 1

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:

Page 13: Practiquessa4 arduino 1

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

Page 14: Practiquessa4 arduino 1

Departament de Tecnologia del Institut Can Mas de Ripollet

14

Aquest és el muntatge que hauríem de realitzar per provar l'aplicació.

Page 15: Practiquessa4 arduino 1

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".

Page 16: Practiquessa4 arduino 1

Departament de Tecnologia del Institut Can Mas de Ripollet

16

I el muntatge que hem de realitzar és el següent :

Page 17: Practiquessa4 arduino 1

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ó.

Page 18: Practiquessa4 arduino 1

Departament de Tecnologia del Institut Can Mas de Ripollet

18

A la següent imatge es mostra el circuit de muntatge amb protoboard.

Page 19: Practiquessa4 arduino 1

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

Page 20: Practiquessa4 arduino 1

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

Page 21: Practiquessa4 arduino 1

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

Page 22: Practiquessa4 arduino 1

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ó.

Page 23: Practiquessa4 arduino 1

Departament de Tecnologia del Institut Can Mas de Ripollet

23

S'ha pres com a sensor de temperatura un sensor de semiconductor LM35

Page 24: Practiquessa4 arduino 1

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 :

Page 25: Practiquessa4 arduino 1

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

Page 26: Practiquessa4 arduino 1

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

Page 27: Practiquessa4 arduino 1

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

Page 28: Practiquessa4 arduino 1

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

Page 29: Practiquessa4 arduino 1

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

Page 30: Practiquessa4 arduino 1

Departament de Tecnologia del Institut Can Mas de Ripollet

30

Veiem una imatge amb el programa ja carregat.

Page 31: Practiquessa4 arduino 1

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.

Page 32: Practiquessa4 arduino 1

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

Page 33: Practiquessa4 arduino 1

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.

Page 34: Practiquessa4 arduino 1

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.

Page 35: Practiquessa4 arduino 1

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.

Page 36: Practiquessa4 arduino 1

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

Page 37: Practiquessa4 arduino 1

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.

Page 38: Practiquessa4 arduino 1

Departament de Tecnologia del Institut Can Mas de Ripollet

38