Turinys:
- 1 veiksmas: sąveikos vaizdo įrašas
- 2 žingsnis: problemos pareiškimas
- 3 žingsnis: apžvalga, kaip tai veikia
- 4 žingsnis: medžiagų ir įrankių sąrašas
- 5 veiksmas: pradėkite kurti naudodami „Breadboard“
- 6 veiksmas: kodo paleidimas
- 7 žingsnis: Apdailos darbai
Video: Studijų kambario laikmatis: 7 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Instrukcijos, kaip sukurti laikmatį studijų kambariui.
1 veiksmas: sąveikos vaizdo įrašas
drive.google.com/file/d/12z5zQR52AXILX2AGb3EplfbmZWANZiCl/view?usp=drivesdk
2 žingsnis: problemos pareiškimas
Dažniausiai studijų kambariai visada būna užimti. Taip atsitinka todėl, kad žmonės mėgsta būti kambaryje daug ilgiau nei reikia. Mes sukūrėme laikmatį, leidžiantį kiekvienam žmogui iš viso skirti 2 valandas ir žmonėms, laukiantiems galimybės paprašyti, kad kambarys būtų kita grupė. RGB naudojimas neopikseliuose parodys likusį laiką.
3 žingsnis: apžvalga, kaip tai veikia
Laikmatį sudaro dalys, nukirstos lazeriniu pjovikliu, 3 mygtukai, 1 LED, 1 potenciometras.
Neopikseliai ir potenciometras prijungti prie „NodeMCU“. „NodeMCU“yra užprogramuotas taip, kad nustatytų, kiek pasuktas potenciometras, kad pakeistų apskritoje Neopikselio juostelėje šviečiančių šviesos diodų kiekį. Mygtukas Užklausa sustabdo funkcijos Pradėti, Sustabdyti ir Nustatyti laiką funkciją. Kambario laikmačio šviesos diodų spalva yra tokia pati kaip ir dėžutės šone šviečiančių šviesos diodų spalva. Dėžutės šone esantis neopikselis žymi pastato vestibiulio ekraną, kad žinotumėte, kuris kambarys yra užimtas ir kiek laiko liko. Kiekvienam kambariui yra skirti 2 šviesos diodai, vienas šviesos diodas reiškia, kad kambarys yra užimtas, o kitas šviesos diodas atspindi laikmačio šviesos diodų spalvą (žalia spalva yra daugiau laiko, tada geltona, tada raudona trumpiau).
4 žingsnis: medžiagų ir įrankių sąrašas
-skaidrus akrilas
-MicroUSB kabelis
www.digikey.com/product-detail/en/stewart-…
-Bandomoji Lenta
www.amazon.com/gp/product/B01EV6LJ7G/ref=o…
-Potenciometras
www.alliedelec.com/honeywell-380c32500/701…
-3 mygtukai
www.digikey.com/product-detail/en/te-conne…
-NodeMCU
www.amazon.com/gp/product/B07CB4P2XY/ref=o…
- 2 neopikselių juostelės
www.amazon.com/Lighting-Modules-NeoPixel-W…
-Rezistoriai
www.digikey.com/product-detail/en/te-conne…
- Laidai
www.digikey.com/product-detail/en/sparkfun…
-1 šviesos diodas
www.mouser.com/ProductDetail/Cree-Inc/C512…
-Karštas klijų pistoletas
www.walmart.com/ip/AdTech-Hi-Temp-Mini-Hot…
-Lipnios velcro juostelės
www.amazon.com/VELCRO-Brand-90076-Fastener…
5 veiksmas: pradėkite kurti naudodami „Breadboard“
A0 iki vidurinio potenciometro kaiščio
„Vin“įjungia „Neopixel“žiedą
3v3 į vieną potenciometro pusę
Visi pagrindai įžeminti „NodeMCU“
D1 iki užklausos mygtuko
D2 prašyti šviesos diodo
D3 iki pradžios mygtuko
D4 iki sustabdymo mygtuko
D5 į rezistorių į neopikselio įvestį žiede
D6 - neopikselio įvesties juostos rezistorius
6 veiksmas: kodo paleidimas
Tai kodas, leidžiantis įsitikinti, kad jūsų projektas veikia iki šiol. Laikmatis turėtų trukti tik kelias sekundes vienam šviesos diodui „Neopixel Ring“. Kai žinosite, kad jis veikia iki šio momento, viskas, ką jums reikia padaryti, tai pakeisti laiką, jei toliau pateikiami teiginiai, į jūsų nurodytą diapazoną. Kiekvieną kartą nurodysiu „#Change time“, jei teiginiai, kuriuos reikia pakeisti, paskirstant laiką.
Bandant kodą:
importuoti
importo laikas
iš mašinos importo ADC
importo mašina
importuoti neopikselius
adc = ADC (0)
kaištis = mašina. PIN (14, mašina. PIN. OUT)
np = neopikselis. „NeoPixel“(kaištis, 12)
pin2 = mašina. PIN (12, machine. Pin. OUT)
np2 = neopikselis. NeoPixel (pin2, 8)
l1 = mašina. PIN (4, mašina. PIN. OUT)
b1 = mašina. Pin (5, mašina. Pin. IN, mašina. Pin. PULL_UP)
b3 = mašina. Pin (2, mašina. Pin. IN, mašina. Pin. PULL_UP)
b2 = mašina. Pin (0, mašina. Pin. IN, mašina. Pin. PULL_UP)
l1.vertybė (0)
def tglled (): # perjungti „prašymo“LED funkciją
jei l1.value () == 0:
l1.vertybė (1)
Kitas:
l1.vertybė (0)
x = 0
b1temp1 = 0
b1temp2 = 0
t = 0
b2temp1 = 0
b2temp2 = 0
b3temp1 = 0
b3temp2 = 0
s = 0
nors tiesa:
# Tai yra mygtukas, perjungiantis „prašymo“šviesos diodą
b1temp2 = b1.value ()
jei b1temp1, o ne b1temp2:
tglled ()
laikas miegoti (0,05)
b1temp1 = b1temp2
# Tai tinklelis
np2 [0] = np [11]
jei l1.value () == 1:
np2 [1] = (30, 0, 0)
Kitas:
np2 [1] = (0, 0, 30)
np2.write ()
# Čia mes pasirenkame, kiek laiko mums reikia
jei t == 0:
i diapazone (-1, 12):
jei (l1.value () == 0):
jei (adc.read ()> = (85.34 * (i+1))):
np = (0, 0, 0)
np [11] = (0, 0, 30)
s = (i + 1)
Kitas:
np = (0, 0, 30)
np.write ()
Kitas:
np = (0, 0, 0)
np.write ()
# Tai mygtukas, skirtas paleisti laikmatį
jei (l1.value () == 0) ir (t == 0):
b2temp2 = b2.value ()
jei b2temp1, o ne b2temp2:
x += 1
t += (s * 100)
laikas miegoti (0,05)
b2temp1 = b2temp2
# Šis mygtukas baigia laikmatį
jei (l1.value () == 0):
b3temp2 = b3.value ()
jei b3temp1, o ne b3temp2:
x = 0
t = 0
laikas miegoti (0,05)
b3temp1 = b3temp2
# Tai yra laikmatis
jei x> 0:
t += 1
jei (t> 0) ir (t <= 100): #Keisti laiką
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 ()
jei (t> 100) ir (t <= 200): #Keisti laiką
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 ()
jei (t> 200) ir (t <= 300): #Keisti laiką
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 ()
jei (t> 300) ir (t <= 400): #Keisti laiką
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 ()
jei (t> 400) ir (t <= 500): #Keisti laiką
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 ()
jei (t> 500) ir (t <= 600): #Keisti laiką
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 ()
jei (t> 600) ir (t <= 700): #Keisti laiką
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 ()
jei (t> 700) ir (t <= 800): #Keisti laiką
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 ()
jei (t> 800) ir (t <= 900): #Keisti laiką
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 ()
jei (t> 900) ir (t <= 1000): #Keisti laiką
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 ()
jei (t> 1000) ir (t <= 1100): #Keisti laiką
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 ()
jei (t> 1100) ir (t <= 1200): #Keisti laiką
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 ()
jei t> = 1300: #Keisti laiką
t = 0
x = 0
7 žingsnis: Apdailos darbai
Dabar, kai būsite taip toli, turėtumėte įkelti „NodeMCU“darbo kodą ir visas dalis, prijungtas prie duonos lentos. Išbandę kodą ir nupjovę bet kokias išorės dalis, t. Y. Lazeriu supjaustytą korpusą, dabar galite lituoti laidus prie „NodeMCU“. Lituoti neprivaloma, tačiau jis gali būti saugesnis ir mažesnis jūsų korpusui. Čia yra keletas mūsų pagamintų lazeriu dalių.
Rekomenduojamas:
„MicroBit“kambario užimtumo skaitiklis ir valdiklis: 4 žingsniai
„MicroBit“kambario užimtumo skaitiklis ir valdiklis: Pandemijos metu vienas iš būdų sumažinti viruso perdavimą yra maksimalus fizinis atstumas tarp žmonių. Kambariuose ar parduotuvėse būtų naudinga žinoti, kiek žmonių tam tikru metu yra uždaroje erdvėje. Šiame projekte naudojama pora
Vonios kambario šviesa vidury nakties: 5 žingsniai (su nuotraukomis)
Vonios kambario šviesa viduryje: Kai kurie iš mūsų patiria poreikį naudotis vonios kambariu vidury nakties. Jei įjungsite šviesą, galite prarasti naktinį matymą. Dėl baltos arba mėlynos šviesos prarandate miego hormoną melatoniną, todėl tampa sunkiau užmigti. Taigi
Automatinis kambario šviesos ir ventiliatoriaus valdiklis su dvikrypčiu lankytojų skaitikliu: 3 žingsniai
Automatinis kambario apšvietimo ir ventiliatoriaus valdiklis su dvikrypčiu lankytojų skaitikliu: Dažnai mes matome lankytojų skaitiklius stadione, prekybos centre, biuruose, klasių kambariuose ir pan. Kaip jie skaičiuoja žmones ir įjungia arba išjungia šviesą, kai niekas nėra viduje? Šiandien mes čia su automatinio kambario šviesos valdiklio projektu su dvikrypčiu lankytojų skaitikliu
Mokyklos varpas nuotolinių studijų studentams: 6 žingsniai
Mokyklos varpas nuotolinių studijų studentams: kilus COVID-19 pandemijai, daugelis vaikų mokyklų pristatė nuotolinį pristatymą. Šis namų mokyklos skambutis yra įdomus būdas laikytis tvarkaraščio naudojant „Raspberry Pi“ir USB garsiakalbį. Galite tai padaryti su savo vaiku ir jie gali išmokti programuoti
Studijų draugas: 4 žingsniai
Studijų bičiulis: Aš sugalvojau studijų draugą, kartu sugalvodamas geresnius būdus mokytis savo klasėse. Aš sunkiai naudojuosi savo telefonu, kai turėčiau studijuoti, ir pastebėjau, kad jo išmetimas iš akių yra geriausias būdas padėti man susikaupti