Tabla de contenido:
- Paso 1: video de interacción
- Paso 2: declaración del problema
- Paso 3: descripción general de cómo funciona
- Paso 4: Lista de materiales y herramientas
- Paso 5: Comience a construir con la placa de pruebas
- Paso 6: Iniciar el código
- Paso 7: Toques finales
Video: Temporizador de sala de estudio: 7 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
Instrucciones sobre cómo crear un temporizador para una sala de estudio.
Paso 1: video de interacción
drive.google.com/file/d/12z5zQR52AXILX2AGb3EplfbmZWANZiCl/view?usp=drivesdk
Paso 2: declaración del problema
La mayoría de las veces, las salas de estudio siempre están ocupadas. Esto sucede porque a las personas les gusta quedarse en la habitación mucho más tiempo del que necesitan. Hemos diseñado un temporizador que permite a cada persona un total de 2 horas y a las personas que esperan la posibilidad de solicitar que la sala sea el siguiente grupo. El uso de RGB en Neopixels expresará la cantidad de tiempo restante.
Paso 3: descripción general de cómo funciona
El temporizador consta de piezas cortadas por el cortador láser, 3 botones, 1 LED, 1 potenciómetro.
Los Neopixels y el potenciómetro están conectados al NodeMCU. El NodeMCU está programado para regonizar cuánto se gira el potenciómetro para cambiar la cantidad de LED que se encienden en la tira circular de Neopixel. El botón Solicitar detiene la función de Iniciar, Detener y Establecer la hora. El color de los LED en el temporizador dentro de la habitación es el mismo color del LED iluminado en el costado de la caja. El neopixel en el lateral de la caja representa la pantalla en el vestíbulo del edificio para saber qué habitación se toma y cuánto tiempo queda. Se prescriben 2 LED para cada habitación, un LED representa si la habitación está ocupada y el otro LED refleja el color de los LED en el temporizador (el verde es más tiempo, luego el amarillo, luego el rojo por menos tiempo).
Paso 4: Lista de materiales y herramientas
-Acrílico transparente
-Cable MicroUSB
www.digikey.com/product-detail/en/stewart-…
-Tablero de circuitos
www.amazon.com/gp/product/B01EV6LJ7G/ref=o…
-Potenciómetro
www.alliedelec.com/honeywell-380c32500/701…
-3 botones
www.digikey.com/product-detail/en/te-conne…
-NodeMCU
www.amazon.com/gp/product/B07CB4P2XY/ref=o…
- 2 tiras de Neopixel
www.amazon.com/Lighting-Modules-NeoPixel-W…
-Resistores
www.digikey.com/product-detail/en/te-conne…
- alambres
www.digikey.com/product-detail/en/sparkfun…
-1 LED
www.mouser.com/ProductDetail/Cree-Inc/C512…
-Pistola de silicona
www.walmart.com/ip/AdTech-Hi-Temp-Mini-Hot…
-Tiras adhesivas de velcro
www.amazon.com/VELCRO-Brand-90076-Fastener…
Paso 5: Comience a construir con la placa de pruebas
A0 al pin central del potenciómetro
Vin to Power on anillo Neopixel
3v3 a un lado del potenciómetro
Todos los motivos a tierra en NodeMCU
D1 al botón de solicitud
D2 para solicitar LED
D3 al botón de inicio
D4 al botón de parada
D5 a la resistencia a la entrada de Neopixel en el anillo
D6 a la resistencia a la tira de entrada Neopixel
Paso 6: Iniciar el código
Este es el código para asegurarse de que su proyecto esté funcionando hasta ahora. El temporizador solo debe ser de un par de segundos por LED en el anillo de Neopixel. Una vez que sepa que está funcionando hasta este punto, todo lo que necesita hacer es cambiar el tiempo si las declaraciones a continuación a su rango especificado. Pondré '#Change time' en cada una de las declaraciones de tiempo que necesita cambiar para su asignación de tiempo.
Probar el código:
import utime
tiempo de importación
desde la importación de la máquina ADC
máquina de importación
importar neopixel
adc = ADC (0)
pin = máquina. Pin (14, máquina. Pin. OUT)
np = neopixel. NeoPixel (pin, 12)
pin2 = máquina. Pin (12, máquina. Pin. OUT)
np2 = neopixel. NeoPixel (pin2, 8)
l1 = máquina. Pin (4, máquina. Pin. OUT)
b1 = máquina. Pin (5, máquina. Pin. IN, máquina. Pin. PULL_UP)
b3 = máquina. Pin (2, máquina. Pin. IN, máquina. Pin. PULL_UP)
b2 = máquina. Pin (0, máquina. Pin. IN, máquina. Pin. PULL_UP)
l1.valor (0)
def tglled (): # alternar la función LED de 'solicitud'
si l1.value () == 0:
l1.valor (1)
demás:
l1.valor (0)
x = 0
b1temp1 = 0
b1temp2 = 0
t = 0
b2temp1 = 0
b2temp2 = 0
b3temp1 = 0
b3temp2 = 0
s = 0
mientras que es cierto:
# Este es el botón que alterna el LED de 'solicitud'
b1temp2 = b1.value ()
si b1temp1 y no b1temp2:
tglled ()
tiempo de sueño (0.05)
b1temp1 = b1temp2
# Esta es la cuadrícula
np2 [0] = np [11]
si l1.value () == 1:
np2 [1] = (30, 0, 0)
demás:
np2 [1] = (0, 0, 30)
np2.write ()
# Aquí es donde seleccionamos cuánto tiempo necesitamos
si t == 0:
para i en el rango (-1, 12):
si (l1.value () == 0):
si (lectura adc. ()> = (85.34 * (i + 1))):
np = (0, 0, 0)
np [11] = (0, 0, 30)
s = (i + 1)
demás:
np = (0, 0, 30)
np.write ()
demás:
np = (0, 0, 0)
np.write ()
# Este es el botón para iniciar el temporizador
si (l1.value () == 0) y (t == 0):
b2temp2 = b2.value ()
si b2temp1 y no b2temp2:
x + = 1
t + = (s * 100)
tiempo de sueño (0.05)
b2temp1 = b2temp2
# Este botón finaliza el temporizador
si (l1.value () == 0):
b3temp2 = b3.value ()
si b3temp1 y no b3temp2:
x = 0
t = 0
tiempo de sueño (0.05)
b3temp1 = b3temp2
# Este es el temporizador
si x> 0:
t + = 1
if (t> 0) y (t <= 100): #Cambio de hora
np [0] = (5, 30, 0)
np [1] = (5, 30, 0)
np [2] = (5, 30, 0)
np [3] = (5, 30, 0)
np [4] = (5, 30, 0)
np [5] = (5, 30, 0)
np [6] = (5, 30, 0)
np [7] = (5, 30, 0)
np [8] = (5, 30, 0)
np [9] = (5, 30, 0)
np [10] = (5, 30, 0)
np [11] = (5, 30, 0)
np.write ()
if (t> 100) y (t <= 200): #Cambio de hora
np [0] = (0, 0, 0)
np [1] = (10, 30, 0)
np [2] = (10, 30, 0)
np [3] = (10, 30, 0)
np [4] = (10, 30, 0)
np [5] = (10, 30, 0)
np [6] = (10, 30, 0)
np [7] = (10, 30, 0)
np [8] = (10, 30, 0)
np [9] = (10, 30, 0)
np [10] = (10, 30, 0)
np [11] = (10, 30, 0)
np.write ()
if (t> 200) y (t <= 300): #Cambio de hora
np [0] = (0, 0, 0)
np [1] = (0, 0, 0)
np [2] = (15, 30, 0)
np [3] = (15, 30, 0)
np [4] = (15, 30, 0)
np [5] = (15, 30, 0)
np [6] = (15, 30, 0)
np [7] = (15, 30, 0)
np [8] = (15, 30, 0)
np [9] = (15, 30, 0)
np [10] = (15, 30, 0)
np [11] = (15, 30, 0)
np.write ()
if (t> 300) y (t <= 400): #Cambio de hora
np [0] = (0, 0, 0)
np [1] = (0, 0, 0)
np [2] = (0, 0, 0)
np [3] = (20, 30, 0)
np [4] = (20, 30, 0)
np [5] = (20, 30, 0)
np [6] = (20, 30, 0)
np [7] = (20, 30, 0)
np [8] = (20, 30, 0)
np [9] = (20, 30, 0)
np [10] = (20, 30, 0)
np [11] = (20, 30, 0)
np.write ()
if (t> 400) y (t <= 500): #Cambio de hora
np [0] = (0, 0, 0)
np [1] = (0, 0, 0)
np [2] = (0, 0, 0)
np [3] = (0, 0, 0)
np [4] = (25, 30, 0)
np [5] = (25, 30, 0)
np [6] = (25, 30, 0)
np [7] = (25, 30, 0)
np [8] = (25, 30, 0)
np [9] = (25, 30, 0)
np [10] = (25, 30, 0)
np [11] = (25, 30, 0)
np.write ()
if (t> 500) y (t <= 600): #Cambio de hora
np [0] = (0, 0, 0)
np [1] = (0, 0, 0)
np [2] = (0, 0, 0)
np [3] = (0, 0, 0)
np [4] = (0, 0, 0)
np [5] = (30, 30, 0)
np [6] = (30, 30, 0)
np [7] = (30, 30, 0)
np [8] = (30, 30, 0)
np [9] = (30, 30, 0)
np [10] = (30, 30, 0)
np [11] = (30, 30, 0)
np.write ()
si (t> 600) y (t <= 700): #Cambio de hora
np [0] = (0, 0, 0)
np [1] = (0, 0, 0)
np [2] = (0, 0, 0)
np [3] = (0, 0, 0)
np [4] = (0, 0, 0)
np [5] = (0, 0, 0)
np [6] = (30, 25, 0)
np [7] = (30, 25, 0)
np [8] = (30, 25, 0)
np [9] = (30, 25, 0)
np [10] = (30, 25, 0)
np [11] = (30, 25, 0)
np.write ()
if (t> 700) y (t <= 800): #Cambio de hora
np [0] = (0, 0, 0)
np [1] = (0, 0, 0)
np [2] = (0, 0, 0)
np [3] = (0, 0, 0)
np [4] = (0, 0, 0)
np [5] = (0, 0, 0)
np [6] = (0, 0, 0)
np [7] = (30, 20, 0)
np [8] = (30, 20, 0)
np [9] = (30, 20, 0)
np [10] = (30, 20, 0)
np [11] = (30, 20, 0)
np.write ()
if (t> 800) y (t <= 900): #Cambio de hora
np [0] = (0, 0, 0)
np [1] = (0, 0, 0)
np [2] = (0, 0, 0)
np [3] = (0, 0, 0)
np [4] = (0, 0, 0)
np [5] = (0, 0, 0)
np [6] = (0, 0, 0)
np [7] = (0, 0, 0)
np [8] = (30, 15, 0)
np [9] = (30, 15, 0)
np [10] = (30, 15, 0)
np [11] = (30, 15, 0)
np.write ()
if (t> 900) y (t <= 1000): #Cambio de hora
np [0] = (0, 0, 0)
np [1] = (0, 0, 0)
np [2] = (0, 0, 0)
np [3] = (0, 0, 0)
np [4] = (0, 0, 0)
np [5] = (0, 0, 0)
np [6] = (0, 0, 0)
np [7] = (0, 0, 0)
np [8] = (0, 0, 0)
np [9] = (30, 10, 0)
np [10] = (30, 10, 0)
np [11] = (30, 10, 0)
np.write ()
if (t> 1000) y (t <= 1100): #Cambio de hora
np [0] = (0, 0, 0)
np [1] = (0, 0, 0)
np [2] = (0, 0, 0)
np [3] = (0, 0, 0)
np [4] = (0, 0, 0)
np [5] = (0, 0, 0)
np [6] = (0, 0, 0)
np [7] = (0, 0, 0)
np [8] = (0, 0, 0)
np [9] = (0, 0, 0)
np [10] = (30, 5, 0)
np [11] = (30, 5, 0)
np.write ()
if (t> 1100) y (t <= 1200): #Cambiar hora
np [0] = (0, 0, 0)
np [1] = (0, 0, 0)
np [2] = (0, 0, 0)
np [3] = (0, 0, 0)
np [4] = (0, 0, 0)
np [5] = (0, 0, 0)
np [6] = (0, 0, 0)
np [7] = (0, 0, 0)
np [8] = (0, 0, 0)
np [9] = (0, 0, 0)
np [10] = (0, 0, 0)
np [11] = (30, 0, 0)
np.write ()
si t> = 1300: #Cambio de hora
t = 0
x = 0
Paso 7: Toques finales
Ahora, una vez que esté tan lejos, debería tener el código de trabajo cargado en NodeMCU y todas las partes conectadas a la placa de pruebas. Una vez que haya probado el código y cortado las piezas que tenga para el exterior, es decir, la carcasa cortada con láser, ahora puede soldar los cables al NodeMCU. La soldadura es opcional, pero puede hacerla más segura y más pequeña para su carcasa. Estas son algunas de las piezas cortadas con láser que hicimos.
Recomendado:
FuseLight: convierte la luz de tubo vieja / fusionada en luz de estudio / fiesta: 3 pasos (con imágenes)
FuseLight: Convierta una luz de tubo vieja / fusionada en una luz de estudio / fiesta: aquí convertí una luz de tubo fusionada en una luz de estudio / pieza usando algunas herramientas básicas, luces rgb e impresión 3D. Debido a las tiras de LED RGB utilizadas, podemos tener múltiples colores y tonos
Motor paso a paso con chanclas D y temporizador 555; la primera parte del circuito el temporizador 555: 3 pasos
Motor paso a paso con chanclas D y temporizador 555; la primera parte del circuito el temporizador 555: El motor paso a paso es un motor de CC que se mueve en pasos discretos. Se utiliza a menudo en impresoras e incluso robótica. Explicaré este circuito en pasos. La primera parte del circuito es un 555 Temporizador. Es la primera imagen (ver arriba) con un chip 555 w
Temporizador para lámpara [Temporizador De Apagado De Lampara]: 3 Pasos
Timer for Light Fixture [Temporizador De Apagado De Lampara]: Ha pasado mucho tiempo desde que publiqué mi último instructable, así que decidí publicar otro de mis proyectos electrónicos. Tengo una luminaria de dos tipos de modo de iluminación, uno para estudio que son dos tubos fluorescentes T5 de 28 vatios que están fríos wh
Microcontrolador AVR. Intermitente de LED con temporizador. Interrupciones de temporizadores. Modo CTC del temporizador: 6 pasos
Microcontrolador AVR. Intermitente de LED con temporizador. Interrupciones de temporizadores. Modo CTC del temporizador: ¡Hola a todos! Los temporizadores son un concepto importante en el campo de la electrónica. Cada componente electrónico funciona en una base de tiempo. Esta base de tiempo ayuda a mantener todo el trabajo sincronizado. Todos los microcontroladores funcionan a una frecuencia de reloj predefinida, el
Temporizador NE555 - Configuración del temporizador NE555 en una configuración estable: 7 pasos
Temporizador NE555 | Configuración del temporizador NE555 en una configuración estable: El temporizador NE555 es uno de los circuitos integrados más utilizados en el mundo de la electrónica. Tiene la forma de DIP 8, lo que significa que cuenta con 8 pines