Tartalomjegyzék:
- 1. lépés: Interakciós videó
- 2. lépés: Problémajelentés
- 3. lépés: A működésének áttekintése
- 4. lépés: Az anyagok és eszközök listája
- 5. lépés: Kezdje el az építést a kenyértáblával
- 6. lépés: A kód elindítása
- 7. lépés: Utolsó simítások
Videó: Tanulószoba időzítő: 7 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
Utasítások időzítő létrehozásához a dolgozószobához.
1. lépés: Interakciós videó
drive.google.com/file/d/12z5zQR52AXILX2AGb3EplfbmZWANZiCl/view?usp=drivesdk
2. lépés: Problémajelentés
A legtöbb esetben a tanulószobákat mindig elfoglalják. Ez azért történik, mert az emberek szeretnek a kelleténél jóval hosszabb ideig a szobában maradni. Úgy terveztünk egy időzítőt, hogy minden személynek összesen 2 órát és a várakozást váró személyeknek legyen lehetősége a következő csoportba kerülni. Az RGB használata a neopixelekben kifejezi a hátralévő időt.
3. lépés: A működésének áttekintése
Az időzítő a lézervágó által vágott részekből, 3 gombból, 1 LED -ből és 1 potenciométerből áll.
A neopixelek és a potenciométer be van kötve a NodeMCU -ba. A NodeMCU úgy van programozva, hogy újraszabályozza a potenciométer elforgatását, hogy megváltoztassa a kör alakú Neopixel csíkon világító LED -ek mennyiségét. A Kérés gomb leállítja a Start, Stop és Set Time funkciót. A szobában lévő időzítőn lévő LED -ek színe megegyezik a doboz oldalán világító LED -ek színével. A doboz oldalán található neopixel az épület előcsarnokában lévő kijelzőt jelzi, hogy megtudja, melyik szobát foglalja el, és mennyi idő van hátra. Minden helyiségre 2 LED -et írnak elő, az egyik LED jelzi, ha a szoba el van foglalva, a másik LED pedig az időzítő LED -jeinek színét tükrözi (a zöld több, majd a sárga, majd a piros kevesebb ideig).
4. lépés: Az anyagok és eszközök listája
-Tiszta akril
-MicroUSB kábel
www.digikey.com/product-detail/en/stewart-…
-Kenyértábla
www.amazon.com/gp/product/B01EV6LJ7G/ref=o…
-Potenciométer
www.alliedelec.com/honeywell-380c32500/701…
-3 gomb
www.digikey.com/product-detail/en/te-conne…
-NodeMCU
www.amazon.com/gp/product/B07CB4P2XY/ref=o…
- 2 neopixel csík
www.amazon.com/Lighting-Modules-NeoPixel-W…
-Ellenállások
www.digikey.com/product-detail/en/te-conne…
- Vezetékek
www.digikey.com/product-detail/en/sparkfun…
-1 LED
www.mouser.com/ProductDetail/Cree-Inc/C512…
-Ragasztópisztoly
www.walmart.com/ip/AdTech-Hi-Temp-Mini-Hot…
-Ragadós tépőzáras szalagok
www.amazon.com/VELCRO-Brand-90076-Fastener…
5. lépés: Kezdje el az építést a kenyértáblával
A0 a potenciométer középső csapjához
Vin to Power on Neopixel ring
3v3 a potenciométer egyik oldalára
Minden alap a földre a NodeMCU -n
D1 a kérés gombhoz
D2 a LED kéréséhez
D3 a Start gombra
D4 a Stop gombhoz
D5 az ellenálláshoz a Neopixel bemenethez
D6 az ellenálláshoz a Neopixel bemeneti szalaghoz
6. lépés: A kód elindítása
Ez a kód annak biztosítására, hogy a projekt eddig is működjön. Az időzítőnek csak néhány másodpercnek kell lennie a LED -en a Neopixel Ring -en. Miután megtudta, hogy ez működik, csak annyit kell tennie, hogy módosítja az alábbi állítások idejét a megadott tartományra. Minden alkalommal felteszem a "#Change time" lehetőséget, ha olyan állításokat kell módosítania, amelyeket ki kell osztania.
A kód kipróbálása:
importálás utime
importálási idő
gépimportból ADC
importáló gép
neopixel importálása
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 = gép. Pin (4, gép. 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)
11. érték (0)
def tglled (): # toggle 'request' LED funkció
ha l1.érték () == 0:
11. érték (1)
más:
11. érték (0)
x = 0
b1temp1 = 0
b1temp2 = 0
t = 0
b2temp1 = 0
b2temp2 = 0
b3temp1 = 0
b3temp2 = 0
s = 0
míg igaz:
# Ez a gomb kapcsolja be a „kérés” LED -et
b1temp2 = b1.value ()
ha b1temp1 és nem b1temp2:
tglled ()
time.sleep (0.05)
b1temp1 = b1temp2
# Ez a rács
np2 [0] = np [11]
ha l1.érték () == 1:
np2 [1] = (30, 0, 0)
más:
np2 [1] = (0, 0, 30)
np2.write ()
# Itt választjuk ki, hogy mennyi időre van szükségünk
ha t == 0:
i esetén (-1, 12):
ha (l1.érték () == 0):
ha (adc.read ()> = (85.34 * (i+1))):
np = (0, 0, 0)
np [11] = (0, 0, 30)
s = (i + 1)
más:
np = (0, 0, 30)
np.write ()
más:
np = (0, 0, 0)
np.write ()
# Ez a gomb az időzítő elindításához
ha (l1.érték () == 0) és (t == 0):
b2temp2 = b2.value ()
ha b2temp1 és nem b2temp2:
x += 1
t += (s * 100)
time.sleep (0.05)
b2temp1 = b2temp2
# Ez a gomb lezárja az időzítőt
ha (l1.érték () == 0):
b3temp2 = b3.value ()
ha b3temp1 és nem b3temp2:
x = 0
t = 0
time.sleep (0.05)
b3temp1 = b3temp2
# Ez az időzítő
ha x> 0:
t += 1
ha (t> 0) és (t <= 100): #Változás ideje
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 ()
ha (t> 100) és (t <= 200): #Változás ideje
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 ()
ha (t> 200) és (t <= 300): #Változás ideje
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 ()
ha (t> 300) és (t <= 400): #Változási idő
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 ()
ha (t> 400) és (t <= 500): #Változási idő
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 ()
ha (t> 500) és (t <= 600): #Változás ideje
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 ()
ha (t> 600) és (t <= 700): #Változás ideje
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 ()
ha (t> 700) és (t <= 800): #Változás ideje
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 ()
ha (t> 800) és (t <= 900): #Változás ideje
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 ()
ha (t> 900) és (t <= 1000): #Változás ideje
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 ()
ha (t> 1000) és (t <= 1100): #Változás ideje
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 ()
ha (t> 1100) és (t <= 1200): #Változás ideje
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 ()
ha t> = 1300: #Változás ideje
t = 0
x = 0
7. lépés: Utolsó simítások
Most, hogy idáig eljutott, fel kell töltenie a működőkódot a NodeMCU -ra, és az összes alkatrészt be kell kötni a kenyérpultra. Miután kipróbálta a kódot, és elvágta a külső részeket, azaz a lézervágott burkolatot, most forraszthatja a vezetékeket a NodeMCU -hoz. A forrasztás opcionális, de biztonságosabbá és kisebbé teheti a burkolat számára. Íme néhány lézerrel vágott alkatrész, amelyet készítettünk.
Ajánlott:
Fogkefe időzítő: 4 lépés
Fogkefe időzítő: az ötlet egy 2 személyes időmérő létrehozása a fogmosáshoz, ezért egy microbit V1 -et használtam. Segít a gyerekeimnek a fogmosásban az ajánlott időtartamig. tiszta fogaik vannak; ne habozzon
Időzítő Arduino és forgó kódolóval: 5 lépés
Időzítő Arduino és forgó kódolóval: Az időzítő gyakran használt eszköz mind az ipari, mind a háztartási tevékenységekben. Ez az összeszerelés olcsó és könnyen elkészíthető. Ezenkívül nagyon sokoldalú, és képes az igényeknek megfelelően kiválasztott program betöltésére. Számos programot írtam, Ardui számára
Alkalmazástábla 555 időzítő IC: 11 lépés
Az 555 időzítő IC alkalmazástáblája: Bevezetés: Az 555 időzítő IC az egyik leghasznosabb és legismertebb IC mindenki számára. A professzionális beágyazott hardverhordozóm két évvel ezelőtt kezdődött, és 2019 -ben az egyik megoldásom 45 különböző áramkör előkészítése 555 időzítő IC használatával
AVR mikrovezérlő. A LED -ek villognak az időzítő segítségével. Az időzítők megszakítanak. Időzítő CTC mód: 6 lépés
AVR mikrovezérlő. A LED -ek villognak az időzítő segítségével. Az időzítők megszakítanak. Időzítő CTC mód: Üdv mindenkinek! Az időzítők fontos fogalom az elektronika területén. Minden elektronikus alkatrész időalapon működik. Ez az időalap segít minden munkát szinkronban tartani. Minden mikrokontroller valamilyen előre meghatározott órajel -frekvencián működik, a
NE555 Időzítő - Az NE555 időzítő konfigurálása stabil konfigurációban: 7 lépés
NE555 Időzítő | Az NE555 időzítő konfigurálása stabil konfigurációban: Az NE555 időzítő az egyik leggyakrabban használt IC az elektronika világában. DIP 8 formában van, vagyis 8 tűvel rendelkezik