Skip to main content

3.1 MONTAJE 4 Interruptor luz

3.1 MONTAJE 4 INTERRUPTOR LUZ.

El anterior programa ya es un ejemplo de uso de estos botones digitales que están conectados a los pines digitales 2 y 3 de Arduino. Ten en cuenta que sólo pueden leer niveles lógicos.

RETO1

Al pulsar el botón D2 se enciende los 3 leds del Echidna y al soltarlo se apagan. El programa “tunealo” un poco, quitando el oso como disfraz y añadiendo dosun objeto que seancambie Ledssegún D2

Solución


PreviamenteElegimos hemosun descargadoobjeto deque Internetcambie oel realizadodisfraz, pory nosotros mismos (otra vezle ponemos a prueba tus habilidades en el Paint)código

dos

echidna-d2-encendido-apagado1.png
Y imágenesal dearduino:

leds

echidna-d2-encendido-apagado2.png

y

El seprograma lo añadimostienes alaquí disfraz del oso (suponemos que sabes algo de Scratch) :
image-1648722608643.pnghttps://planet.mblock.cc/project/3228733

La solución es fácil:



RETO2

Al pulsar D2 tiene que encenderse los leds, y sólo se apagaran si se vuelve a pulsar D2. O sea, _utilizarutilizar sólo un pulsador para encender y apagar los leds.

Solución
echidna-d2-encendido-apagado3.png


UNA CURIOSIDAD Fíjate como hay un retraso de 0.5 segundos para que "te de tiempo de apartar el dedo del pulsador" en caso contrario, volvería al otro estado. Si no sabes lo que quiero decir, quita la instrucciones "Espera 0.5 segundos" y verás qué pasa.

UN POCO DE PARÉNTESIS TEÓRICO 

Fíjate en el enunciado del RETO1: “al pulsar el botón D2 se enciende y al soltarlo se apaga” ES UNA MÁQUINA LÓGICA pues el estado de la máquina sólo depende de las entradas (en este caso de un botón): Pulsar la entrada (botón D2) produce una salida concreta (encender leds).

CONTINUAMOS ...

Pero tal y como está redactado, el RETO2 tiene que memorizar el estado anterior, no es trivial el enunciado “Al pulsar D2 tiene que encenderse los leds, y sólo se apagaran si se vuelve a pulsar D2.” ES UNA MÁQUINA SECUENCIAL pues el estado de la máquina depende de las entradas y de lo que ha pasado antes. Pulsar la entrada (botón D2) NO produce una salida concreta (depende si estaba apagado o encendido anteriormente).

No pasa nada si no lo entiendes del todo, es teoría.

La programación se complica necesitamos añadir una variable que recuerde lo que ha pasado antes la vamos a llamar _encendido _que recordará si está encendido los leds o no:



¿qué pinta ese “esperar 0.5s? je, je, je…. te vamos a dejar que lo experimentes tú, quitalo, pruébalo varias veces y verás…

Muchos de nuestros aparatos electrónicos se encienden y se apagan con el mismo botón, así que a partir de ahora aprecia que su funcionamiento no es trivial.