Satura rādītājs:
- 1. darbība: mijiedarbības video
- 2. darbība. Paziņojums par problēmu
- 3. darbība. Pārskats par tā darbību
- 4. solis: Materiālu un instrumentu saraksts
- 5. darbība: sāciet veidot ar maizes dēli
- 6. darbība: koda palaišana
- 7. solis: apdares darbi
Video: Mācību telpas taimeris: 7 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
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
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:
Mācību līdzeklis roku mazgāšanai: 11 soļi
Mācību līdzeklis roku mazgāšanai: Es izveidoju šo projektu universitātes kursam. Produkta mērķis ir stiprināt labus roku mazgāšanas paradumus bērniem. Katru reizi, kad izlietne tiek ieslēgta, tiek aktivizēts ķēdes rotaļu laukums, un pēc tam, ja tiek izdalītas ziepes, ķēdes rotaļu laukuma ieraksts
Kritiskā roku mazgāšanas soļu mācību mašīna: 5 soļi
Kritiskā roku mazgāšanas soļu mācību mašīna: šī ir mašīna, kas lietotājam atgādina par darbībām, kad viņam/viņai ir jānomazgā rokas. Šīs mašīnas mērķis ir palīdzēt cilvēkiem saprast, kā pareizi un efektīvi mazgāt rokas. Epidēmiju vai pandēmiju novēršanas periodos
Mācību palīgs un tā materiāli: 4 soļi
Mācību palīgs un tā materiāli: Objektam es daru ierīci, lai palīdzētu cilvēkiem labāk mācīties un studentiem būtu vairāk pārtraukumu, ierīcei sensors varētu saskaitīt, cik daudz laika jūs mācījāties, cik daudz pārtraukuma jūs varētu un cik daudz laika bija studentam
1. daļa ARM asambleja TI RSLK Robotikas apguves mācību programma 7. STM32 kodols: 16 soļi
1. daļa ARM asambleja TI RSLK Robotikas apguves mācību programma 7. STM32 Nucleo: Šīs pamācības uzmanības centrā ir STM32 Nucleo mikrokontrolleris. Motivācija tam, lai varētu izveidot montāžas projektu no kailiem kauliem. Tas palīdzēs mums iedziļināties un izprast MSP432 Launchpad projektu (TI-RSLK), kuram ir
Standarti, kritēriji un mācību mērķi: 5 soļi
Standarti, etaloni un mācību mērķi: Šī pamācība palīdzēs studentam izveidot autostāvvietas sensoru, izmantojot arduino. Konkrētāk, man būs ultraskaņas sensors, kas nepārtraukti aptaujās attālumu, un kopā ar nelielu kodu, kas ņem šo attālumu un nodod to