Sisukord:
- 1. toiming: interaktsioonivideo
- 2. samm. Probleemi avaldus
- Samm: ülevaade selle toimimisest
- Samm: materjalide ja tööriistade loend
- Samm: hakake ehitama leivaplaadiga
- 6. samm: koodi käivitamine
- Samm 7: Viimistlus
Video: Õpperuumi taimer: 7 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
Õpetusruumi taimeri loomise juhised.
1. toiming: interaktsioonivideo
drive.google.com/file/d/12z5zQR52AXILX2AGb3EplfbmZWANZiCl/view?usp=drivesdk
2. samm. Probleemi avaldus
Enamasti võetakse alati õpperuumid. See juhtub seetõttu, et inimestele meeldib toas viibida palju kauem kui vaja. Oleme loonud taimeri, mis võimaldab igal inimesel kokku 2 tundi ja inimesi, kes ootavad võimalust taotleda ruumi järgmiseks rühmaks. RGB kasutamine neopikslitel väljendab järelejäänud aega.
Samm: ülevaade selle toimimisest
Taimer koosneb laserlõikuri lõigatud osadest, 3 nupust, 1 LED -st, 1 potentsiomeetrist.
Neopikslid ja potentsiomeeter on ühendatud NodeMCU -ga. NodeMCU on programmeeritud reguleerima potentsiomeetri pööramise kaugust, et muuta ringikujulisel Neopixel ribal süttivate LED -ide arvu. Nupp Taotlus peatab funktsiooni Start, Stop ja Set time funktsiooni. Ruumis oleva taimeri LED -de värv on sama värvi kui karbi küljel põlev LED. Karbi küljel asuv neopiksel tähistab hoone fuajees olevat väljapanekut, et teada saada, milline ruum on hõivatud ja kui palju aega on jäänud. Iga ruumi jaoks on ette nähtud 2 LED -i, üks LED tähistab ruumi võtmist ja teine LED peegeldab taimeril olevate LED -ide värvi (roheline on rohkem aega, siis kollane, seejärel punane vähem aega).
Samm: materjalide ja tööriistade loend
-Selge akrüül
-MicroUSB kaabel
www.digikey.com/product-detail/en/stewart-…
-Leivalaud
www.amazon.com/gp/product/B01EV6LJ7G/ref=o…
-Potentsiomeeter
www.alliedelec.com/honeywell-380c32500/701…
-3 nuppu
www.digikey.com/product-detail/en/te-conne…
-SõlmMCU
www.amazon.com/gp/product/B07CB4P2XY/ref=o…
- 2 neopikseli riba
www.amazon.com/Lighting-Modules-NeoPixel-W…
-Takistid
www.digikey.com/product-detail/en/te-conne…
- Juhtmed
www.digikey.com/product-detail/en/sparkfun…
-1 LED
www.mouser.com/ProductDetail/Cree-Inc/C512…
-Kuum liimipüstol
www.walmart.com/ip/AdTech-Hi-Temp-Mini-Hot…
-Kleepuvad takjaribad
www.amazon.com/VELCRO-Brand-90076-Fastener…
Samm: hakake ehitama leivaplaadiga
A0 kuni potentsiomeetri keskmise tihvtini
Vin to Power on Neopixel ring
3v3 potentsiomeetri ühele küljele
Kõik alused maapinnale NodeMCU -s
D1 taotluse nupule
D2 LED -i taotlemiseks
D3 kuni Start nupuni
D4 stopp -nupule
D5 takistile Neopixeli sisendile rõngas
D6 kuni takisti Neopixeli sisendribale
6. samm: koodi käivitamine
See on kood, mis tagab, et teie projekt töötab siiani. Taimer peaks Neopixeli rõnga LED -i jaoks olema vaid paar sekundit. Kui teate, et see töötab kuni selle hetkeni, peate vaid muutma allolevate avalduste aega teie määratud vahemikku. Kui avaldused, mida peate oma aja jaotamiseks muutma, lisan iga kord märke „#Change time”.
Koodi proovimine:
impordi utime
impordi aeg
masina impordist ADC
impordimasin
impordi neopiksel
adc = ADC (0)
pin = masin. Pin (14, masin. Pin. OUT)
np = neopiksel. NeoPixel (tihvt, 12)
pin2 = masin. Pin (12, masin. Pin. OUT)
np2 = neopiksel. NeoPixel (tihvt 2, 8)
l1 = masin. Pin (4, masin. Pin. OUT)
b1 = masin. Pin (5, masin. Pin. IN, masin. Pin. PULL_UP)
b3 = masin. Pin (2, masin. Pin. IN, masin. Pin. PULL_UP)
b2 = masin. Pin (0, masin. Pin. IN, masin. Pin. PULL_UP)
l1.väärtus (0)
def tglled (): # lülitab päringu LED -funktsiooni
kui l1.väärtus () == 0:
l1.väärtus (1)
muidu:
l1.väärtus (0)
x = 0
b1temp1 = 0
b1temp2 = 0
t = 0
b2temp1 = 0
b2temp2 = 0
b3temp1 = 0
b3temp2 = 0
s = 0
kuigi tõsi:
# See on nupp, mis lülitab päringu LED -i sisse
b1temp2 = b1.väärtus ()
kui b1temp1 ja mitte b1temp2:
tglled ()
uneaeg (0,05)
b1temp1 = b1temp2
# See on ruudustik
np2 [0] = np [11]
kui l1.väärtus () == 1:
np2 [1] = (30, 0, 0)
muidu:
np2 [1] = (0, 0, 30)
np2.write ()
# Siin valime, kui palju aega vajame
kui t == 0:
i puhul vahemikus (-1, 12):
kui (l1.väärtus () == 0):
kui (adc.read ()> = (85.34 * (i+1))):
np = (0, 0, 0)
np [11] = (0, 0, 30)
s = (i + 1)
muidu:
np = (0, 0, 30)
np.write ()
muidu:
np = (0, 0, 0)
np.write ()
# See on taimeri käivitamise nupp
kui (l1.väärtus () == 0) ja (t == 0):
b2temp2 = b2.väärtus ()
kui b2temp1 ja mitte b2temp2:
x += 1
t += (s * 100)
uneaeg (0,05)
b2temp1 = b2temp2
# See nupp lõpetab taimeri
kui (l1.väärtus () == 0):
b3temp2 = b3.väärtus ()
kui b3temp1 ja mitte b3temp2:
x = 0
t = 0
uneaeg (0,05)
b3temp1 = b3temp2
# See on taimer
kui x> 0:
t += 1
kui (t> 0) ja (t <= 100): #muuda aega
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 ()
kui (t> 100) ja (t <= 200): #muuda aega
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 ()
kui (t> 200) ja (t <= 300): #muuda aega
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 ()
kui (t> 300) ja (t <= 400): #muuda aega
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 ()
kui (t> 400) ja (t <= 500): #muuda aega
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 ()
kui (t> 500) ja (t <= 600): #muuda aega
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 ()
kui (t> 600) ja (t <= 700): #muuda aega
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 ()
kui (t> 700) ja (t <= 800): #muuda aega
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 ()
kui (t> 800) ja (t <= 900): #muuda aega
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 ()
kui (t> 900) ja (t <= 1000): #muuda aega
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 ()
kui (t> 1000) ja (t <= 1100): #muuda aega
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 ()
kui (t> 1100) ja (t <= 1200): #muuta aega
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 ()
kui t> = 1300: #Aja muutmine
t = 0
x = 0
Samm 7: Viimistlus
Nüüd, kui olete nii kaugele jõudnud, peaksite töökoodi NodeMCU -sse üles laadima ja kõik osad leivaplaadile ühendama. Kui olete koodi proovinud ja lõiganud kõik välispinna tükid, st laserlõigatud korpuse, võite nüüd juhtmed NodeMCU külge jootma hakata. Jootmine on valikuline, kuid võib muuta selle teie korpuse jaoks turvalisemaks ja väiksemaks. Siin on mõned meie tehtud laserlõigatud osad.
Soovitan:
KS-tee taimer: 4 sammu
KS-Tea-Timer: SituationYou on nt. kontoris ja soovite valmistada teed nii, nagu seda tuleks teha (nt roheline tee 2 minutit, must tee 5 minutit …), kuid mõnikord jätate lihtsalt õige aja valmistamise peatamiseks ja tee väljatoomiseks kuum vesi. See on väga
Hambaharja taimer: 4 sammu
Hambaharja taimer: idee on luua selle jaoks kahe inimese taimer hammaste harjamiseks, ma kasutasin mikrobiti V1. See aitab mu lastel soovitatud aja jooksul hambaid pesta. Kui teil on lapsi ja mikrotera ja soovite tagada neil on puhtad hambad; ära kõhkle
Taimer Arduino ja pöörleva kodeerijaga: 5 sammu
Taimer koos Arduino ja pöörleva kodeerijaga: taimer on tööriist, mida sageli kasutatakse nii tööstuses kui ka majapidamises. See komplekt on odav ja hõlpsasti valmistatav. See on ka väga mitmekülgne, võimaldades laadida vastavalt vajadustele valitud programmi. Ardui jaoks on minu kirjutatud mitu programmi
Kodutööde taimer, mille on teinud Arduino: 5 sammu
Kodutööde taimer, mille on teinud Arduino: Kas teie laps kirjutab tundide kaupa oma kodutööd? Kas teie laps saab kodutööde tegemisel teistelt kergesti häiritud? Täna proovisin sellele konfliktile parimat lahendust teha: Arduino valmistatud taimer. Miks ma proovin seda taimerit teha, mitte
14 -dollarine keerukas kohviveski taimer: 6 sammu
14 -dollarine keerukas kohviveski taimer: see projekt on minu mõne aasta eest avaldatud 7 -dollarise kohviveski taimeriga Instructable edasiarendus. Mida aeg edasi, seda enam on vaja ka keerukamat kohviveskit. Sarnaselt sellele, mida ma eelmises juhendis väitsin, on selle eesmärk