Proyecto 2: Lámpara de mesa

Descripción

La lámpara de mesa común usa luces LED y botones, que permiten encender y apagar la luz pulsando el botón.

Principio del botón

El módulo de botón es un sensor digital, que solo puede leer 0 o 1. Cuando el módulo no está pulsado, está en un estado de nivel alto, es decir, 1; cuando se pulsa, está en nivel bajo 0.

imagen22

Pines del botón

Botón 1

16

Botón 2

27

Proyecto 2.1 Leer el botón

Descripción

Vamos a leer el valor de estado del botón y mostrarlo en el monitor serie para verlo de forma intuitiva.

Código de prueba

from machine import Pin
import time

button1 = Pin(16, Pin.IN, Pin.PULL_UP)
button2 = Pin(27, Pin.IN, Pin.PULL_UP)

while True:
    btnVal1 = button1.value()  # Reads the value of button 1
    btnVal2 = button2.value()
    print("button1 =",btnVal1)  #Print it out in the shell
    print("button2 =",btnVal2)
    time.sleep(0.1) #delay 0.1s

Resultado de la prueba

Haz clic en el botón Run, entonces podrás ver los valores de estado de button1 y button2 impresos en el shell. Pulsa el botón del hogar inteligente y verás el cambio de los valores de estado.

imagen23

Proyecto 2.2. Lámpara de mesa

Descripción

Para una lámpara de mesa simple y común, al pulsar el botón se encenderá; al pulsarlo de nuevo, la lámpara se apagará.

Código de prueba

Calculando las veces que se ha pulsado el botón y tomando el resto al dividir por 2, se pueden obtener los dos valores de estado 0 o 1.

from machine import Pin
import time

button1 = Pin(16, Pin.IN, Pin.PULL_UP)
led = Pin(12, Pin.OUT)
count = 0

while True:
    btnVal1 = button1.value()  # Reads the value of button 1
    #print("button1 =",btnVal1)  #Print it out in the shell
    if(btnVal1 == 0):
        time.sleep(0.01)
        while(btnVal1 == 0):
            btnVal1 = button1.value()
            if(btnVal1 == 1):
                count = count + 1
                print(count)
    val = count % 2
    if(val == 1):
        led.value(1)
    else:
        led.value(0)
    time.sleep(0.1) #delay 0.1s

Resultado de la prueba

El shell imprimirá el número de veces que se ha pulsado el botón; al pulsarlo una vez, el LED se encenderá; al pulsarlo de nuevo, se apagará.

imagen24