Daftar Isi:

Jam LED Menggunakan Neopiksel: 4 Langkah (dengan Gambar)
Jam LED Menggunakan Neopiksel: 4 Langkah (dengan Gambar)

Video: Jam LED Menggunakan Neopiksel: 4 Langkah (dengan Gambar)

Video: Jam LED Menggunakan Neopiksel: 4 Langkah (dengan Gambar)
Video: How to Make Digital Clock Neopixel WS2812B 2024, November
Anonim
Jam LED Menggunakan Neopiksel
Jam LED Menggunakan Neopiksel
Jam LED Menggunakan Neopiksel
Jam LED Menggunakan Neopiksel
Jam LED Menggunakan Neopiksel
Jam LED Menggunakan Neopiksel
Jam LED Menggunakan Neopiksel
Jam LED Menggunakan Neopiksel

Selamat datang di instruksi saya tentang cara membuat jam LED menggunakan 60 Neopiksel.

Anda akan menemukan 3 PDF yang terlampir adalah untuk segmen jam, yang lain untuk alas dan terakhir adalah templat untuk membantu merekatkan bagian tersebut.

Jadi untuk menyelesaikan ini, Anda memerlukan yang berikut ini:

  • Cincin 60 neopiksel hadir dalam 4 kuarter. cari "ws2812 ring 60" (£12,00)
  • Pencarian RTC untuk "modul DS3231" (£2,50)
  • Arduino Nano (£ 4)
  • Kayu lapis 3mm/1/8".
  • potongan kawat. mudah-mudahan Anda akan memiliki beberapa di sekitar?
  • Unit catu daya USB 5v. Jenis konektor yang akan dihancurkan anak-anak Anda.

Di bawah ini adalah item bertenaga baterai Lipo tetapi setelah pengujian, jam menghabiskan terlalu banyak daya sehingga baterai dijatuhkan demi PSU USB utama.

  • dc-dc converter pencarian "boost converter" (£ 3)
  • Sirkuit pengisian TP4056 mencari "tp4056" (£ 2)
  • LiPo 1000Mah sel tunggal. cari "1000mah lipo 3.7" ATAU "503450 lipo" (£8.00)

Nomor LiPo adalah 503450 dan mungkin menyenangkan mengetahui bahwa ini berarti panjang 50mm lebar 34mm dan kedalaman 5,0.

Langkah 1: Bit Kayu

Potongan Kayu
Potongan Kayu
Potongan Kayu
Potongan Kayu
Potongan Kayu
Potongan Kayu

Anda harus dapat melihat pada gambar bahwa saya telah mencetak desain dan menempelkannya juga pada kayu lapis. Yang mungkin kurang jelas adalah saya telah memotong 3 bagian sekaligus dan bagian bawah dipotong terlebih dahulu di sekeliling, kemudian satu bagian dihilangkan (dari belakang) lalu lubang itu dipotong di dua bagian yang tersisa kemudian bagian lain dilepas dengan menyisakan bagian depan yang tersisa, lalu slot untuk kabel dipotong.

Ketika semua bagian telah dipotong, pertama-tama Anda harus memeriksa bagaimana semuanya cocok, lalu rekatkan semuanya. saya membangun 3 lapisan di atas rencana jam untuk memastikan semuanya melingkar dengan benar. Juga pastikan Anda mendapatkan bit bawah dalam orientasi yang benar dan potongan tengah yang lengkap dipasang terbalik sehingga Anda melingkari sambungan.

Lubang-lubang di bagian depan memungkinkan sambungan yang disolder di perempat untuk duduk. dan bagian bawah memungkinkan kabel untuk melewatinya.

Rangkaian gambar juga menunjukkan bagaimana dasarnya disatukan.

Langkah 2: Menghubungkan Cincin LED

Menghubungkan Cincin LED
Menghubungkan Cincin LED
Menghubungkan Cincin LED
Menghubungkan Cincin LED
Menghubungkan Cincin LED
Menghubungkan Cincin LED
Menghubungkan Cincin LED
Menghubungkan Cincin LED

Tidak banyak yang bisa dikatakan tentang langkah ini, tetapi jika Anda belum menggunakan strip WS2812LED, mereka cerdas sehingga masing-masing memiliki data masuk dan keluar. Di busur 15 LED, PCB menangani semua koneksi tetapi ketika Anda datang untuk bergabung dengan bagian, Anda harus membuat koneksi daya dan data. Anda tidak bisa mendapatkan koneksi yang salah karena mereka berada dalam lingkaran namun ketika Anda telah menyelesaikan lingkaran, Anda harus memiliki satu tautan yang hilang pada data IN/OUT untuk memungkinkan Anda menghubungkan kabel ke data IN. Di mana kabel terhubung ke data IN akan menjadi LED pertama atau diberi nomor NOL dengan benar.

Saya bertanya-tanya bagaimana cara terbaik untuk memperbaiki cincin LED ke cincin kayu? tetapi pada akhirnya saya memutuskan untuk menggunakan looming cord dan loom di sekitar lingkar melewatkan LED setiap kali.

Langkah 3: Menghubungkan Arduino Nano dan Power

Menghubungkan Arduino Nano dan Power
Menghubungkan Arduino Nano dan Power
Menghubungkan Arduino Nano dan Power
Menghubungkan Arduino Nano dan Power
Menghubungkan Arduino Nano dan Power
Menghubungkan Arduino Nano dan Power

Saya awalnya memutuskan untuk menggunakan LiPo pada proyek ini tetapi ketika saya mencobanya, baterai habis dalam semalam. Pada awalnya saya pikir baterai mungkin duff jadi saya mengukur arus dan menemukan sirkuit itu menggambar 73mA yang berarti pada baterai itu akan menjadi lebih. Sebenarnya saya mengukur arus pada baterai (sebelum konverter boost) dan ternyata lebih dari 110mA. Jadi jelas bahwa jam ini tidak akan berjalan dengan baterai.

Jadi alih-alih saya memilih untuk menggunakan pengisi daya USB 5V. Saya cenderung memiliki banyak pengisi daya USB yang mati karena konektornya disalahgunakan dari dua anak kecil.

Jadi karena kami menggunakan LED WS2812, kami hanya memiliki 3 koneksi ke Arduino Nano.

  • Kekuasaan
  • Tanah
  • Data Masuk. Oranye ke D2 di Nano

Selanjutnya kita memiliki RTC ini hanya memiliki 4 kabel.

  • Daya 5 Volt
  • Tanah
  • SCL (Jam I2C) Biru ke A5 di Nano
  • SDA (Data I2C) Kuning ke A4 di Nano

Terakhir kita membutuhkan daya dan ini menuju ke terminal daya 5 V pada Nano.. Vin dirancang untuk memiliki tegangan lebih besar dari 5 volt (yaitu 7-12 Volt) dan ground.

Langkah 4: Program

Saya sangat menikmati pemrograman, saya hanya tidak pandai dalam hal itu.

Soal 1

Detik dan menit disajikan dengan benar sebagai angka dari 0-59. Namun LED pertama dan karenanya nol ada di bagian bawah. Jadi ini perlu diperbaiki.

batalkan correctPos(int A)

{ jika (A 30) { A = A - 31; } } suhu = A; }

Soal 2

Saya mencoba untuk menghapus semua LED sebelum menampilkan posisi baru namun ini menyebabkan LED berkedip. Jadi saya memutuskan untuk menyalakan LED berikutnya dan mematikan yang sebelumnya. Ini bekerja dengan baik?? TIDAK karena jika posisi baru adalah nol ia akan mencoba dan mematikan -1. sehingga ditangani secara bersamaan.

batal hapus Sebelumnya(int B)

//hapus led sebelumnya, jika nol maka //matikan 59 yang lain kurangi 1 //dan matikan yang itu. { if (B == 0) { strip.setPixelColor(59, 0, 0, 0);// Semua mati } else { strip.setPixelColor(B - 1, 0, 0, 0);//semua mati } }

Soal 3

Melakukan hal di atas bekerja dengan sangat baik sampai posisi kedua yang baru menggantikan menit yang lama. Yang berarti bahwa menit yang diperbarui setelah detik mematikannya! Sama untuk jam/menit juga

if (dtk == mnt-1)

{ strip.setPixelColor(menit-1, 0, 30, 0); }

Masalah 4

Hal-hal mulai terlihat bagus jadi mari kita padukan warna ketika mereka jatuh di posisi yang sama?

jika (menit == detik)

{ strip.setPixelColor(menit, 15, 13, 0);//hijau dan merah untuk membuat kuning. }

Soal 5

Jam dimulai sebagai format 24 jam. jadi ini perlu dikoreksi dulu

jika (jam > 12)

{ jam = jam -12; }

Soal 6

Dan jangan lupa ada 24 jam dalam sehari dan saya memiliki 60 LED. Mudah benar-benar kalikan dengan 5

jam = jam * 5;

Soal 7

Setelah melakukan hal di atas kita sekarang memiliki jam melompat 4 LED itu akan terlihat jauh lebih baik jika menggunakan semua LED dan benar menunjukkan pecahan dari satu jam? Sekali lagi ini adalah perbaikan yang mudah saya baru saja menambahkan nomor menit asli dibagi 12 ke jam.

jam = jam + (tambahMin/12);

Soal 8

Ketika jam atau menit dipimpin di bagian bawah detik menghilang selama satu detik sebelumnya.

jam = jika (menit == 0)

{ if (dtk == 59) { strip.setPixelColor(59, 0, 30, 0);//green } } if (jam == 0) { if (dtk == 59) { strip.setPixelColor(59, 0, 30, 0);//hijau } }

Soal 9

Mengatur waktu. Saya memutuskan untuk membuat build ini sangat sederhana sehingga tidak menyertakan tombol untuk menyesuaikan waktu. Jadi ini hanya masalah menghubungkan jam ke komputer Anda dan memuat waktu baru. Cukup batalkan komentar pada bagian di bawah ini dan atur waktu yang Anda butuhkan lalu muat program. Setelah benar, komentari ulang baris dan kirim ulang program, jika tidak, jika Anda kehilangan daya, itu akan menjalankan ulang pengaturan dan memuat waktu lama lagi.

// 12 April 2020 pukul 23:20 Anda akan menelepon:

//rtc.adjust(DateTime(2020, 4, 12, 23, 20, 0));

Direkomendasikan: