Satura rādītājs:

Mācību telpas taimeris: 7 soļi
Mācību telpas taimeris: 7 soļi

Video: Mācību telpas taimeris: 7 soļi

Video: Mācību telpas taimeris: 7 soļi
Video: Такахару Тезука: Самый лучший детский сад на свете 2024, Novembris
Anonim
Studiju telpas taimeris
Studiju telpas taimeris
Studiju telpas taimeris
Studiju telpas taimeris
Studiju telpas taimeris
Studiju telpas taimeris

Instrukcijas, kā izveidot taimeri mācību telpai.

1. darbība: mijiedarbības video

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

2. darbība. Paziņojums par problēmu

Lielāko daļu laika mācību telpas vienmēr tiek izmantotas. Tas notiek tāpēc, ka cilvēkiem patīk uzturēties telpā daudz ilgāk, nekā nepieciešams. Mēs esam izstrādājuši taimeri, kas ļauj katrai personai kopā pavadīt 2 stundas un cilvēkiem, kuri gaida iespēju pieprasīt telpu kā nākamo grupu. RGB izmantošana neopikselos izsaka atlikušo laiku.

3. darbība. Pārskats par tā darbību

Taimeris sastāv no lāzera griezēja sagrieztām daļām, 3 pogām, 1 LED, 1 potenciometra.

Neopikseļi un potenciometrs ir savienoti ar NodeMCU. NodeMCU ir ieprogrammēts tā, lai regulētu, cik tālu ir pagriezts potenciometrs, lai mainītu gaismas diodes, kas tiek iedegtas uz apļveida Neopixel sloksnes. Poga Pieprasīt aptur funkcijas Sākt, Apturēt un Iestatīt laiku funkciju. Gaismas diodes krāsa uz taimera istabas iekšpusē ir tāda pati kā gaismas diodes krāsa, kas iedegas kastes sānos. Neopikselis kastes sānos attēlo displeju ēkas vestibilā, lai uzzinātu, kura telpa ir aizņemta un cik daudz laika ir atlicis. Katrai telpai ir paredzētas 2 gaismas diodes, viena gaismas diode norāda, ja telpa ir uzņemta, bet otra gaismas diode atspoguļo taimera gaismas diodes krāsu (zaļš ir vairāk laika, tad dzeltens, pēc tam sarkans īsāku laiku).

4. solis: Materiālu un instrumentu saraksts

-Skaidrs akrils

-MicroUSB kabelis

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

-Maizes dēlis

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

-Potenciometrs

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

-3 pogas

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

-NodeMCU

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

- 2 neopikselu sloksnes

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

-Rezistori

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

- Vadi

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

-1 gaismas diode

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

-Karstā līmes pistole

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

-Lipīgas Velcro sloksnes

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

5. darbība: sāciet veidot ar maizes dēli

Sāciet veidot ar maizes dēli
Sāciet veidot ar maizes dēli

A0 līdz potenciometra vidējai tapai

Vin uz Power uz Neopixel gredzenu

3v3 uz vienu potenciometra pusi

Visi pamati uz zemes uz NodeMCU

D1 līdz pieprasījuma pogai

D2, lai pieprasītu LED

D3 līdz pogai Sākt

D4 līdz apturēšanas pogai

D5 pret rezistoru uz Neopixel ievadi gredzenā

D6 pret rezistoru līdz Neopixel ievades joslai

6. darbība: koda palaišana

Šis ir kods, lai pārliecinātos, ka jūsu projekts līdz šim darbojas. Taimerim vajadzētu būt tikai dažām sekundēm uz neopikselu gredzena gaismas diodi. Tiklīdz jūs zināt, ka tas darbojas līdz šim brīdim, viss, kas jums jādara, ir mainīt laiku, ja tālāk minētie paziņojumi atbilst jūsu norādītajam diapazonam. Es katru reizi ievietošu “#Change time”, ja paziņojumi, kas jums ir jāmaina jūsu laika piešķiršanai.

Izmēģiniet kodu:

importēt laiku

importa laiks

no mašīnas importēšanas ADC

importa mašīna

importēt neopikselu

adc = ADC (0)

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

np = neopikselis. NeoPixel (pin, 12)

pin2 = mašīna. Pin (12, machine. Pin. OUT)

np2 = neopikselis. NeoPixel (pin2, 8)

l1 = mašīna. Pin (4, mašīna. Pin. OUT)

b1 = mašīna. 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.vērtība (0)

def tglled (): # pārslēgt pieprasījuma LED funkciju

ja l1.value () == 0:

11. vērtība (1)

cits:

l1.vērtība (0)

x = 0

b1temp1 = 0

b1temp2 = 0

t = 0

b2temp1 = 0

b2temp2 = 0

b3temp1 = 0

b3temp2 = 0

s = 0

kamēr taisnība:

# Šī ir poga, kas pārslēdz pieprasījuma LED

b1temp2 = b1.value ()

ja b1temp1, nevis b1temp2:

tglled ()

miega laiks (0,05)

b1temp1 = b1temp2

# Šis ir režģis

np2 [0] = np [11]

ja l1.value () == 1:

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

cits:

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

np2.write ()

# Šeit mēs izvēlamies, cik daudz laika mums vajag

ja t == 0:

i diapazonā (-1, 12):

ja (l1.vērtība () == 0):

ja (adc.read ()> = (85.34 * (i+1))):

np = (0, 0, 0)

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

s = (i + 1)

cits:

np = (0, 0, 30)

np.write ()

cits:

np = (0, 0, 0)

np.write ()

# Šī ir poga taimera palaišanai

ja (l1.vērtība () == 0) un (t == 0):

b2temp2 = b2.value ()

ja b2temp1, nevis b2temp2:

x += 1

t += (s * 100)

miega laiks (0,05)

b2temp1 = b2temp2

# Šī poga izslēdz taimeri

ja (l1.vērtība () == 0):

b3temp2 = b3.value ()

ja b3temp1, nevis b3temp2:

x = 0

t = 0

miega laiks (0,05)

b3temp1 = b3temp2

# Šis ir taimeris

ja x> 0:

t += 1

ja (t> 0) un (t <= 100): #Mainīt laiku

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

ja (t> 100) un (t <= 200): #Mainīt laiku

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

ja (t> 200) un (t <= 300): #Mainīt laiku

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

ja (t> 300) un (t <= 400): #Mainīt laiku

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

ja (t> 400) un (t <= 500): #Mainīt laiku

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

ja (t> 500) un (t <= 600): #Mainīt laiku

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

ja (t> 600) un (t <= 700): #Mainīt laiku

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

ja (t> 700) un (t <= 800): #Mainīt laiku

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

ja (t> 800) un (t <= 900): #Mainīt laiku

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

ja (t> 900) un (t <= 1000): #Mainīt laiku

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

ja (t> 1000) un (t <= 1100): #Mainīt laiku

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

ja (t> 1100) un (t <= 1200): #Mainīt laiku

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

ja t> = 1300: #Mainīt laiku

t = 0

x = 0

7. solis: apdares darbi

Tagad, kad esat tik tālu, jums vajadzētu augšupielādēt darba kodu NodeMCU un visas daļas, kas savienotas ar maizes dēli. Kad esat izmēģinājis kodu un izgriezis visus gabalus, kas jums ir paredzēti ārpusei, ti, lāzera griezuma korpusam, tagad varat pielodēt vadus NodeMCU. Lodēšana nav obligāta, taču tā var padarīt to drošāku un mazāku jūsu korpusam. Šeit ir dažas no mūsu izgatavotajām lāzera griezuma detaļām.

Ieteicams: