Daftar Isi:

LEDura - Jam LED Analog: 12 Langkah (dengan Gambar)
LEDura - Jam LED Analog: 12 Langkah (dengan Gambar)

Video: LEDura - Jam LED Analog: 12 Langkah (dengan Gambar)

Video: LEDura - Jam LED Analog: 12 Langkah (dengan Gambar)
Video: LEDura (Demonstration) : LED clock using Arduino and addressable LED ring 2024, Juli
Anonim
LEDura - Jam LED Analog
LEDura - Jam LED Analog
LEDura - Jam LED Analog
LEDura - Jam LED Analog
LEDura - Jam LED Analog
LEDura - Jam LED Analog

Proyek Tinkercad »

Setelah lama hanya membuat berbagai proyek, saya memutuskan untuk membuat instruksi sendiri. Untuk yang pertama, saya akan memandu Anda melalui proses pembuatan jam analog Anda sendiri yang dibuat dengan cincin LED beralamat yang mengagumkan. Cincin bagian dalam menunjukkan jam, cincin luar menunjukkan menit dan detik.

Selain menunjukkan waktu, jam juga bisa menampilkan suhu ruangan dan bisa menjadi hiasan yang sangat bagus di dalam ruangan. Setiap 15 menit, jam juga membuat beberapa efek khusus – video menunjukkan semuanya, pastikan untuk memeriksanya. Dengan bantuan 2 tombol dan potensiometer, pengguna dapat memilih antara mode yang berbeda dan mengubah warna sesuai keinginannya. Saya juga mengupgradenya untuk meredupkan LED secara otomatis jika ruangan menjadi gelap, sehingga pengguna tidak akan terganggu pada malam hari.

Jam dapat diletakkan di meja, meja tempat tidur atau digantung di dinding.

Catatan: Gambar tidak sebagus tampilan aslinya karena kecerahan tinggi.

Langkah 1: Bagaimana Cara Membacanya?

Bagaimana Cara Membacanya?
Bagaimana Cara Membacanya?

Jam memiliki 2 dering - yang lebih kecil untuk menampilkan jam dan yang lebih besar untuk menampilkan menit dan detik. Beberapa LED menyala sepanjang waktu - yang disebut kompas yang menunjukkan posisi jam utama. Pada dering jam itu mewakili jam 3, 6, 9 dan 12'o, pada dering menit itu mewakili 15, 30, 45 dan 0 menit.

Langkah 2: Apa yang Anda Butuhkan

Apa yang Anda Butuhkan?
Apa yang Anda Butuhkan?

Bahan:

  • 1x Arduino Nano (Anda dapat menggunakan Arduino lain juga)
  • 1x DS3231 modul RealTimeClock
  • 1x cincin led yang dapat dialamatkan - 60 LED
  • 1x cincin led yang dapat dialamatkan - 24 LED
  • 2x Tombol (TIDAK - biasanya terbuka)
  • Potensiometer 1x 100kOhm
  • 1x 5V power supply (mampu memberikan 1 Amp)
  • 1x konektor Pasokan
  • Beberapa kabel
  • 1x 10kOhm resistor
  • 1x Fotoresistor

  • Prefboard (opsional)
  • Konektor kabel blok terminal (opsional)
  • Kayu tebal 25mm, ukuran minimal 22cmx22cm
  • 1mm tikar plastik PVC ukuran 20cmx20xm

Peralatan:

  • Alat dasar untuk membangun elektronik (besi solder, tang, obeng, …)
  • Mesin bor
  • Pistol lem panas
  • Kertas pasir dan beberapa pernis kayu
  • Mesin CNC (mungkin ada teman yang punya)

Langkah 3: Komponen Elektronik - Latar Belakang

Komponen Elektronik - Latar Belakang
Komponen Elektronik - Latar Belakang
Komponen Elektronik - Latar Belakang
Komponen Elektronik - Latar Belakang
Komponen Elektronik - Latar Belakang
Komponen Elektronik - Latar Belakang

DS3231

Kami dapat menentukan waktu menggunakan Arduinos build in oscillator dan timer, tetapi saya memutuskan untuk menggunakan modul Real Time Clock (RTC) khusus, yang dapat melacak waktu bahkan jika kami memutuskan jam dari sumber dayanya. Papan DS3231 memiliki baterai, yang menyediakan daya saat modul tidak terhubung ke catu daya. Ini juga lebih tepat pada periode waktu yang lebih lama daripada sumber jam Arduino.

DS3231 RTC menggunakan antarmuka I2C untuk berkomunikasi dengan mikrokontroler – sangat mudah digunakan dan kita hanya membutuhkan 2 kabel untuk berkomunikasi dengannya. Modul juga menyediakan sensor suhu, yang akan digunakan dalam proyek ini.

Penting: Jika Anda berencana menggunakan baterai yang tidak dapat diisi ulang untuk modul RTC, Anda harus melepas solder resistor 200 ohm atau dioda 1N4148. Jika tidak, baterai Anda mungkin akan meledak. Informasi lebih lanjut dapat ditemukan di tautan ini.

Cincin LED WS2812

Saya memutuskan untuk menggunakan 60 cincin LED untuk melacak menit dan 24 cincin LED selama berjam-jam. Anda dapat menemukannya di Adafruit (cincin neoPixel) atau beberapa versi murah di eBay, Aliexpress atau toko web lainnya. Ada keragaman besar di antara strip led yang dapat dialamatkan dan jika ini adalah pertama kalinya Anda bermain-main dengannya, saya sarankan Anda untuk membaca beberapa deskripsi penggunaan - berikut adalah beberapa tautan yang berguna:

https://www.tweaking4all.com/hardware/arduino/adr…

https://randomnerdtutorials.com/guide-for-ws2812b…

Strip LED beralamat memiliki 3 konektor: 5V, GND dan DI/DO. Dua yang pertama adalah untuk menyalakan LED, yang terakhir adalah untuk data. Hati-hati saat menghubungkan ring ke Arduino – jalur data Anda harus terhubung ke pin DI (data IN).

Arduino

Saya menggunakan Arduino Nano karena kecil dan cukup memadai untuk proyek ini. Anda dapat menggunakan hampir semua Arduino lain, tetapi Anda harus berhati-hati saat menghubungkan semuanya. Tombol dan cincin LED dapat berada pada pin yang sama, tetapi konektor I2C (untuk modul RTC) mungkin berbeda dari satu platform ke platform lainnya – lihat lembar datanya.

Langkah 4: Elektronik - Catu Daya

Elektronik - Catu Daya
Elektronik - Catu Daya

Arduino dan strip LED sama-sama harus disuplai dengan sumber listrik 5V agar kita tahu tegangan mana yang dibutuhkan. Karena LED berdering, itu menarik cukup banyak amp, kami tidak dapat menyalakannya secara langsung dengan Arduino, yang dapat menahan maksimal 20mA pada output digitalnya. Dengan pengukuran saya, cincin LED bersama-sama dapat menarik hingga 500 mA. Itu sebabnya saya membeli adaptor yang mampu memasok hingga 1A.

Dengan catu daya yang sama, kami ingin memberi daya pada Arduino dan LED - di sini Anda harus berhati-hati.

Peringatan! Berhati-hatilah saat Anda menguji strip LED – adaptor daya TIDAK boleh terhubung ke Arduino, ketika Arduino juga terhubung ke PC dengan konektor USB (Anda dapat merusak port USB komputer Anda).

Catatan: Dalam skema di bawah ini saya menggunakan sakelar normal untuk memilih apakah Arduino ditenagai melalui catu daya atau melalui konektor USB. Tetapi di perfboard Anda dapat melihat bahwa saya menambahkan pin header untuk memilih dari mana sumber daya Arduino ditenagai.

Langkah 5: Elektronik - Solder

Elektronik - Solder
Elektronik - Solder
Elektronik - Solder
Elektronik - Solder
Elektronik - Solder
Elektronik - Solder
Elektronik - Solder
Elektronik - Solder

Ketika Anda mengumpulkan semua bagian, inilah saatnya untuk menyoldernya bersama-sama.

Karena saya ingin membuat pengkabelan rapi, saya menggunakan perfboard dan beberapa konektor blok terminal untuk kabel, jadi saya bisa mencabutnya jika ada modifikasi. Ini opsional - Anda juga dapat menyolder kabel langsung ke Arduino.

Tip: lebih mudah jika Anda mencetak skema sehingga Anda memilikinya di depan Anda saat menyolder. Dan periksa kembali semuanya sebelum menghubungkan ke catu daya.

Langkah 6: Perangkat Lunak - Latar Belakang

Arduino IDE

Kami akan memprogram Arduino dengan perangkat lunak khusus: Arduino IDE. Jika Anda bermain dengan Arduino untuk pertama kalinya, saya sarankan Anda untuk memeriksa beberapa instruksi tentang cara melakukannya. Sudah ada banyak tutorial di web, jadi saya tidak akan membahas detailnya.

Perpustakaan

Saya memutuskan untuk menggunakan perpustakaan FastLED daripada Adafruit yang populer. Ini memiliki beberapa fungsi matematika yang rapi yang dengannya Anda dapat melakukan efek hebat (Acungi jempol untuk pengembang!). Anda dapat menemukan perpustakaan di repositori GitHub mereka, tetapi saya menambahkan file.zip versi yang saya gunakan dalam kode saya.

Jika Anda bertanya-tanya, bagaimana cara menambahkan perpustakaan eksternal ke Arduino IDE, Anda dapat memeriksa beberapa instruksi yang sudah dibuat

Untuk modul jam saya menggunakan perpustakaan Arduino untuk DS3231 real-time clock (RTC) (tautan), yang dapat Anda instal dengan mudah di Arduino IDE. Saat Anda berada di IDE, klik Sketsa → Sertakan pustaka → Kelola pustaka… lalu filter pencarian Anda dengan nama di atas.

Catatan: Untuk beberapa alasan saat ini saya tidak dapat menambahkan file.zip. Anda dapat menemukan perpustakaan di repositori GitHub saya.

Langkah 7: Perangkat Lunak - Kode

Perangkat Lunak - Kode
Perangkat Lunak - Kode
Perangkat Lunak - Kode
Perangkat Lunak - Kode

Struktur

Aplikasi ini dibangun dengan 4 file:

  • LEDclokc.ino Ini adalah aplikasi Arduino utama, di mana Anda dapat menemukan fungsi untuk mengontrol seluruh jam – mereka mulai dengan awalan CLOCK_.
  • LEDclokc.h di sini adalah definisi koneksi pin dan beberapa konfigurasi jam.
  • ring.cpp dan ring.h di sini adalah kode saya untuk mengontrol cincin LED.

LEDclock.h

Di sini Anda akan menemukan semua definisi jam. Pada awalnya, ada definisi untuk pengkabelan. Pastikan mereka sama dengan koneksi Anda. Lalu ada konfigurasi jam – di sini Anda dapat menemukan makro untuk jumlah mode yang dimiliki jam.

LEDclock.ino

Pada diagram, loop utama diwakili. Kode pertama memeriksa apakah ada tombol yang ditekan. Karena sifat switch, kita harus menggunakan metode debbouncing untuk membaca nilainya (Anda dapat membaca lebih lanjut tentang ini di tautan).

Saat tombol 1 ditekan, mode variabel dinaikkan 1, jika tombol 2 ditekan, tipe variabel dinaikkan. Kami menggunakan variabel ini untuk menentukan, mode jam mana yang ingin kami lihat. Jika kedua tombol ditekan secara bersamaan, fungsi CLOCK_setTime() dipanggil sehingga Anda dapat mengubah waktu jam.

Kemudian kode membaca nilai potensiometer dan menyimpannya ke dalam variabel – pengguna variabel ini dapat mengubah warna jam, kecerahan, dll.

Lalu ada pernyataan switch-case. Di sini kita menentukan di mana mode jam saat ini, dan dengan mode itu, fungsi yang sesuai dipanggil, yang mengatur warna LED. Anda dapat menambahkan mode jam Anda sendiri dan menulis ulang atau memodifikasi fungsinya.

Seperti yang dijelaskan di pustaka FastLED, Anda harus memanggil fungsi FastLED.show() di bagian akhir, yang mengubah LED ke warna yang sebelumnya kita atur.

Anda dapat menemukan deskripsi yang jauh lebih rinci di antara baris kode

Seluruh kode terlampir di bawah ini dalam file di bawah ini.

TIP: Anda dapat menemukan seluruh proyek di repositori GitHub saya. Di sini kode juga akan diperbarui jika saya akan menambahkan perubahan apa pun padanya.

Langkah 8: Buat Jam

Membuat Jam
Membuat Jam
Membuat Jam
Membuat Jam
Membuat Jam
Membuat Jam

Bingkai jam

Saya membuat rangka jam menggunakan mesin CNC dan kayu setebal 25mm. Anda dapat menemukan sketsa yang digambar di ProgeCAD terlampir di bawah. Slot untuk cincin LED sedikit lebih besar, karena pabrikan hanya menyediakan pengukuran diameter luar – bagian dalam dapat sangat bervariasi… Di bagian belakang jam, ada banyak ruang untuk elektronik dan kabel.

Cincin PVC

Karena LED cukup terang, ada baiknya untuk menyebarkannya entah bagaimana. Pertama saya mencoba dengan silikon transparan, yang berfungsi menyebarkan, tetapi cukup berantakan dan sulit untuk membuatnya halus di atasnya. Itu sebabnya saya memesan sepotong plastik PVC "susu" berukuran 20x20 cm dan memotong dua cincin di dalamnya dengan mesin CNC. Anda dapat menggunakan amplas untuk melunakkan ujungnya sehingga cincin bisa masuk ke dalam slot.

Lubang samping

Kemudian saatnya mengebor lubang untuk tombol, potensiometer, dan konektor catu daya. Pertama, gambar setiap posisi dengan pensil, lalu bor lubangnya. Di sini tergantung jenis tombol apa yang Anda miliki – saya menggunakan tombol tekan dengan kepala sedikit melengkung. Mereka memiliki diameter 16mm jadi saya menggunakan bor kayu dengan ukuran itu. Hal yang sama berlaku untuk potensiometer dan konektor daya. Pastikan untuk menghapus semua gambar pensil setelahnya.

Langkah 9: Menggambar di Kayu

Menggambar di Kayu
Menggambar di Kayu
Menggambar di Kayu
Menggambar di Kayu
Menggambar di Kayu
Menggambar di Kayu

Saya memutuskan untuk menggambar beberapa indikator jam di kayu – di sini Anda dapat menggunakan imajinasi dan desain Anda sendiri. Saya membakar kayu menggunakan besi solder, dipanaskan sampai suhu maksimal.

Agar lingkaran menjadi bulat dengan baik, saya menggunakan sepotong aluminium, mengebor lubang ke dalamnya dan mengikuti tepi lubang dengan besi solder (lihat gambar). Pastikan Anda memegang aluminium dengan kuat, agar tidak tergelincir saat menggambar. Dan berhati-hatilah saat melakukannya untuk mencegah cedera.

Jika Anda sedang membuat gambar dan ingin mereka disejajarkan dengan baik dengan piksel jam, Anda dapat menggunakan "Mode Pemeliharaan" yang akan menunjukkan di mana piksel akan ditempatkan (buka bab Merakit).

Lindungi kayu

Ketika Anda puas dengan jam, saatnya untuk mengampelasnya dan melindunginya dengan pernis kayu. Saya menggunakan amplas yang sangat lembut (nilai 500) untuk menghaluskan tepinya. Saya sarankan Anda menggunakan pernis kayu transparan, agar warna kayu tidak berubah. Letakkan sedikit pernis pada sikat dan tarik ke arah semusim di kayu. Ulangi minimal 2 kali.

Langkah 10: Merakit

merakit
merakit
merakit
merakit
merakit
merakit

Pertama-tama letakkan tombol dan potensiometer pada posisinya – jika lubang Anda terlalu besar, Anda dapat menggunakan lem panas untuk memperbaikinya. Kemudian letakkan strip cincin di slotnya dan sambungkan kabelnya ke Arduino. Sebelum Anda merekatkan cincin LED ke tempatnya, ada baiknya untuk memastikan bahwa piksel LED berada di tempat yang tepat – di tengah dan sejajar dengan gambar. Untuk itu saya menambahkan apa yang disebut mode Pemeliharaan yang akan menampilkan semua piksel penting (0, 5, 10, 15, … pada dering menit dan 3, 6, 9 dan 12 pada dering jam). Anda dapat memasuki mode ini dengan menekan dan menahan kedua tombol, sebelum mencolokkan catu daya ke konektor. Anda dapat keluar dari mode ini dengan menekan tombol apa saja.

Saat Anda menyelaraskan cincin LED, oleskan lem panas dan tahan saat lem mengeras. Kemudian ambil cincin PVC Anda dan lagi: oleskan lem panas ke LED, posisikan dengan cepat dan tahan selama beberapa detik. Pada akhirnya, ketika Anda yakin semuanya berfungsi, Anda dapat merekatkan per papan (atau Arduino) ke kayu. Tip: jangan menerapkan banyak lem. Hanya sejumlah kecil sehingga dapat disimpan di satu tempat tetapi Anda dapat dengan mudah menghapusnya jika Anda ingin mengubah sesuatu nanti.

Di bagian paling akhir, masukkan baterai sel berbentuk koin ke dudukannya.

Langkah 11: Tingkatkan - Fotoresistor

Tingkatkan - Fotoresistor
Tingkatkan - Fotoresistor
Tingkatkan - Fotoresistor
Tingkatkan - Fotoresistor
Tingkatkan - Fotoresistor
Tingkatkan - Fotoresistor

Efek jam sangat bagus dalam gelap. Tapi ini bisa mengganggu penggunanya di malam hari, saat dia tidur. Itulah mengapa saya memutuskan untuk meningkatkan jam dengan fitur koreksi kecerahan otomatis – ketika ruangan menjadi gelap; jam mematikan LED-nya.

Untuk tujuan itu, saya menggunakan sensor cahaya - resistor foto. Resistensinya akan meningkat secara signifikan; hingga beberapa mega ohm saat gelap dan hanya akan memiliki beberapa ratus ohm saat ada cahaya yang menyinarinya. Bersama dengan resistor normal mereka membentuk pembagi tegangan. Jadi ketika resistansi sensor cahaya berubah, begitu juga tegangan pada pin analog Arduino (yang bisa kita ukur).

Sebelum menyolder dan merakit sirkuit apa pun, sebaiknya disimulasikan terlebih dahulu, sehingga Anda dapat melihat perilaku dan melakukan koreksi. Dengan bantuan Autocad Tinkercad Anda dapat melakukan hal itu! Hanya dengan beberapa klik saya menambahkan komponen, menghubungkannya dan menulis kodenya. Dalam simulasi Anda dapat melihat bagaimana kecerahan LED berubah sesuai dengan nilai resistor foto. Ini sangat sederhana dan lugas - Anda dipersilakan untuk bermain dengan sirkuit.

Setelah simulasi, saatnya menambahkan fitur ke jam. Saya mengebor lubang di tengah jam, menempelkan resistor foto, menghubungkannya seperti yang terlihat di sirkuit dan menambahkan beberapa baris kode. Dalam file LEDclock.h Anda harus mengaktifkan fitur ini dengan mendeklarasikan USE_PHOTO_RESISTOR sebagai 1. Anda juga dapat mengubah kecerahan ruangan mana jam akan meredupkan LED dengan mengubah nilai CLOCK_PHOTO_TRESHOLD.

Langkah 12: Nikmati

Saat Anda menyalakannya untuk pertama kalinya, jam akan menunjukkan waktu acak. Anda dapat mengaturnya dengan menekan kedua tombol secara bersamaan. Putar kenop untuk memilih waktu yang tepat dan konfirmasikan dengan menekan tombol apa saja.

Saya menemukan inspirasi dalam beberapa proyek yang sangat rapi di internet. Jika Anda memutuskan untuk membuat jam sendiri, periksa juga! (NeoClock, Wol Clock, Arduino Colourful Clock) Jika Anda pernah memutuskan untuk mencoba mengikuti instruksi, saya harap Anda merasa membuatnya menyenangkan seperti saya.

Jika Anda menemukan masalah selama proses pembuatannya, jangan ragu untuk mengajukan pertanyaan apa pun kepada saya di komentar – saya akan dengan senang hati mencoba menjawabnya!

Direkomendasikan: