Daftar Isi:

Pengatur Waktu Ruang Belajar: 7 Langkah
Pengatur Waktu Ruang Belajar: 7 Langkah

Video: Pengatur Waktu Ruang Belajar: 7 Langkah

Video: Pengatur Waktu Ruang Belajar: 7 Langkah
Video: Ini Waktu Terbaik Untuk Belajar! #BackToSchool101 #Shorts 2024, November
Anonim
Pengatur Waktu Ruang Belajar
Pengatur Waktu Ruang Belajar
Pengatur Waktu Ruang Belajar
Pengatur Waktu Ruang Belajar
Pengatur Waktu Ruang Belajar
Pengatur Waktu Ruang Belajar

Petunjuk tentang cara membuat timer untuk ruang belajar.

Langkah 1: Video Interaksi

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

Langkah 2: Pernyataan Masalah

Sebagian besar waktu, ruang belajar selalu diambil. Ini terjadi karena orang suka tinggal di kamar lebih lama dari yang mereka butuhkan. Kami telah merancang pengatur waktu yang memungkinkan setiap orang total 2 jam dan orang yang menunggu kemampuan untuk meminta ruangan untuk menjadi grup berikutnya. Penggunaan RGB pada Neopiksel akan menunjukkan jumlah waktu yang tersisa.

Langkah 3: Ikhtisar Cara Kerja

Timer terdiri dari bagian-bagian yang dipotong oleh pemotong laser, 3 tombol, 1 LED, 1 potensiometer.

Neopiksel dan potensiometer dihubungkan ke NodeMCU. NodeMCU diprogram untuk mengatur ulang seberapa jauh potensiometer diputar untuk mengubah jumlah LED yang menyala pada strip Neopixel melingkar. Tombol Permintaan menghentikan fungsi fungsi Mulai, Berhenti, dan Atur waktu. Warna LED pada timer di dalam ruangan sama dengan warna LED yang menyala di sisi kotak. Neopiksel di sisi kotak mewakili tampilan di lobi gedung untuk mengetahui ruangan mana yang digunakan dan berapa banyak waktu yang tersisa. 2 LED ditentukan untuk setiap ruangan, satu LED mewakili jika ruangan diambil dan led lainnya mencerminkan warna LED pada timer (hijau lebih lama, lalu kuning, lalu merah lebih sedikit waktu).

Langkah 4: Daftar Bahan dan Alat

-Akrilik Bening

-Kabel MicroUSB

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

-Papan tempat memotong roti

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

-potensiometer

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

-3 tombol

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

-NodeMCU

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

- 2 Strip Neopiksel

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

-Resistor

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

- Kabel

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

-1 LED

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

-Pistol Lem Panas

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

-Strip Velcro Lengket

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

Langkah 5: Mulai Membangun Dengan Breadboard

Mulai Membangun Dengan Papan Tempat memotong roti
Mulai Membangun Dengan Papan Tempat memotong roti

A0 ke pin tengah pada Potensiometer

Vin untuk Menghidupkan cincin Neopixel

3v3 ke satu sisi Potensiometer

Semua alasan ke Ground di NodeMCU

D1 untuk Meminta Tombol

D2 untuk Meminta LED

D3 ke Tombol Mulai

Tombol D4 untuk Berhenti

D5 ke resistor ke Neopixel Input pada ring

D6 ke resistor ke strip Input Neopixel

Langkah 6: Memulai Kode

Ini adalah kode untuk memastikan proyek Anda berfungsi sejauh ini. Timer seharusnya hanya beberapa detik per LED pada Neopixel Ring. Setelah Anda tahu itu berfungsi sampai titik ini, yang perlu Anda lakukan hanyalah mengubah pernyataan waktu jika di bawah ini ke rentang yang Anda tentukan. Saya akan mencantumkan '#Ubah waktu' pada setiap pernyataan waktu yang perlu Anda ubah untuk alokasi waktu Anda.

Mencoba Kode:

impor waktu

waktu impor

dari mesin impor ADC

mesin impor

impor neopiksel

adc = ADC(0)

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

np = neopixel. NeoPixel(pin, 12)

pin2 = mesin. Pin(12, mesin. Pin. OUT)

np2 = neopixel. NeoPixel(pin2, 8)

l1 = mesin. Pin(4, mesin. Pin. OUT)

b1 = mesin. Pin(5, mesin. Pin. IN, mesin. Pin. PULL_UP)

b3 = mesin. Pin(2, mesin. Pin. IN, mesin. Pin. PULL_UP)

b2 = mesin. Pin(0, mesin. Pin. IN, mesin. Pin. PULL_UP)

l1.nilai(0)

def tglled(): # beralih fungsi LED 'permintaan'

jika l1.nilai() == 0:

l1.nilai(1)

lain:

l1.nilai(0)

x = 0

b1temp1 = 0

b1temp2 = 0

t = 0

b2temp1 = 0

b2temp2 = 0

b3temp1 = 0

b3temp2 = 0

s = 0

sementara Benar:

# Ini adalah tombol yang mengaktifkan LED 'permintaan'

b1temp2 = b1.nilai()

jika b1temp1 dan bukan b1temp2:

tglled()

waktu.tidur(0.05)

b1temp1 = b1temp2

# Ini gridnya

np2[0] = np[11]

jika l1.nilai() == 1:

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

lain:

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

np2.tulis()

# Di sinilah kita memilih berapa banyak waktu yang kita butuhkan

jika t == 0:

untuk saya dalam rentang (-1, 12):

jika (l1.nilai() == 0):

jika (adc.read() >= (85,34 * (i+1))):

np = (0, 0, 0)

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

s = (i + 1)

lain:

np = (0, 0, 30)

np.tulis()

lain:

np = (0, 0, 0)

np.tulis()

# Ini adalah tombol untuk memulai penghitung waktu

jika (l1.value() == 0) dan (t == 0):

b2temp2 = b2.nilai()

jika b2temp1 dan bukan b2temp2:

x + = 1

t += (s * 100)

waktu.tidur(0.05)

b2temp1 = b2temp2

# Tombol ini mengakhiri penghitung waktu

jika (l1.nilai() == 0):

b3temp2 = b3.nilai()

jika b3temp1 dan bukan b3temp2:

x = 0

t = 0

waktu.tidur(0.05)

b3temp1 = b3temp2

# Ini adalah pengatur waktu

jika x > 0:

t + = 1

jika (t > 0) dan (t <= 100): #Ubah waktu

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

jika (t > 100) dan (t <= 200): #Ubah waktu

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

jika (t > 200) dan (t <= 300): #Ubah waktu

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

jika (t > 300) dan (t <= 400): #Ubah waktu

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

jika (t > 400) dan (t <= 500): #Ubah waktu

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

jika (t > 500) dan (t <= 600): #Ubah waktu

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

jika (t > 600) dan (t <= 700): #Ubah waktu

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

jika (t > 700) dan (t <= 800): #Ubah waktu

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

jika (t > 800) dan (t <= 900): #Ubah waktu

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

jika (t > 900) dan (t <= 1000): #Ubah waktu

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

jika (t > 1000) dan (t <= 1100): #Ubah waktu

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

jika (t > 1100) dan (t <= 1200): #Ubah waktu

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

jika t >= 1300: #Ubah waktu

t = 0

x = 0

Langkah 7: Sentuhan Akhir

Sekarang, setelah Anda sejauh ini, Anda harus memiliki kode kerja yang diunggah ke NodeMCU dan semua bagian terhubung ke papan tempat memotong roti. Setelah Anda mencoba kode dan memotong bagian apa pun yang Anda miliki untuk eksterior, yaitu casing potong laser, Anda sekarang dapat menyolder kabel ke NodeMCU. Penyolderan bersifat opsional tetapi dapat membuatnya lebih aman dan lebih kecil untuk casing Anda. Berikut adalah beberapa bagian laser cut yang kami buat.

Direkomendasikan: