Sisällysluettelo:
- Vaihe 1: Vuorovaikutusvideo
- Vaihe 2: Ongelmailmoitus
- Vaihe 3: Yleiskatsaus sen toimintaan
- Vaihe 4: Luettelo materiaaleista ja työkaluista
- Vaihe 5: Aloita rakentaminen leipälevyn avulla
- Vaihe 6: Koodin käynnistäminen
- Vaihe 7: Viimeistely
Video: Työhuoneen ajastin: 7 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
Ohjeet ajastimen luomiseen työhuoneeseen.
Vaihe 1: Vuorovaikutusvideo
drive.google.com/file/d/12z5zQR52AXILX2AGb3EplfbmZWANZiCl/view?usp=drivesdk
Vaihe 2: Ongelmailmoitus
Suurimman osan ajasta opiskeluhuoneet otetaan aina. Tämä johtuu siitä, että ihmiset haluavat pysyä huoneessa paljon pidempään kuin he tarvitsevat. Olemme suunnitelleet ajastimen, joka sallii jokaiselle henkilölle yhteensä 2 tuntia ja ihmisille, jotka odottavat kykyä pyytää tilaa seuraavaksi ryhmäksi. RGB: n käyttö Neopikseleissä ilmaisee jäljellä olevan ajan.
Vaihe 3: Yleiskatsaus sen toimintaan
Ajastin koostuu laserleikkurin leikkaamista osista, 3 painikkeesta, 1 LEDistä ja 1 potentiometristä.
Neopikselit ja potentiometri on kytketty NodeMCU: hon. NodeMCU on ohjelmoitu säätämään, kuinka pitkälle potentiometri on käännetty muuttaakseen pyöreässä Neopixel -nauhassa syttyvien LED -valojen määrää. Pyyntö -painike pysäyttää Käynnistä, Pysäytä ja Aseta aika -toiminnon. Huoneen ajastimen LED -valojen väri on sama kuin laatikon sivussa palavien LED -valojen väri. Laatikon sivussa oleva neopikseli edustaa rakennuksen aulassa olevaa näyttöä, joka tietää, mikä huone on varattu ja kuinka paljon aikaa on jäljellä. Jokaiselle huoneelle on määrätty kaksi LEDiä, joista yksi osoittaa, jos huone on otettu, ja toinen LED heijastaa ajastimen LEDien väriä (vihreä on enemmän aikaa, sitten keltainen ja sitten punainen vähemmän aikaa).
Vaihe 4: Luettelo materiaaleista ja työkaluista
-Kirkas akryyli
-MicroUSB -kaapeli
www.digikey.com/product-detail/en/stewart-…
-Leipälauta
www.amazon.com/gp/product/B01EV6LJ7G/ref=o…
-Potentiometri
www.alliedelec.com/honeywell-380c32500/701…
-3 painiketta
www.digikey.com/product-detail/en/te-conne…
-SolmuMCU
www.amazon.com/gp/product/B07CB4P2XY/ref=o…
- 2 Neopixel -nauhaa
www.amazon.com/Lighting-Modules-NeoPixel-W…
-Vastukset
www.digikey.com/product-detail/en/te-conne…
- Johdot
www.digikey.com/product-detail/en/sparkfun…
-1 LED
www.mouser.com/ProductDetail/Cree-Inc/C512…
-Kuuma liimapistooli
www.walmart.com/ip/AdTech-Hi-Temp-Mini-Hot…
-Tarttuvat tarranauhat
www.amazon.com/VELCRO-Brand-90076-Fastener…
Vaihe 5: Aloita rakentaminen leipälevyn avulla
A0 potentiometrin keskitappiin
Vin to Power päälle Neopixel -rengas
3v3 potentiometrin toiselle puolelle
Kaikki perusteet maahan NodeMCU: lla
D1 pyyntöpainikkeeseen
D2 pyytää LED -valoa
D3 käynnistyspainikkeeseen
D4 pysäytyspainikkeeseen
D5 vastus Neopixel Input renkaassa
D6 vastus Neopixel -tuloliuskalle
Vaihe 6: Koodin käynnistäminen
Tämä on koodi, jolla varmistat, että projektisi toimii toistaiseksi. Ajastimen tulisi olla vain pari sekuntia neopikselirenkaan LEDiä kohti. Kun tiedät, että se toimii tähän asti, sinun tarvitsee vain muuttaa alla olevien lausuntojen aika määrittämääsi alueeseen. Laitan "#Change time" joka kerta, jos lausunnot, jotka sinun on muutettava aikasi jakamiseksi.
Koodin kokeilu:
tuoda aikaa
tuonnin aika
koneen tuonnista ADC
tuontikone
tuo neopikseli
adc = ADC (0)
nasta = kone. Pin (14, kone. Pin. OUT)
np = neopikseli NeoPixel (nasta, 12)
pin2 = machine. Pin (12, machine. Pin. OUT)
np2 = neopixel. NeoPixel (nasta2, 8)
l1 = kone. Pin (4, kone. Pin. OUT)
b1 = kone. Pin (5, kone. Pin. IN, kone. Pin. PULL_UP)
b3 = kone. Pin (2, kone. Pin. IN, kone. Pin. PULL_UP)
b2 = kone. Pin (0, kone. Pin. IN, kone. Pin. PULL_UP)
11.arvo (0)
def tglled (): # toggle 'request' LED -toiminto
jos l1.arvo () == 0:
11.arvo (1)
muu:
11.arvo (0)
x = 0
b1temp1 = 0
b1temp2 = 0
t = 0
b2temp1 = 0
b2temp2 = 0
b3temp1 = 0
b3temp2 = 0
s = 0
vaikka totta:
# Tämä on painike, joka vaihtaa pyyntö -LED -valon
b1temp2 = b1.arvo ()
jos b1temp1 eikä b1temp2:
tglled ()
aika. unta (0,05)
b1temp1 = b1temp2
# Tämä on ruudukko
np2 [0] = np [11]
jos l1.arvo () == 1:
np2 [1] = (30, 0, 0)
muu:
np2 [1] = (0, 0, 30)
np2.write ()
# Tässä valitsemme kuinka paljon aikaa tarvitsemme
jos t == 0:
i alueella (-1, 12):
jos (l1.arvo () == 0):
jos (adc.read ()> = (85.34 * (i+1))):
np = (0, 0, 0)
np [11] = (0, 0, 30)
s = (i + 1)
muu:
np = (0, 0, 30)
np.write ()
muu:
np = (0, 0, 0)
np.write ()
# Tällä painikkeella käynnistät ajastimen
jos (l1.arvo () == 0) ja (t == 0):
b2temp2 = b2.value ()
jos b2temp1 eikä b2temp2:
x += 1
t += (s * 100)
aika. unta (0,05)
b2temp1 = b2temp2
# Tämä painike lopettaa ajastimen
jos (l1.arvo () == 0):
b3temp2 = b3.value ()
jos b3temp1 eikä b3temp2:
x = 0
t = 0
aika. unta (0,05)
b3temp1 = b3temp2
# Tämä on ajastin
jos x> 0:
t += 1
jos (t> 0) ja (t <= 100): #Vaihda aikaa
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 ()
jos (t> 100) ja (t <= 200): #Vaihda aikaa
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 ()
jos (t> 200) ja (t <= 300): #Vaihda aikaa
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 ()
jos (t> 300) ja (t <= 400): #Vaihda aikaa
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 ()
jos (t> 400) ja (t <= 500): #Vaihda aikaa
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 ()
jos (t> 500) ja (t <= 600): #Vaihda aikaa
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 ()
jos (t> 600) ja (t <= 700): #Vaihda aikaa
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 ()
jos (t> 700) ja (t <= 800): #Vaihda aikaa
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 ()
jos (t> 800) ja (t <= 900): #Vaihda aikaa
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 ()
jos (t> 900) ja (t <= 1000): #Vaihda aikaa
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 ()
jos (t> 1000) ja (t <= 1100): #Vaihda aikaa
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 ()
jos (t> 1100) ja (t <= 1200): #Vaihda aikaa
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 ()
jos t> = 1300: #Muuta aikaa
t = 0
x = 0
Vaihe 7: Viimeistely
Nyt kun olet niin kaukana, sinun pitäisi ladata työkoodi NodeMCU: hon ja kaikki osat, jotka on kytketty leipälautaan. Kun olet kokeillut koodia ja leikannut kaikki palaset ulkopuolelta, eli laserleikatusta kotelosta, voit nyt juottaa johdot NodeMCU: lle. Juotos on valinnainen, mutta se voi tehdä siitä turvallisemman ja pienemmän kotelollesi. Tässä on joitain tekemiämme laserleikattuja osia.
Suositeltava:
KS-tee-ajastin: 4 vaihetta
KS-tee-ajastin: Tilanne Olet esim. toimistossa ja haluat keittää teetä kuten pitäisi (esim. vihreää teetä 2 minuuttia, mustaa teetä 5 minuuttia …), mutta joskus vain unohdat oikean ajan lopettaa valmistuksen ja ottaa teesi pois kuuma vesi. Se on hyvin
Hammasharjan ajastin: 4 vaihetta
Tooth Brush Timer: ajatuksena on luoda 2 hengen ajastin hammasharjausta varten tätä varten, käytin microbit V1: tä, joka auttaa lapsiani harjaamaan hampaitaan suositellun ajan. Jos sinulla on lapsia ja micr: bit ja haluat varmistaa heillä on puhtaat hampaat; älä epäröi
Ajastin Arduinolla ja kiertokooderilla: 5 vaihetta
Ajastin Arduinolla ja kiertokooderilla: Ajastin on työkalu, jota käytetään usein sekä teollisuudessa että kotitalouksissa. Tämä kokoonpano on halpa ja helppo valmistaa. Olen kirjoittanut useita ohjelmia Arduille
14 dollarin hienostunut kahvimyllyn ajastin: 6 vaihetta
14 dollarin edistyksellinen kahvimyllyn ajastin: Tämä projekti on edistysaskeleeni muutama vuosi sitten julkaistusta 7 dollarin kahvimyllyajastimesta Instructable. Ajan myötä kehittyneemmän kahvimyllyn tarve kasvaa. Samanlainen kuin mitä totesin viimeisessä Instructable -ohjelmassa, tämän tavoitteen
Askelmoottori, jossa D -varvastossut ja 555 -ajastin; piirin ensimmäinen osa 555 -ajastin: 3 vaihetta
Askelmoottori, jossa D -varvastossut ja 555 -ajastin; piirin ensimmäinen osa 555 -ajastin: Askelmoottori on tasavirtamoottori, joka liikkuu erillisinä vaiheina, ja sitä käytetään usein tulostimissa ja jopa robotiikassa. Selitän tämän piirin vaiheittain. ajastin. Se on ensimmäinen kuva (katso yllä), jossa on 555 siru ja