arduino-scratch

S4A 09 - Eixides analògiques

Finalitat

La lliçó ens servirà per comprendre la diferència entre analògic i digital, es presentaran les eixides analògiques i crearem estructures de repetició.

Material

Imatge Descripció
Arduino Uno o compatible amb S4A i amb el firmware per S4A carregat.
Una protoboard
Cables de connexió
Un díode led
Una resistència de 330 Ohms

Analògic i digital

Tots els senyals que hem manejat fins ara, tant d’entrada com d’eixida, han sigut digitals. Com ja sabem, aquest tipus de senyals només poden prendre dos valors, HIGH o LOW, 0 o 1.

Senyal digital

Fins ara hem utilitzat aquest tipus de senyals per a encendre o apagar un LED o llegir si un polsador està pressionat o no. De fet, molts dels elements que existeixen són d’aquest tipus, com una alarma o un sensor de presència.

No obstant això existeixen moltes altres coses que poden prendre qualsevol valor dins d’uns límits. Si el que volem és, per exemple, llegir la temperatura, controlar la intensitat de la lluentor d’un LED o la velocitat de gir d’un motor, necessitarem dels senyals analògics.

Senyal analògica

En aquesta sessió utilitzarem una eixida analògica per a controlar la intensitat de la lluentor d’un LED.

Les eixides analògiques

En realitat, les plaques Arduino (excepte la Arduino Duo) manquen d’eixides analògiques pures, però utilitzen un truc per a aconseguir que una eixida digital es comporte com una analògica.

És important saber això perquè ara no se’ns faça estrany saber que les eixides analògiques de Arduino en S4A corresponen als pins digitals 5, 6 i 9.

Eixides analògiques

Controlant la lluentor d’un led

El circuit electrònic és el mateix que el del blinking LED de la sessió 3, però en aquest cas connectarem el LED a una de les eixides analògiques. En aquest cas hem triat la 6.

Esquema elèctric

Per a assignar un valor a les eixides analògiques utilitzarem el bloc “analògic … valor …” de la categoria “Moviments”. Seleccionarem l’eixida analògica 6.

Veiem que podem assignar-li el valor que vulguem. Si provem de ficar valors, entre 0 i 255, veurem com el LED s’il·lumina amb major o menor intensitat en funció del valor que li fiquem.

Bloc analògic...valor

Ara farem un programa que encenga i a apague el LED a poc a poc, és a dir, que faça prendre a l’eixida analògica tots els valors des de 0 a 255 i després faça el mateix des de 255 a 0.

Per a poder anar variant el valor de l’eixida crearem una variable a la qual anomenarem “i”. La idea és que l’eixida prenga sempre el valor d’aquesta variable i anar incrementant-la d’1 en 1 fins a 255, per a després anar disminuint-la també d’1 en 1 fins a 0.

El primer que farem és fixar les condicions inicials, fixem el valor de la variable “i” a 0 i assignem el valor d’i l’eixida analògica 6.

Condicions inicials

Ara haurem d’aconseguir fer una estructura que sume 1 a la variable i li ho assigne a l’eixida analògica. Com volem que arribe fins a 255, haurem de fer que es repetisca 255 vegades.

Bloc de repetició

Per a fer que es vaja apagant a poc a poc farem el mateix però en comptes de sumar-li 1, li sumarem -1.

Bloc 2 de repetició

Si provem d’executar el programa ara, veurem que el LED s’il·lumina a poc a poc fins a arribar al màxim i després va apagant-se a poc a poc una sola vegada. Si volem que faça això contínuament només hem de ficar tots els blocs, excepte les condicions inicials, dins del conegut bloc “per sempre”.

Seqüència completa

Resum

En aquesta sessió hem aprés diverses coses importants:

Veure també