Taula de continguts:
- Pas 1: vídeo d'interacció
- Pas 2: declaració de problema
- Pas 3: Visió general de com funciona
- Pas 4: Llista de materials i eines
- Pas 5: Comenceu a construir amb el tauler de pa
- Pas 6: Inici del codi
- Pas 7: Acabat de tocs
Vídeo: Temporitzador de la sala d’estudi: 7 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
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
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:
FuseLight: converteix el tubelight antic / fusionat en llum d’estudi / festa: 3 passos (amb imatges)
FuseLight: converteix el tubelight antic / fusionat en llum d’estudi / festa: aquí he convertit un tubelight fusionat en llum d’estudi / part mitjançant algunes eines bàsiques, llums rgb i impressió 3d
Llum d'estudi LED 10000 Lumen DIY (CRI 90+): 20 passos (amb imatges)
DIY 10000 Lumen LED Light Studio Studio (CRI 90+): en aquest vídeo estic realitzant la meva segona llum LED High-CRI orientada a la fotografia i a la gravació de vídeo. En comparació amb el meu panell LED de 72W (http://bit.ly/LED72W ) és molt més eficient (la mateixa il·luminació a 50W), és més potent (100W
Motor pas a pas amb xancletes D i temporitzador 555; la primera part del circuit el temporitzador 555: 3 passos
Motor pas a pas amb xancletes D i temporitzador 555; la primera part del circuit el temporitzador 555: el motor pas a pas és un motor de corrent continu que es mou en passos discrets. S’utilitza sovint en impressores i fins i tot en robòtica. L’explicaré en passos. La primera part del circuit és un 555 temporitzador. És la primera imatge (vegeu més amunt) amb un xip 555 amb
Microcontrolador AVR. LED intermitents mitjançant el temporitzador. Interruptors temporitzadors. Mode temporitzador CTC: 6 passos
Microcontrolador AVR. LED intermitents mitjançant temporitzador. Interruptors temporitzadors. Mode temporitzador CTC: Hola a tots! Els temporitzadors són un concepte important en el camp de l'electrònica. Tots els components electrònics funcionen en una base de temps. Aquesta base de temps ajuda a mantenir tot el treball sincronitzat. Tots els microcontroladors funcionen a una freqüència de rellotge predefinida, el
Temporitzador NE555 - Configuració del temporitzador NE555 en una configuració Astable: 7 passos
Temporitzador NE555 | Configuració del temporitzador NE555 en una configuració astable: el temporitzador NE555 és un dels circuits integrats més utilitzats al món de l’electrònica. Té la forma de DIP 8, és a dir, que inclou 8 pins