Daftar Isi:
- Perlengkapan
- Langkah 1: Hubungkan Sirkuit
- Langkah 2: Mempersiapkan Bagian Buzzer
- Langkah 3: Mempersiapkan Panel LED
- Langkah 4: Mempersiapkan Sakelar (Tekan Tombol Sebenarnya)
- Langkah 5: Mempersiapkan Strip LED
- Langkah 6: Mempersiapkan Sensor Kapasitansi
- Langkah 7: Mempersiapkan Catu Daya
- Langkah 8: Menghubungkan Mereka ke Arduino
- Langkah 9: Kandang
- Langkah 10: Waktu Pemrograman
- Langkah 11: Mekanisme Korektif
- Langkah 12: Cara Menggunakan Semua Fungsi
- Langkah 13: Kesimpulan
- Langkah 14: Perbarui: Setelah Satu Minggu Penggunaan
Video: Jam Alarm Biner Arduino DIY: 14 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:54
Ini jam biner klasik lagi! Tapi kali ini dengan lebih banyak fungsi tambahan! Dalam instruksi ini, saya akan menunjukkan kepada Anda cara membuat jam alarm biner dengan Arduino yang dapat menunjukkan tidak hanya waktu, tetapi tanggal, bulan, bahkan dengan fungsi pengatur waktu dan alarm yang juga dapat digunakan sebagai lampu samping tempat tidur! Tanpa basa-basi lagi mari kita mulai!
Catatan: Proyek ini tidak menggunakan modul RTC, jadi akurasi tergantung pada papan yang Anda gunakan. Saya telah menyertakan mekanisme korektif yang akan mengoreksi penyimpangan waktu selama periode waktu tertentu tetapi Anda perlu bereksperimen untuk menemukan nilai yang benar untuk jangka waktu tersebut (Lebih lanjut tentang ini di bawah), dan bahkan dengan mekanisme korektif itu masih akan melayang dalam waktu lama (bila dibandingkan dengan tanpanya). Jika ada yang tertarik, silakan mengimplementasikan penggunaan modul RTC dalam proyek ini
Perlengkapan
LED 5mm (warna apa saja, saya menggunakan 13 LED putih dengan satu LED RGB sebagai indikator) --- 14 pcs
Arduino Nano (yang lain mungkin berfungsi) --- 1 pc
Saklar mikro --- 1 pc
Sepotong kecil aluminium foil
Papan pemasangan (untuk enklosur, tetapi silakan desain sendiri)
Sepotong kertas putih (atau warna lain)
Beberapa film plastik (yang digunakan sebagai sampul buku)
Sekelompok kabel
Buzzer --- 1 pc
Transistor NPN --- 1 pc
Resistor 6k8 --- 14 buah, 500R --- 1 buah, 20R (10Rx2) --- 1 buah, 4k7 --- 1 buah
Catu daya untuk proyek (saya menggunakan baterai li-on)
5050 strip LED dan sakelar geser (opsional)
Langkah 1: Hubungkan Sirkuit
Saya akan membagi langkah ini menjadi:
1) Bagian bel
2) Panel LED
3) Saklar (tombol tekan)
4) strip LED
5) Sensor kapasitansi
6) Catu daya
7) Hubungkan semuanya ke Arduino
Sebagian besar waktu, ini hanyalah langkah "ikuti skema". Jadi lihat skema di atas atau bahkan unduh dan cetak!
Langkah 2: Mempersiapkan Bagian Buzzer
Jika Anda telah menggunakan buzzer dengan Arduino sebelumnya, Anda akan tahu bahwa jika kita menghubungkannya langsung ke Arduino, itu tidak akan cukup keras. Jadi kita membutuhkan amplifier. Untuk membangun amplifier, kita memerlukan transistor NPN (pada dasarnya semua NPN akan berfungsi, saya menggunakan S9013 karena saya mendapatkannya dari proyek lama), dan beberapa resistor untuk membatasi arus. Untuk memulai, pertama-tama kenali kolektor, emitor, dan basis transistor. Sedikit googling datasheet akan bekerja untuk ini. Kemudian solder kolektor transistor ke terminal negatif buzzer. Di terminal positif buzzer, kami hanya menyolder sepotong kawat ke sana sehingga kami dapat menyoldernya ke Arduino kami nanti. Setelah ini, solder resistor 500R (atau nilai resistor yang serupa) ke dasar transistor dan dari resistor, solder sepotong kawat lain untuk digunakan di masa mendatang. Terakhir, solder dua resistor 10R secara seri ke emitor transistor dan sambungkan kabel lain dari resistor.
Sungguh, lihat skema.
p/s: Saya masih tidak benar-benar tahu bagaimana memilih resistor untuk transistor pada saat menulis ini. Nilai yang saya gunakan dipilih secara empiris.
Langkah 3: Mempersiapkan Panel LED
Colokkan LED dan resistor ke papan prototyping yang sesuai dan solder. Itu dia. Ikuti skemanya. Jika Anda tertarik dengan jarak yang saya gunakan, 3 lubang terpisah untuk setiap kolom, dan dua lubang terpisah untuk setiap baris (lihat gambar). Dan indikator LED? Saya memasangnya secara acak.
Setelah menyolder LED dan resistor ke papan, sambungkan semua terminal positif LED bersama-sama. Kemudian, solder kabel satu per satu ke masing-masing resistor di terminal negatif LED sehingga kita bisa menyoldernya ke Arduino nanti.
CATATAN: Anda mungkin bingung dengan langkah ini. Ingat, alih-alih menghubungkan semua ground bersama-sama, kami menghubungkan semua terminal positif bersama-sama dan terminal negatif ke masing-masing pin pada Arduino. Jadi kita menggunakan pin Arduino GPIO sebagai ground, bukan Vcc. Jika Anda secara tidak sengaja menghubungkannya ke belakang, jangan khawatir. Anda dapat memodifikasi semua TINGGI ke RENDAH dan RENDAH ke TINGGI dalam fungsi kontrol led.
Langkah 4: Mempersiapkan Sakelar (Tekan Tombol Sebenarnya)
Untuk sakelar (saya akan menyebutnya sakelar karena saya menggunakan sakelar mikro, tetapi Anda tahu itu adalah tombol tekan), kita membutuhkan resistor pull-down 4k7 dan tentu saja sakelar itu sendiri. Ah, jangan lupa siapkan beberapa kabel. Mulailah dengan menyolder resistor dan seutas kabel ke ground bersama (COM) dari sakelar mikro. Kemudian, solder sepotong kabel lain ke sakelar mikro yang biasanya terbuka (NO). Terakhir, pasang kabel lain ke resistor. Amankan dengan lem panas.
Pojok pengetahuan: Mengapa kita membutuhkan resistor pull-down?
"Jika Anda melepaskan pin I/O digital dari semuanya, LED mungkin berkedip tidak menentu. Ini karena inputnya "mengambang" - yaitu, secara acak akan mengembalikan TINGGI atau RENDAH. Itu sebabnya Anda memerlukan pull-up atau resistor pull-down di sirkuit." --Sumber: situs web Arduino
Langkah 5: Mempersiapkan Strip LED
Strip LED untuk lampu samping tempat tidur, yang opsional. Cukup sambungkan strip LED dan sakelar geser secara seri, tidak ada yang istimewa.
Langkah 6: Mempersiapkan Sensor Kapasitansi
Oke simak gambarnya. Pada dasarnya kita hanya akan menempelkan kawat ke sepotong kecil aluminium foil (karena aluminium foil tidak dapat disolder) lalu rekatkan pada sepotong kecil papan pemasangan. Pengingat yang baik, pastikan Anda tidak menempelkan aluminium foil sepenuhnya. Biarkan sebagian terbuka untuk kontak langsung.
Langkah 7: Mempersiapkan Catu Daya
Karena saya menggunakan baterai li-on sebagai catu daya, saya memerlukan modul TP4056 untuk pengisian dan perlindungan, dan konverter boost untuk mengubah tegangan menjadi 9v. Jika Anda memutuskan untuk menggunakan adaptor dinding 9V, maka Anda mungkin memerlukan jack DC, atau cukup sambungkan secara langsung. Perhatikan bahwa nilai resistor untuk amplifier dirancang untuk 9V dan jika Anda ingin menggunakan tegangan lain, Anda mungkin perlu mengubah resistor.
Langkah 8: Menghubungkan Mereka ke Arduino
Ikuti skemanya! Ikuti skemanya! Ikuti skemanya!
Jangan menghubungkan pin yang salah atau hal-hal akan menjadi aneh.
Langkah 9: Kandang
Dimensi desain saya adalah 6.5cm*6.5cm*8cm, jadi agak besar. Terdiri dari jendela depan untuk tampilan LED dan jendela atas untuk lampu samping tempat tidur. Untuk desain saya, lihat gambar.
Langkah 10: Waktu Pemrograman
Unduh sketsa saya di bawah ini dan unggah ke Arduino Anda. Jika Anda tidak tahu bagaimana melakukan ini, jangan repot-repot melakukan proyek ini! Nah bercanda, ini dia tutorial yang bagus: Unggah sketsa ke arduino
Kemudian buka monitor serial, dan Anda akan melihatnya menampilkan waktu saat ini. Untuk mengatur waktu, berikut adalah cara melakukannya.
Untuk mengatur jam: h, XX -- di mana xx adalah jam saat ini
Untuk mengatur menit: min, XX -- xx adalah menit saat ini
Untuk mengatur detik: s, XX
Untuk mengatur tanggal: d, XX
Untuk mengatur bulan: mon, XX
Ketika komentar di atas dijalankan, itu akan mengembalikan Anda nilai yang baru saja Anda tetapkan. (Misalnya ketika Anda mengatur jam dengan h, 15, itu akan mengembalikan Jam: 15 di monitor serial.
Untuk sensor kapasitansi, Anda mungkin perlu mengkalibrasinya sebelum berfungsi. Untuk melakukan ini, tekan sakelar mikro dua kali, dan lihat monitor serial. Itu harus menampilkan banyak angka. Sekarang letakkan jari Anda pada sensor kapasitansi, dan perhatikan kisaran angkanya. Selanjutnya, ubah variabel "captrigger". Katakanlah Anda mendapatkan 20-30 saat ditekan, lalu atur captrigger ke 20.
Sketsa menggunakan perpustakaan ADCTouch, pastikan Anda menginstalnya.
Langkah 11: Mekanisme Korektif
Periode waktu untuk mekanisme korektif dalam kode saya diatur ke yang akurat untuk saya. Jika waktunya masih belum akurat, Anda perlu mengubah nilai variabel "cordur"
Kordur sekarang default ke 0 di pembaruan terbaru.
Nilai corrdur berarti berapa milidetik yang dibutuhkan untuk memperlambat satu detik
Untuk mengetahui nilai corrdur, gunakan rumus:
2000/(y-x)/x)
di mana x=durasi waktu yang sebenarnya dan y=durasi waktu yang berlalu pada jam, keduanya dalam sekon
Untuk mencari nilai x dan y, Anda perlu melakukan sedikit percobaan.
Atur waktu jam ke waktu sebenarnya dan catat waktu awal (waktu awal aktual dan waktu awal jam harus sama). Setelah beberapa saat (beberapa jam), catat waktu aktual akhir dan waktu akhir jam.
x=waktu akhir-waktu awal aktual dan y=waktu akhir-waktu awal jam
Kemudian ubah nilai corrdur pada kode tersebut dan reupload ke Arduino.
Kemudian ulangi tes dan kali ini rumusnya berubah menjadi:
2000/((2/z)+(y-x/x))
Dimana x dan y sama dengan sebelumnya, sedangkan z adalah nilai cordur saat ini.
Unggah lagi dan lakukan tes berulang-ulang sampai cukup tepat untuk Anda.
Jika jam Anda masih melaju bahkan corrdur disetel ke 0 (berarti tidak ada mekanisme korektif), Anda perlu mengubah detik++ ke detik-- di bagian mekanisme korektif dari kode (saya berkomentar), setel corrdur ke 0, kemudian temukan no. milidetik yang dibutuhkan untuk mempercepat satu detik.
Langkah 12: Cara Menggunakan Semua Fungsi
Anda dapat mengubah mode dengan menekan tombol mikro.
Pada mode pertama, itu hanya menampilkan waktu. Jika lampu indikator berkedip 1 kali per detik, alarm mati. Jika 2 kali per detik, alarm menyala. Anda dapat menunda alarm selama 10 menit dalam mode pertama dengan menekan sensor kapasitansi.
Pada mode kedua, ini menampilkan tanggal. Menekan sensor kapasitansi tidak melakukan apa-apa.
Pada mode ketiga, Anda dapat mengatur timer. Menekan sensor kapasitansi akan menyalakan timer dan Anda akan melihat lampu indikator mulai berkedip. Sensor kapasitansi juga digunakan untuk mengatur waktu timer. Rentang timer adalah 1 menit hingga 59 menit.
Pada mode keempat, Anda dapat mengatur jam alarm menggunakan sensor kapasitansi
Pada mode kelima, Anda dapat mengatur menit alarm menggunakan sensor kapasitansi.
Pada mode keenam, menekan sensor kapasitansi akan mengatur ulang menit ke 30 dan detik ke 0 tanpa mengubah jam. Itu berarti selama jam Anda tidak melayang lebih dari 30 menit, Anda dapat mengkalibrasi ulang menggunakan mode ini.
Mode ketujuh adalah mode tidak melakukan apa-apa jika sensor kapasitansi mengalami gangguan saat mengisi daya.
Oh, untuk menutup alarm, cukup tekan sakelar mikro. (PEMBARUAN TERBARU UNTUK TERMASUK ALARM TUNDA)
Nah, bagaimana dengan membaca jam? Mudah! Membaca Jam Biner -- Wikihow Anda mungkin merasa aneh pada awalnya, tetapi Anda akan terbiasa!
Langkah 13: Kesimpulan
Mengapa saya memulai proyek ini. Awalnya karena saya memiliki jam digital tua yang tergeletak di sekitar dan saya ingin mengubahnya menjadi jam alarm. Sayangnya jam tangan lama ternyata rusak. Jadi saya seperti mengapa tidak membangunnya menggunakan Arduino? Dengan sedikit pencarian google, saya menemukan proyek jam biner ini tanpa RTC yang dapat diinstruksikan oleh Cello62. Namun, tidak memiliki fitur jam alarm yang saya inginkan, jadi saya mengambil kode dan memodifikasinya sendiri. Dan proyek itu lahir. Selain itu, saya melihat kontes jam berjalan dengan instruksi baru-baru ini yang memberi saya lebih banyak motivasi untuk melakukan ini. Bagaimanapun, ini masih proyek pertama saya menggunakan Arduino, begitu banyak kemungkinan perbaikan.
Peningkatan di masa depan:
1) Gunakan RTC
2) Atur alarm atau waktu atau timer secara nirkabel!
3) Fitur apa pun yang saya pikirkan
Langkah 14: Perbarui: Setelah Satu Minggu Penggunaan
Selain masalah yang jelas - penyimpangan waktu, masalah berikutnya yang akan saya katakan adalah konsumsi daya. Pertama-tama, saya menaikkan tegangan hingga 9v, yang kemudian akan diturunkan oleh regulator linier di Arduino. Regulator linier sangat tidak efisien. Jam hanya bertahan selama SATU HARI. Itu berarti saya harus mengisi ulang setiap hari. Itu bukan masalah terbesar sampai Anda menyadari bahwa keseluruhan sistem hanya sekitar 50% efisien. Mengingat baterai saya 2000mAh, saya akan dapat menghitung daya yang terbuang setiap hari.
Daya yang terbuang=(7.4Wh*10%)+(7.4Wh*90%*50%)=4.07Wh sehari
Itu adalah 1.486kWh per tahun! Itu bisa digunakan untuk merebus, eh, 283g air (dari 25 C sampai 100 C)? Tapi bagaimanapun, saya akan meningkatkan efisiensi jam. Cara melakukannya adalah dengan tidak menggunakan regulator linier sama sekali. Itu artinya kita harus mengatur boost converter untuk output 5V langsung ke pin 5V di Arduino. Selanjutnya, untuk meminimalkan daya yang terbuang lebih jauh, saya harus melepas dua LED on board (pin13 dan daya), karena akan membuang 0,95Wh per hari. Sayangnya, saya benar-benar noob di SMD solder jadi satu-satunya cara bagi saya untuk melakukan ini adalah memotong rel di papan. Setelah ini, saya harus melepas resistor emitor pada bel dan lampu samping tempat tidur (strip LED tidak berfungsi pada 5V). Tetapi apakah itu berarti Anda harus melepaskan fitur luar biasa itu? Tidak! Anda memiliki dua pilihan di sini: Gunakan dioda LED 5mm normal, atau gunakan strip LED 5V. Tetapi bagi saya, saya sudah merasa lelah untuk melakukan proyek ini selama seminggu terakhir, jadi saya memutuskan untuk melepaskan fitur ini. Namun, saya menggunakan sakelar pada awalnya untuk fitur lampu untuk menghidupkan atau mematikan panel jam untuk lebih menghemat energi, tetapi akhirnya LED berkedip ketika saya mematikannya. Bug menjadi fitur? Saya tidak tahu (Ada yang tahu tolong beri tahu saya di bawah).
Di akhir modifikasi, jam sekarang bertahan lebih dari 2 hari!
Selanjutnya saya memiliki masalah yang kurang serius dengan jam. Selama pengisian, sensor kapasitansi akan menjadi gila, jadi saya menambahkan mode lain yang sama sekali tidak melakukan apa-apa.
Adapun penyimpangan waktu, karena sangat merepotkan untuk menyambungkan ke komputer setiap hari untuk mengatur ulang, saya telah menambahkan mode lain yang akan mengatur menit ke 30 dan detik ke 0. Itu berarti Anda bisa mengatur ulang jam setengah lewat!
Direkomendasikan:
Jam Biner Mikro: 10 Langkah (dengan Gambar)
Micro Binary Clock: Setelah sebelumnya membuat Instructable (Binary DVM), yang memanfaatkan area tampilan terbatas menggunakan biner. Itu hanya langkah kecil setelah sebelumnya membuat modul kode utama untuk konversi Desimal ke Biner untuk membuat Jam Biner tetapi t
Jam Alarm Cerdas: Jam Alarm Cerdas Dibuat Dengan Raspberry Pi: 10 Langkah (dengan Gambar)
Jam Alarm Cerdas: Jam Alarm Cerdas yang Dibuat Dengan Raspberry Pi: Pernahkah Anda menginginkan jam pintar? Jika iya, ini solusinya untuk Anda! Saya membuat Smart Alarm Clock, ini adalah jam yang bisa Anda ubah waktu alarmnya sesuai dengan website. Saat alarm berbunyi, akan ada suara (buzzer) dan 2 lampu akan
Jam Alarm Jalan Sesame DIY (dengan Alarm Kebakaran!): 6 Langkah (dengan Gambar)
Jam Alarm Jalan Sesame DIY (dengan Alarm Kebakaran!): Hai semuanya! Proyek ini adalah yang pertama bagi saya. Karena ulang tahun pertama sepupu saya akan datang, saya ingin membuat hadiah khusus untuknya. Saya mendengar dari paman dan bibi bahwa dia berada di Sesame Street, jadi saya memutuskan dengan saudara-saudara saya untuk membuat jam alarm berbasis
Penguat Meja Dengan Visualisasi Audio, Jam Biner & Penerima FM: 8 Langkah (dengan Gambar)
Amplifier Meja Dengan Visualisasi Audio, Jam Biner & Penerima FM: Saya suka amplifier dan hari ini, saya akan membagikan amplifier meja berdaya rendah yang saya buat baru-baru ini. Amplifier yang saya rancang memiliki beberapa fitur menarik. Ini memiliki jam biner terintegrasi dan dapat memberikan waktu dan tanggal dan dapat memvisualisasikan audio yang sering disebut audio
Jam Alarm Biner Berbasis Arduino: 13 Langkah (dengan Gambar)
Jam Alarm Biner Berbasis Arduino: Hai, hari ini saya ingin menunjukkan kepada Anda bagaimana membangun salah satu proyek terbaru saya, jam alarm biner saya. Ada banyak sekali jam Binary yang berbeda di internet, tetapi ini mungkin yang pertama, dibuat dari strip LED berwarna-warni yang dapat dialamatkan