Daftar Isi:

Jam Kata Pelangi Dengan Efek Pelangi Penuh dan Lainnya: 13 Langkah (dengan Gambar)
Jam Kata Pelangi Dengan Efek Pelangi Penuh dan Lainnya: 13 Langkah (dengan Gambar)

Video: Jam Kata Pelangi Dengan Efek Pelangi Penuh dan Lainnya: 13 Langkah (dengan Gambar)

Video: Jam Kata Pelangi Dengan Efek Pelangi Penuh dan Lainnya: 13 Langkah (dengan Gambar)
Video: Ini cara bisa lihat hantu, bukan magic! #Shorts Nasya kaila nazifah 2024, Desember
Anonim
Jam Kata Pelangi Dengan Efek Pelangi Penuh dan Lainnya
Jam Kata Pelangi Dengan Efek Pelangi Penuh dan Lainnya

Sasaran

1) Sederhana

2) Tidak mahal

3) Sehemat energi mungkin

Rainbow Word Clock dengan efek pelangi penuh.

Sebuah Smiley pada Jam Word.

Kontrol jarak jauh IR sederhana

Perbarui 03-nov-18 LDR untuk Kontrol Kecerahan Neopiksel

Perbarui 01-jan-19 Mengurangi konsumsi daya WS2812B.

Perbarui 15-jan-19 Smiley.

Perbarui 23-jan-19 Kode 1.6

Perbarui tautan Perpustakaan 10-mar-19

Perbarui 14-apr-19 versi 1.7 Pilihan smiley on/off warna pelangi/perbaiki enz.

Pembaruan terakhir 01-jun-19 versi 2.0 IR remote control dan desain ulang kode

Langkah 1: Kasus untuk Jam

Kasus untuk Jam
Kasus untuk Jam
Kasus untuk Jam
Kasus untuk Jam
Kasus untuk Jam
Kasus untuk Jam

Dengan beberapa alat sederhana dan sedikit keterampilan, tidak sulit untuk membuat jam huruf Saya menggunakan bahan-bahan yang tersedia bagi saya.

Untuk kasing saya menggunakan batang pinus kasar di mana saya menggergaji beberapa bingkai. Ini akan membuat keempat sisi kotak, yang direkatkan dan diperkuat dengan sepotong kayu kecil di sudut-sudutnya. Kemudian kayu membutuhkan pengamplasan dan pengecatan.

Surat-surat dipotong dari foil oleh printer dalam tulisan cermin. Foil berada di bagian belakang pelat kaca dan ditutupi dengan kertas pola lapisan ganda untuk distribusi cahaya yang lebih baik. Kaca difiksasi dengan sealant silikon.

Langkah 2: Neopiksel

Neopiksel
Neopiksel
Neopiksel
Neopiksel
Neopiksel
Neopiksel
Neopiksel
Neopiksel

LED Neopiksel disusun di atas pelat kayu. Dalam hal ini, Anda terlebih dahulu mengebor lubang 3 mm. Di bagian depan mereka diperbesar menjadi ukuran huruf hingga kedalaman 3/4. Setelah itu 3 mm di belakang ditingkatkan menjadi 10 mm, ini adalah ukuran Neopixel. Untuk beberapa karakter antara lain W, lubangnya harus sedikit disesuaikan.

Saya menggunakan kayu lapis yang cepat pecah, MDF mungkin lebih baik.

Dengan masing-masing LED, Anda tidak terikat pada jarak tetap, seperti halnya dengan strip LED. LED harus terhubung satu sama lain. Anda dapat melakukan ini dengan semua potongan kawat pendek. Tetapi koneksi dua menit (-) sama seperti dua koneksi plus (+) yang terhubung secara internal, jadi koneksi yang sama.

Anda dapat menghemat banyak pekerjaan dengan menyolder sepotong kawat ke LED kiri dan kemudian ke LED kanan. Kemudian solder yang menengah.

Sambungan data tentunya harus terputus-putus karena data yang keluar masuk ke data yang masuk.

Langkah 3: Menyesuaikan Teks Depan

Menyesuaikan Teks Depan
Menyesuaikan Teks Depan
Menyesuaikan Teks Depan
Menyesuaikan Teks Depan
Menyesuaikan Teks Depan
Menyesuaikan Teks Depan

Pelat depan sekarang dalam bahasa Belanda, tetapi hanya untuk mengubah bahasa apa pun.

LED NeoPixels diaktifkan secara berurutan di sini dari 0-167. Penomoran dimulai dari baris pertama di kiri atas ke kanan dan kemudian ke baris kedua dari kanan ke kiri dll. Penyesuaian dapat dilakukan sesuai dengan kebutuhan Anda sendiri. Jumlah NeoPixels ditentukan oleh jumlah karakter. Lebih sedikit atau lebih Neopiksel dapat disesuaikan di baris berikut

#define NUMPIXELS 168 // Berapa banyak NeoPixels yang terpasang ke Arduino?

168 adalah dari nomor lain. Penomoran dimulai dari 0. Anda dapat membuat teks apa saja. Jika Anda mengubah teks maka Anda juga harus menyesuaikan kata-kata yang sesuai. Nomornya tetap sama.

Sebagai contoh, DRIE menit, ditentukan dalam kode

batal zetmDrie () {

Led_Aan[56]=1, Led_Aan[57]=1, Led_Aan[58]=1, Led_Aan[59]=1; // pengeringan kecil

}

Jika Anda ingin membuat kata Arduino maka jadinya seperti ini:

batal zetArduino () {

Led_Aan [38] = 1, Led_Aan [50] = 1, Led_Aan [56] = 1, Led_Aan [93] = 1;

Led_Aan [120] = 1, Led_Aan [135] = 1, Led_Aan [147] = 1; //kata-arduino

}

Jadi Anda bisa membuat kata-kata di antaranya.

Untuk kata-kata jam berguna jika mereka membentuk kata yang berdekatan tetapi tidak mutlak diperlukan. Huruf yang tidak digunakan tidak memerlukan Neonpiksel. Saya telah mengisi semuanya untuk penggunaan kemungkinan masa depan selain waktu yang ditampilkan.

Jika Anda mengubah titik awal atau mengubah urutan suksesi, penomoran harus berubah sesuai.

Langkah 4: Efek Pelangi Penuh

Efek Pelangi Penuh
Efek Pelangi Penuh

Jam sekarang diprogram sehingga ada berapa kali per detik dihitung berapa banyak neopixsels yang diaktifkan.

Spektrum total adalah tentang jumlah dibagi dan kemudian sedikit bergeser. Akibatnya, setiap Neopixel memiliki warna berbeda yang berubah terus menerus. Neopixel nr 1 dan nr 167 saling mengikuti pada beberapa warna.

Jika Anda lebih suka warna yang kurang berbeda pada saat yang sama, ini mudah disesuaikan. Pergeseran warna masih di seluruh spektrum tetapi dengan bagian yang lebih kecil. Neopixel nr 1 dan nr 167 tidak lagi mengikuti satu sama lain dalam beberapa warna.

Kecerahan dapat diatur di baris berikut, piksel.setBrightness(150);

Jumlah yang lebih kecil lebih sedikit dan jumlah yang lebih besar lebih terang.

Langkah 5: Berbagai Komponen

Berbagai Komponen
Berbagai Komponen
Berbagai Komponen
Berbagai Komponen
Berbagai Komponen
Berbagai Komponen

Komponen berikut yang saya gunakan

Arduino Pro Mini ATMEGA328 5V/16MHz

Modul Jam DS3231

168 buah Neopixels led's WS2812 LED Chip & Heatsink 5V 5050 RGB WS2811 IC Built-in

Stensil surat foil

penerima DCF77

Langkah 6: Kode untuk Jam

Berikut adalah kode. Menambahkan kontrol kecerahan dan matikan saat tidak ada orang dan di malam hari.

Menambahkan RCWL-0516 Radar Microwave Motion Sensor (mencari RADAR)

Setelah 10 menit tidak ada gerakan, NeoPixels padam.

Tentang versi 2.0

Penggunaan memori terlalu banyak, dengan peringatan kehabisan memori di kompiler. Itulah sebabnya saya telah mengubah kode sepenuhnya, tetapi pengoperasiannya tetap sama dan penerima IR telah ditambahkan.

Ada sepotong kode untuk menyediakan EEPROM dengan data. Jalankan ini sekali dengan menghapus sementara / * dan * /. Cari => jalankan ini sekali untuk menyediakan EEPROM dengan data

Pada awal void loop adalah kode untuk membaca kode dari remote control Anda sendiri. Anda dapat menjalankan ini dengan menghapus sementara / * dan * /, jangan lupa untuk meletakkannya kembali setelahnya. Anda juga dapat menentukan tombol Anda sendiri. Kode yang dibaca harus dimasukkan di => Tentukan tombol Anda sendiri di sini

Remote control Samsung bekerja lebih baik daripada yang sederhana (sangat murah).

Langkah 7: Deskripsi Perangkat Keras

Deskripsi Perangkat Keras
Deskripsi Perangkat Keras
Deskripsi Perangkat Keras
Deskripsi Perangkat Keras
Deskripsi Perangkat Keras
Deskripsi Perangkat Keras

Ada berbagai versi Arduino Pro Mini. Harap dicatat, koneksi mungkin berbeda.

Menambahkan Sensor Gerak Microwave RCWL-0516.

Selama ada gerakan di sekitar jam, NeoPixel tetap menyala

dan segera setelah tidak ada lagi gerakan, NeoPixel akan mati setelah beberapa menit.

Dalam versi 2.0 penerima DCF77 disuplai dengan daya melalui pin 13. Pin ini didefinisikan sebagai output dan disetel tinggi ketika rutin DCF77 ditangani. Penerima DCF77 menggunakan 0,28 mA dan hanya diperlukan beberapa menit per hari.

Mematikan simpan

5 Volt * 0,28 mA / 1000 * 24 jam * 365 hari * 1 / 0,85 efisiensi catu daya = 14,4 watt setahun.

Ini sepertinya tidak banyak, tetapi setiap bit membantu.

Langkah 8: LDR untuk Kontrol Kecerahan Neopiksel

LDR untuk Kontrol Kecerahan Neopiksel
LDR untuk Kontrol Kecerahan Neopiksel
LDR untuk Kontrol Kecerahan Neopiksel
LDR untuk Kontrol Kecerahan Neopiksel

Menambahkan LDR untuk kontrol kecerahan neopiksel.

Saya telah menempelkan LDR ke ruang neopixel 103. Yang ini tidak digunakan dalam tampilan waktu dan karena itu tidak mempengaruhi regulasi. Kertas meredam cahaya insiden, tapi itu tidak masalah.

Pembagi tegangan LDR dan resistor 20 kohm masuk ke A0 dari Arduino Pro Mini. Tegangan adalah indikator intensitas cahaya dan karena itu juga merupakan indikator jumlah cahaya yang harus diberikan oleh neopiksel.

Formula yang saya gunakan memberi saya kontrol cahaya yang baik, dapat disesuaikan tergantung pada keadaan. Tergantung pada kuantitas cahaya, tegangan dapat bervariasi antara 0 dan 5 volt yang diubah menjadi 0 hingga 1024 hitungan yang ada di "LDRValue".

Jika nilai terukur baru lebih besar dari nilai yang dihitung terakhir, intensitasnya meningkat 1, jika lebih rendah dari dikurangi 1 dan jika sama, tidak ada yang dilakukan. Agar nilai berjalan dengan lambat, sehingga tidak ada efek kedip, hanya 1 yang ditambah atau dikurangi dan karena perhitungannya dalam loop maka hanya dihitung ulang setelah melewati loop sebanyak 25 kali.

Intensitas secara teoritis minimum 20 dan maksimum 1024/7 + 45 = 191. Nilai maksimum yang saya ukur adalah 902, yang berarti intensitas 173. Ini cocok dengan 150 yang telah saya tetapkan sebagai nilai default. (lihat pixels.setBrightness(150))

Pada versi 2.0 Anda dapat mengatur kontrol melalui remote control. Parameter berikut telah ditambahkan: Brightness_min sebagai minimum dan Brightness_max sebagai pengaturan maksimum dan Brightness_Offset sebagai parameter pengaturan. Brightness_min dan _max adalah nilai yang dapat bergantung pada situasi Anda sendiri. Brightness_Offset adalah nilai yang dapat diatur dengan kendali jarak jauh dan dengannya kecerahan dapat diatur lebih atau kurang.

Ada juga pita mati 3 antara nilai LDRValue yang diukur dan nilai BerLDRValue yang dihitung.

Gunakan pernyataan cetak dalam kekosongan BrightnessControl untuk memeriksa pengaturan kecerahan.

Langkah 9: Mengurangi Konsumsi Daya WS2812B

Mengurangi Konsumsi Daya WS2812B
Mengurangi Konsumsi Daya WS2812B

Driver pada neopiksel beralamat WS2812B menggambar arus bahkan saat neopiksel mati, disetel ke warna 0 (tidak ada elemen neopiksel yang menyala).

Ketika semua 169 neopiksel keluar, saya mengukur 69 mA ke neopiksel. Dengan asumsi bahwa jam mati 12 jam sehari, total shutdown kemudian menghemat: 5 (Volt power supply) * 69/1000 (Miliampere / 1000 = Ampere) * 12 (Jumlah jam per hari) * 365 (Jumlah hari dalam a tahun) = 1511 Watt jam. Jadi secara tahunan 1,5 Kwh. Saya setuju, itu tidak banyak dalam dirinya sendiri, tetapi banyak yang kecil menjadi besar.

Rangkaiannya sederhana. Kelebihan catu daya diaktifkan oleh MOSFET saluran-P. Sensor radar menentukan apakah neopiksel hidup atau mati. Saya telah menempatkan dua parrelel MosFet untuk menjaga resistansi ON serendah mungkin karena hilangnya MosFets. Dalam penggunaan normal saya mengukur 4, 5 mili volt di atas MOSFET. Gerbang dikendalikan oleh output 4 dari Arduino melalui resistor 470 Kohm. Jika output menjadi rendah (0) secara digital, neopiksel aktif dan pada tinggi (1) mereka mati.

Langkah 10: Smiley di Jam Word

Smiley di Jam Kata
Smiley di Jam Kata
Smiley di Jam Kata
Smiley di Jam Kata

Sebuah Smiley pada Jam Word.

Kadang-kadang muncul Smiley di jam. Itu membuat Anda bahagia.

Smiley dipicu oleh sensor radar. Frekuensi gerakan (dapat disesuaikan) adalah ukuran penampilan Smiley. Tanda % menunjukkan bahwa gerakan telah terdeteksi. Dengan setiap gerakan kesepuluh (dapat disesuaikan), Smiley muncul dengan Wajah Winky dan setelah tiga kali Wajah Winky muncul keempat kalinya Wajah Smiley menjulurkan lidah.

Smiley adalah perubahan kecil dalam kode.

Langkah 11: Perpustakaan mana yang digunakan

Perpustakaan mana yang digunakan.

Saya menggunakannya di Windows 7 dengan Arduino IDE 1.6 dan mereka juga telah diuji di Windows 10 dengan Adruino IDE 1.8.8

RTClib-master

Arduino-DS3231-master

Adafruit_NeoPixel-master

Arduino-DCF77-master

Perpustakaan IRremote Ken Shirriff

Karena selalu ada kebingungan tentang perpustakaan yang digunakan, saya menambahkan yang saya gunakan.

Pustaka IRremote menggunakan banyak memori. Di IRremote.h ditunjukkan bahwa Anda dapat menonaktifkan protokol yang tidak digunakan

// Setiap protokol yang Anda sertakan memerlukan memori dan, selama dekode, membutuhkan waktu// Nonaktifkan (diatur ke 0) semua protokol yang tidak Anda perlukan/inginkan!

Saya menonaktifkan semuanya kecuali protokol NEC dan Samsung. Ini memberikan penghematan memori sebesar 10%. Saat ini tidak ada lagi masalah dengan jumlah memori, sehingga untuk sementara tidak diperlukan penonaktifan.

Langkah 12: Remote Control IR Sederhana

Kontrol Jarak Jauh IR Sederhana
Kontrol Jarak Jauh IR Sederhana
Kontrol Jarak Jauh IR Sederhana
Kontrol Jarak Jauh IR Sederhana
Kontrol Jarak Jauh IR Sederhana
Kontrol Jarak Jauh IR Sederhana

Perakitan

Seperti yang Anda lihat di foto, lubang untuk LED 132 ternyata agak terlalu besar. Saya memanfaatkan ini dengan baik dan menambahkan penerima IR ke dalamnya. Hubungkan pin data penerima IR VS1838 ke pin 7 Arduino. Selanjutnya sambungkan catu daya plus dan minus. Penerima IR menggunakan 0,21 mA dan juga dapat dihubungkan ke catu daya plus setelah sakelar FET. Ini menghasilkan penghematan, jika jam menyala 50% dari waktu, sebesar 5 Volt * 0,21 mA / 1000 * 12 jam * 365 hari * 1 / 0,85 efisiensi catu daya = 5,4 watt per tahun. Ini sepertinya tidak banyak, tetapi setiap bit membantu.

Operasi adalah sebagai berikut

Tekan sembarang tombol pada remote control IR lalu tombol OK. Pertama kali Anda menekan, Anda akan berakhir di pemrosesan IR dan untuk kedua kalinya Anda akan mendeteksi apakah itu permintaan yang dibenarkan. Kali kedua OK harus mengikuti dengan cepat penekanan tombol pertama karena jika tidak maka akan kembali lagi. Saya membuat konstruksi ini sehingga saya hampir tidak mendapatkan kode pertama yang diterjemahkan dengan benar dan karena itu tidak berakhir dalam penanganan IR.

Setelah dalam penanganan IR maka sejumlah LED menyala untuk info, untuk penjelasan baca lebih lanjut dan lihat gambar pertama.

Deskripsinya adalah untuk kendali jarak jauh sederhana tetapi Anda dapat menggunakan kendali jarak jauh apa pun dan menentukan kunci Anda sendiri. Saya juga menggunakan remote control Samsung.

Empat tombol pertama sesuai dengan empat baris LED teratas. Empat LED berbelok ke kiri atau kanan tergantung pada pengaturannya. Ketika tombol 1 sampai 4 ditekan, keadaan dibalik dan disimpan dalam memori.

1 warna tetap atau efek pelangi

Flash 2 detik mati atau flash kedua aktif

3 smiley off smiley on

4 DCF77 mati atau DCF77 aktif

Nomor kunci ditampilkan pada tombol berikut:

5 penghitung smiley

6 lebar spektrum pelangi

7 perbaiki pengaturan merah

8 memperbaiki pengaturan hijau

9 perbaiki pengaturan biru

Baris 6, 7 dan 8 LED sekarang sesuai dengan nilai yang ditetapkan, baris 6 menunjukkan satuan, baris 7 puluhan dan baris 8 ratusan. Setiap baris dimulai dengan nilai nol. Jadi led pertama berturut-turut adalah 0 yang kedua adalah 1 dst.

0 pengaturan waktu

/\ pengaturan kecerahan

Ketika tombol 0 ditekan, LED "sepuluh" menyala untuk menunjukkan bahwa Anda ingin mengatur waktu dan ketika Anda menekan 0 untuk kedua kalinya, waktu yang disetel akan muncul di layar.

Waktu sekarang dapat diatur dan ditampilkan di layar.

Atur waktu yang benar dan kemudian jika menitnya sama pada jam referensi, tekan tombol OK.

Waktunya disesuaikan.

Jika Anda tidak mengoperasikan tombol menit atau jam, tidak ada perubahan waktu yang akan dilakukan. Jika Anda menekannya, waktu akan segera disetel.

Nilai untuk tombol 5 hingga 9 dapat diubah dengan tombol

kanan ditambah 1

kiri minus 1

maju adalah ditambah 10

sebaliknya adalah minus 10.

dan untuk pengaturan waktu

kanan ditambah 1 menit

kiri adalah minus 1 menit

maju ditambah 1 jam

sebaliknya adalah minus 1 jam

Terkadang penekanan tombol tidak dikenali atau dilakukan dua kali. Jadi perhatikan apakah pengaturan berjalan dengan baik jika tidak coba atau perbaiki lagi. Remote control Samsung yang juga saya uji bekerja berkali-kali lebih baik daripada remote control sederhana (sangat murah).

Saat menyetel warna, Anda melihat perubahan langsung di seluruh tampilan. Untuk situs dengan ikhtisar warna, lihat https://www.helderester.nl/kleurentabel.html. Anda tentu saja dapat menetapkan nilai apa pun.

Jika lebar spektrum pelangi memiliki nilai 0 spektrumnya sangat sempit dan tampilan memiliki satu warna yang berubah secara konstan.

Kerugian dari pengaturan waktu dengan cara ini adalah Anda tidak dapat menghitung transisi musim panas / musim dingin karena kami memiliki tanggal yang salah. Tidak masalah untuk jam itu sendiri karena kami tidak menggunakannya sekarang.

Langkah 13: Apa Selanjutnya?

Apa Selanjutnya?
Apa Selanjutnya?

Yang berikut, suara, jika memori bebas masih mencukupi.

Saya sudah memiliki kotak pengeras suara. Mereka berasal dari laptop lama.

Direkomendasikan: