Taula de continguts:

Temporitzador de la sala d’estudi: 7 passos
Temporitzador de la sala d’estudi: 7 passos

Vídeo: Temporitzador de la sala d’estudi: 7 passos

Vídeo: Temporitzador de la sala d’estudi: 7 passos
Vídeo: Las cámaras de tu iPhone 13 Pro Max a FONDO🔥 2024, Juliol
Anonim
Temporitzador de la sala d’estudi
Temporitzador de la sala d’estudi
Temporitzador de la sala d’estudi
Temporitzador de la sala d’estudi
Temporitzador de la sala d’estudi
Temporitzador de la sala d’estudi

Instruccions sobre com crear un temporitzador per a una sala d’estudi.

Pas 1: vídeo d'interacció

drive.google.com/file/d/12z5zQR52AXILX2AGb3EplfbmZWANZiCl/view?usp=drivesdk

Pas 2: declaració de problema

La majoria de les vegades, sempre es fan sales d’estudi. Això passa perquè a la gent li agrada romandre a l’habitació molt més temps del que necessiten. Hem dissenyat un temporitzador que permet a cada persona un total de 2 hores i persones que esperen la possibilitat de sol·licitar que l'habitació sigui el grup següent. L'ús de RGB a Neopixels expressarà la quantitat de temps que queda.

Pas 3: Visió general de com funciona

El temporitzador consta de peces tallades pel tallador làser, 3 botons, 1 LED, 1 potenciòmetre.

El Neopixels i el potenciòmetre estan connectats al NodeMCU. El NodeMCU està programat per regonitzar fins a quin punt es gira el potenciòmetre per canviar la quantitat de LED que s’encenen a la tira circular de Neopixel. El botó Sol·licita atura la funció de la funció Inici, Atura i Configuració del temps. El color dels LED del temporitzador a l’interior de l’habitació és del mateix color del LED encès al lateral de la caixa. El neopíxel al lateral de la caixa representa la pantalla del vestíbul de l'edifici per saber quina habitació es pren i quant de temps queda. Es prescriuen 2 LED per a cada habitació, un LED representa si es pren l'habitació i l'altre LED reflecteix el color dels LED del temporitzador (el verd és més temps, després el groc i, després, el vermell durant menys temps).

Pas 4: Llista de materials i eines

-Acrílic clar

-Cable MicroUSB

www.digikey.com/product-detail/en/stewart-…

-Pissarra

www.amazon.com/gp/product/B01EV6LJ7G/ref=o…

-Potentiòmetre

www.alliedelec.com/honeywell-380c32500/701…

-3 botons

www.digikey.com/product-detail/en/te-conne…

-NodeMCU

www.amazon.com/gp/product/B07CB4P2XY/ref=o…

- 2 tires de Neopixel

www.amazon.com/Lighting-Modules-NeoPixel-W…

-Resistors

www.digikey.com/product-detail/en/te-conne…

- Filferros

www.digikey.com/product-detail/en/sparkfun…

-1 LED

www.mouser.com/ProductDetail/Cree-Inc/C512…

-Pistola de cola calenta

www.walmart.com/ip/AdTech-Hi-Temp-Mini-Hot…

-Tiras de velcro enganxoses

www.amazon.com/VELCRO-Brand-90076-Fastener…

Pas 5: Comenceu a construir amb el tauler de pa

Comenceu a construir amb el tauler de pa
Comenceu a construir amb el tauler de pa

A0 al pin central del potenciòmetre

Vin to Power on Neopixel ring

3v3 a un costat del potenciòmetre

Tots els terrenys a terra a NodeMCU

Botó D1 per sol·licitar

D2 per sol·licitar LED

D3 al botó d'inici

D4 al botó Atura

D5 per resistir a l'entrada de Neopixel a l'anell

D6 per resistir a la tira d'entrada de Neopixel

Pas 6: Inici del codi

Aquest és el codi per assegurar-vos que el vostre projecte funciona fins ara. El temporitzador només ha de ser d'un parell de segons per LED a l'anell Neopixel. Un cop hàgiu sabut que funciona fins ara, només cal que canvieu el temps si les sentències següents es mostren al vostre interval especificat. Posaré "#Change time" a cada una de les declaracions que hagueu de canviar per a l'assignació de temps.

Prova del codi:

importar utime

temps d'importació

des de la importació de màquines ADC

màquina d'importació

importar neopixel

adc = ADC (0)

pin = machine. Pin (14, machine. Pin. OUT)

np = neopixel. NeoPixel (pin, 12)

pin2 = machine. Pin (12, machine. Pin. OUT)

np2 = neopixel. NeoPixel (pin2, 8)

l1 = machine. Pin (4, machine. Pin. OUT)

b1 = machine. Pin (5, machine. Pin. IN, machine. Pin. PULL_UP)

b3 = machine. Pin (2, machine. Pin. IN, machine. Pin. PULL_UP)

b2 = machine. Pin (0, machine. Pin. IN, machine. Pin. PULL_UP)

l1.value (0)

def tglled (): # commuta la funció LED de "sol·licitud"

si l1.value () == 0:

l1.value (1)

en cas contrari:

l1.value (0)

x = 0

b1temp1 = 0

b1temp2 = 0

t = 0

b2temp1 = 0

b2temp2 = 0

b3temp1 = 0

b3temp2 = 0

s = 0

mentre que és cert:

# Aquest és el botó que commuta el LED de "sol·licitud"

b1temp2 = b1.value ()

si b1temp1 i no b1temp2:

tglled ()

time.sleep (0,05)

b1temp1 = b1temp2

# Aquesta és la graella

np2 [0] = np [11]

si l1.value () == 1:

np2 [1] = (30, 0, 0)

en cas contrari:

np2 [1] = (0, 0, 30)

np2.write ()

# Aquí és on seleccionem quant de temps necessitem

si t == 0:

per a l’interval (-1, 12):

if (l1.value () == 0):

if (adc.read ()> = (85,34 * (i + 1))):

np = (0, 0, 0)

np [11] = (0, 0, 30)

s = (i + 1)

en cas contrari:

np = (0, 0, 30)

np.write ()

en cas contrari:

np = (0, 0, 0)

np.write ()

# Aquest és el botó per iniciar el temporitzador

si (l1.value () == 0) i (t == 0):

b2temp2 = b2.value ()

si b2temp1 i no b2temp2:

x + = 1

t + = (s * 100)

time.sleep (0,05)

b2temp1 = b2temp2

# Aquest botó finalitza el temporitzador

if (l1.value () == 0):

b3temp2 = b3.value ()

si b3temp1 i no b3temp2:

x = 0

t = 0

time.sleep (0,05)

b3temp1 = b3temp2

# Aquest és el temporitzador

si x> 0:

t + = 1

if (t> 0) i (t <= 100): #Canviar el temps

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) i (t <= 200): #Canviar el temps

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) i (t <= 300): #Canviar el temps

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) i (t <= 400): #Change time

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) i (t <= 500): #Canviar el temps

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) i (t <= 600): #Canviar el temps

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 ()

if (t> 600) i (t <= 700): #Canviar el temps

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) i (t <= 800): #Canviar el temps

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) i (t <= 900): #Canviar el temps

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) i (t <= 1000): #Canviar el temps

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) i (t <= 1100): #Change time

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) i (t <= 1200): #Canviar el temps

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: #Canviar l'hora

t = 0

x = 0

Pas 7: Acabat de tocs

Ara, un cop arribeu fins aquí, haureu de carregar el codi de treball al NodeMCU i connectar totes les parts a la taula de treball. Un cop provat el codi i tallat les peces que tingueu a l’exterior, és a dir, la carcassa tallada amb làser, ara podeu soldar els cables al NodeMCU. La soldadura és opcional, però pot fer-la més segura i reduïda per a la carcassa. Aquí teniu algunes de les peces tallades amb làser que hem fabricat.

Recomanat: