Daftar Isi:

Jam Alarm Cahaya DIY: 7 Langkah
Jam Alarm Cahaya DIY: 7 Langkah

Video: Jam Alarm Cahaya DIY: 7 Langkah

Video: Jam Alarm Cahaya DIY: 7 Langkah
Video: Cara Setting Jam Meja Digital Alarm Weker 2024, November
Anonim
Jam Alarm Ringan DIY
Jam Alarm Ringan DIY
Jam Alarm Ringan DIY
Jam Alarm Ringan DIY
Jam Alarm Ringan DIY
Jam Alarm Ringan DIY

Pernahkah Anda ingin mencoba salah satu jam alarm mewah yang meniru matahari terbit untuk membangunkan Anda? Apakah Anda ingin menambahkan beberapa lampu berwarna ke kamar Anda? Apakah Anda ingin mengontrol semuanya dari perangkat apa pun dengan browser internet? Kemudian lihat jam alarm yang saya buat menggunakan apa yang saya pelajari membangun pengumpan ikan otomatis saya.

Fungsi utama Alarm Cahaya adalah untuk memastikan ada cahaya di kamar saya ketika saya bangun, terutama di musim dingin yang biasanya masih gelap. Cahaya memudar untuk jangka waktu yang telah ditentukan yang berakhir dengan kecerahan penuh pada waktu alarm yang disetel. Tapi itu hanya mode pertama, ada 7 mode pencahayaan lain untuk dimainkan!

Alarm Cahaya dikendalikan melalui halaman HTML yang di-host di papan ESP-8266-12e. Itu dapat diakses dari jaringan rumah Anda atau dikonfigurasi untuk diakses dari mana saja di internet dengan penerusan porta.

Langkah 1: Bahan:

  • Papan ESP-8266-12e (NodeMCU)
  • Arduino IDE terbaru
  • Perpustakaan diperlukan untuk kode yang diinstal
  • Notepad++ (untuk mengedit HTML jika Anda mau)
  • Peramban (saya menggunakan chrome, tetapi apa pun akan berfungsi, terutama jika itu memungkinkan Anda melihat kode html berfungsi)
  • Printer 3D dengan area build minimal 150mm x 150mm
  • Filamen plastik putih atau bening (untuk naungan, dudukannya bisa warna apa saja yang Anda miliki)
  • 4 digit tampilan 7-segmen dengan chip TM1637, saya menggunakan salah satunya
  • Strip LED RGBW beralamat 1 meter, sk6812. Strip saya memiliki 60LED/meter, tetapi tidak lagi dijual. Kode arduino diatur untuk RGBW, jadi Anda harus menulis ulang jika ingin menggunakan strip RGB. Saya akan merekomendasikan strip dengan setidaknya 60LED.
  • JIKA strip tidak memiliki lapisan perekat: selotip dan lem super
  • Protoboard untuk memasang papan
  • Kabel 24AWG (Saya merekomendasikan beberapa warna)
  • Setidaknya 6 kaki kabel untuk daya. Saya sarankan menggunakan apa pun yang dijual toko perangkat keras lokal Anda untuk lampu atas meja.
  • Catu daya 5V, saya menggunakan yang ini
  • Jangan lupa adaptor untuk catu daya
  • Solder Besi
  • Kabel USB untuk memprogram papan
  • lem panas
  • Pin header (Pria dan Wanita)
  • Kesabaran

Langkah 2: Memprogram Papan

Board akan memiliki dua set kode di dalamnya, kode arduino biasa yang berjalan dan kode HTML yang dikirimkan ke browser Anda. Anda mengunggah kode arduino seperti yang Anda lakukan dengan papan lainnya. HTML, bagaimanapun, memerlukan plug-in untuk diunggah ke memori SPIFF di papan tulis.

Untuk tutorial tentang cara menggunakan SPIFF, lihat

Untuk cara mengunggah kode HTML, lihat https://www.esp8266.com/viewtopic.php?f=32&t=10081, Anda perlu memasang plugin ke arduino untuk melakukannya.

HTML perlu disimpan ke folder di folder proyek arduino yang disebut 'data'.

Mengunggah HTML membutuhkan waktu beberapa menit, saya dapat memainkan satu atau dua balapan online di Mario Kart 8 sambil menunggu. Karena itu, jika Anda membuat perubahan pada HTML, gunakan notepad++ untuk mengedit dan meletakkan file ke browser seperti chrome untuk mengujinya.

Langkah 3: Cara Kerja Kode

Cara Kerja Kode
Cara Kerja Kode
Cara Kerja Kode
Cara Kerja Kode

Kode dalam proyek ini dipisahkan menjadi dua file: Kode yang dijalankan oleh papan, dan HTML yang disimpan dalam memori papan yang dikirimkan ke browser saat Anda membuka halaman web.

Saat Anda menghubungkan papan ke daya, kode papan dimulai, seperti arduino lainnya. Ini terhubung ke WiFi rumah Anda dan kemudian menghubungi server NIST untuk mendapatkan waktu saat ini untuk mengatur jam internal. Setelah jam diatur, server web dimulai dan Anda dapat terhubung melalui browser favorit Anda.

Anda harus terhubung dengan alamat IP papan, jadi pastikan untuk memesan IP statis di router Anda. Saya juga mengubah port pada lampu saya, jadi untuk menghubungkan saya menavigasi ke 192.168.0.170:301/. Jika Anda ingin terhubung ke lampu Anda dari mana saja di dunia, Anda harus mengatur penerusan porta pada router Anda. Anda kemudian harus terhubung ke alamat IP yang Anda lihat saat terhubung ke https://www.whatsmyip.org/ dan port tempat Anda mengatur IP lokal lampu.

Setelah Anda terhubung, papan mengirimkan file HTML ke browser Anda, yang menerjemahkannya dan menampilkan halaman. Perubahan yang Anda buat tidak memengaruhi papan sampai Anda menekan salah satu tombol. di halaman web. Saat Anda menekan tombol, browser Anda mengirimkan formulir html ke papan dengan pengaturan saat ini dan papan mengadopsi pengaturan tersebut dan mengatur tampilan.

Pengaturannya cukup lurus ke depan. Skala halaman dengan lebar browser Anda dan memang terlihat sedikit lebih baik di seluler. Untuk mengubah tampilan halaman pengaturan, Anda harus mengedit HTML, dan ada banyak tutorial online lainnya untuk itu. Karena ini pertama kalinya saya menggunakan HTML, saya kebanyakan belajar menggunakan

Saat halaman dimuat, Anda akan melihat empat tombol, penggeser, dan menu tarik-turun. Tombol atas adalah tombol utama "masuk" atau "terlibat". Dua tombol berikutnya mengaktifkan tampilan waktu digital dan apakah itu menampilkan waktu dalam format 12 jam atau 24 jam. Penggeser mengontrol kecerahan jam digital, dan itu diperbarui setiap kali Anda mengaktifkan mode tampilan atau menyalakan jam. Tombol terakhir seharusnya mematikan semua lampu, tetapi untuk beberapa alasan itu tidak berfungsi dengan versi kode ini. Sebaliknya, menekan tombol "Libatkan" tanpa pengaturan yang dipilih akan mematikan lampu.

Menu tarik-turun berisi 7 mode sistem, memilih salah satu akan menampilkan pengaturan yang diperlukan di bawah ini.

  • Modus 1: Alarm. Masukkan waktu yang Anda inginkan agar cahaya mencapai kecerahan penuh dan berapa lama Anda ingin fade in dalam menit bilangan bulat. Standarnya adalah 6:00:00 dan 15 menit. Cahaya akan tetap pada kecerahan penuh untuk jumlah waktu yang sama ketika memudar sebelum mati secara otomatis. Default dapat diubah dalam kode HTML.
  • Mode 2: Jam Analog. Pilih tiga warna untuk mewakili jarum jam, menit, dan detik pada jam analog. Penggeser di atas tiga pemilih warna akan secara otomatis memasukkan warna dingin atau hangat yang telah ditetapkan sebelumnya jika diatur ke kiri atau kanan, masing-masing. Jika penggeser disetel ke kiri atau ke kanan, lalu dikembalikan ke tengah, maka pemilih warna semuanya disetel ke hitam (0, 0, 0, 0) [R, G, B, W]. Ketika warna semua-nol dikirim ke papan, itu diacak. *Hal ini dapat menyebabkan lampu berkedip berlebihan.* Jika Anda ingin lampu tetap mati, menyetel nilai apa pun ke 1 akan menghasilkan 'hitam' (semua nilai default ke 1 (01, 01, 01, 01) saat pemilih warna diinisialisasi). Pemilih warna dan penggeser RGB ditautkan, sedangkan penggeser W independen.
  • Modus 3: Warna. Pilih satu warna untuk mengatur lampu. Ini akan tetap ada sampai diubah oleh pengguna.
  • Mode 4: Siklus Warna. Pilih tiga warna untuk digilir dan masukkan waktu untuk menahan setiap warna. Metode yang sama berlaku untuk memilih warna seperti dalam Mode 2. Warna acak bekerja paling baik dengan mode ini.
  • Mode 5: Silinder Warna. Pilih tiga warna (sama seperti sebelumnya) dan RPM silinder. Lampu akan ditampilkan sebagai pola garis-garis yang berputar di sekitar sumbu. pada RPM yang Anda pilih. RPM default adalah 60, atau 1 putaran/detik. Warna acak dapat menyebabkan lampu berkedip!
  • Mode 6: Pusaran Warna. Atur tiga warna dan RPM. Mode ini tidak sempurna, tetapi idenya adalah bahwa lampu berputar sepanjang waktu. Ada keacakan bawaan, jadi sebaiknya gunakan penggeser suhu untuk memilih apakah pusaran mulai hangat atau dingin.
  • Modus 7: Pelangi. Atur kecepatan Siklus, RPM cukup tidak berguna di sini. Ini adalah contoh yang dibuat sebelumnya dari Perpustakaan Neopixel dengan beberapa pengeditan untuk memungkinkan papan tetap merespons input pengguna.

Setelah pengaturan dipilih, menekan tombol apa saja akan mengirim formulir HTML ke papan, yang menggunakan nilai dalam formulir untuk mengubah pengaturan tampilan. Tombol "Libatkan" mengirimkan semua pengaturan, sedangkan dua tombol jam hanya mengirim kecerahan jam. Tombol "mati" seharusnya hanya mematikan strip LED, namun ada bug yang mencegahnya berfungsi. Menekan "Libatkan" tanpa mengubah pengaturan apa pun tampaknya berfungsi sebagai gantinya. Setelah papan menguraikan pengaturan, itu mengarahkan browser Anda ke halaman HTML awal.

Catatan: Mengatur waktu alarm mengubah mode sistem ke 1, yang akan menghentikan mode apa pun yang berjalan sebelumnya dan mengatur ulang semua pengaturan. Namun, memulai mode yang berbeda setelah menyetel waktu alarm tidak mengubah waktu yang telah Anda atur, sehingga Anda dapat menyetel alarm dan kemudian memulai mode baru. Jika mode baru tidak dimatikan sebelum alarm mulai memudar dalam cahaya putih, ini dapat menyebabkan berkedip. Untuk mencegah hal ini, papan hard-code untuk mematikan semua lampu dan mengatur mode sistem ke 1 (alarm) pada pukul 2 pagi tanpa mengubah waktu alarm yang disetel. Batas waktu yang sulit ini dapat diubah dalam kode arduino.

Langkah 4: Menyiapkan Jaringan Anda dan Menghubungkan

Menyiapkan Jaringan Anda dan Menghubungkan
Menyiapkan Jaringan Anda dan Menghubungkan

Langkah ini agak kabur karena setiap router berbeda. Google model router khusus Anda untuk menemukan pengaturan yang perlu Anda ubah.

Anda perlu masuk ke router Anda dan mungkin mengaktifkan mode lanjutan. Di router saya, saya harus pergi ke DHCP Server untuk memesan alamat IP. Temukan alamat MAC ESP8266 Anda; itu akan menjadi yang ada di daftar klien DHCP (atau yang setara dengan router Anda) yang hilang setiap kali Anda mencabut ESP.

Gunakan alamat MAC untuk memesan alamat IP lampu. Pastikan entri diaktifkan jika router Anda memiliki pengaturan itu.

Jika Anda ingin terhubung dari luar jaringan pribadi Anda, Anda harus google router Anda untuk mengetahui cara mengatur penerusan porta.

Langkah 5: Bagian yang Dicetak 3D

Bagian yang dicetak harus sesuai dengan sebagian besar printer. Ada dua bagian: mount dan shade.

Mount adalah tempat strip LED dililitkan, dalam pola spiral, dan diameternya sedemikian rupa sehingga strip 60-LED, 1 meter harus membungkus 3 kali dan semua LED harus sejajar secara aksial. Jika Anda menggunakan strip di mana LED ditempatkan secara berbeda dan tidak sejajar pada dudukan seperti seharusnya, ubah diameter dengan model yang disediakan. Diameternya adalah C/pi, di mana C adalah keliling dan 1/3 panjang strip. Bukaan setengah lingkaran di sisi dinding dudukan memungkinkan kabel daya dan aliran udara melewatinya. Penyangga silang memberikan kekakuan dan permukaan untuk menerapkan strip perintah untuk pemasangan.

Tempat teduh memiliki gesekan yang pas dengan dudukan, dan ada takik untuk menyelaraskan bayangan dengan dudukan. Takik harus berada pada posisi jam 12 atau 6 saat dipasang di dinding, dan tampilan jam 7 segmen harus sejajar dengan takik. Bayangan bertindak sebagai diffuser untuk lampu dan sebagai hasilnya sangat tipis. Saya mencetaknya dengan nozel.5mm, dan sebagian besar printer komersial dilengkapi dengan nozel.4mm sehingga seharusnya ada beberapa masalah, tetapi pastikan untuk memeriksa alat pengiris Anda untuk memastikan bayangan akan dicetak dengan benar. Juga pastikan untuk menggunakan plastik putih atau transparan untuk naungan. Warna lain akan mendistorsi warna lampu atau menghalangi terlalu banyak cahaya.

Pastikan untuk memeriksa apakah tampilan jam digital yang Anda gunakan pas di tempat teduh. Ini dirancang agar pas di tempat dengan jarak yang cukup untuk kabel jam. Gunakan model untuk mengubah dudukan jam. Saat mengganti model bayangan, pastikan untuk menjaga ketebalan muka depan di bawah 1mm, sehingga jam terlihat melaluinya dengan sedikit difusi.

Langkah 6: Pengkabelan dan Perakitan Papan

Perakitan Kabel dan Papan
Perakitan Kabel dan Papan
Perakitan Kabel dan Papan
Perakitan Kabel dan Papan
Perakitan Kabel dan Papan
Perakitan Kabel dan Papan

Papan dan kabel jauh lebih rumit daripada pengumpan ikan saya. Cukup solder beberapa baris pin header perempuan ke protoboard untuk ESP-8266-12e untuk duduk, serta dua baris pin kepala laki-laki untuk memasang daya. Saya menyolder dua kabel data jam dan kabel data strip LED ke pin masing-masing di protoboard, dan semua kabel daya dan ground disolder ke rel daya masing-masing yang saya buat di bagian belakang papan.

Sisi lain dari kabel ini harus berupa tajuk perempuan untuk jam dan konektor strip LED untuk strip LED. Anda mungkin perlu menyolder pin pria ke jam dan saya merekomendasikan pin miring untuk itu. Kabel strip LED dan kabel daya harus diarahkan ke sisi dinding papan (sisi dengan ESP) dan kabel jam harus diarahkan ke sisi depan (di mana semua sambungan solder berada).

Untuk saluran listrik, saya menggunakan 6 kaki dari 16-26 kawat tembaga terdampar. Itu agak tebal jadi saya membagi setiap kabel di antara tiga pin perempuan untuk terhubung ke rel listrik dan ground. Sisi lain harus berupa konektor apa pun yang Anda dapatkan untuk catu daya Anda.

Lem panas semua sambungan solder yang terbuka (terutama pada kabel daya, dan TERUTAMA jika ada tembaga yang terbuka seperti milik saya) untuk mengisolasi semuanya dari korsleting yang tidak disengaja. Anda juga dapat merekatkan jam ke papan (bagian belakang jam ke sisi papan solder), tetapi saya menemukan bahwa ini adalah sambungan yang lemah dan tidak terlalu diperlukan setelah semuanya dipasang.

Gulung strip LED di sekitar bagian luar dudukan. PASTIKAN untuk menguji strip dalam mode 2 untuk memeriksa apakah jam analog berjalan ke arah yang benar. Pastikan untuk meninggalkan celah ~5 mm dari tepi depan untuk naungan. LED pertama strip (LED warna detik muncul di bagian atas setiap menit, di salah satu ujung strip) berjalan pada posisi jam 12. ketika lampu dipasang ke dinding. Saat Anda memasang strip LED, gunakan bagian perekatnya (jika ada) atau lem untuk menempelkannya ke dudukan. Lem super akan bekerja paling baik jika strip tidak memiliki lapisan perekat. Gunakan selotip untuk menahan strip di tempatnya saat menguji dan saat lem mengering.

Masukkan kabel LED melalui lubang setengah lingkaran ke dudukan untuk terhubung ke papan. Kabel daya juga disambungkan ke sini, pastikan untuk memilih lubang yang tidak dapat ditarik kabel karena gravitasi atau tarikan yang tidak disengaja.

Langkah 7: Pemasangan

Untuk memasang ke dinding, cukup gunakan strip perintah 3-4 3M, atau sebanyak yang Anda suka. Gunakan takik di dudukan untuk memeriksa apakah sudah rata. Setelah dudukan dipasang, sambungkan kabel daya dan kabel LED ke papan, dan masukkan jam ke dalam naungan. Kemudian, cukup pasang naungan ke dudukan dan colokkan kabel daya ke catu daya!

Direkomendasikan: