Daftar Isi:

Jam Ish: 5 Langkah (dengan Gambar)
Jam Ish: 5 Langkah (dengan Gambar)
Anonim
Image
Image
Mengumpulkan Bagian & Pekerjaan Kayu
Mengumpulkan Bagian & Pekerjaan Kayu

Saya sering menemukan diri saya membeli barang-barang yang saya tidak tahu apa yang akan saya lakukan. Proyek ini merupakan hasil dari pembelian sebuah cincin yang memiliki 12x LED WS2812b. Saya tidak punya rencana untuk itu tetapi itu terlihat keren secara online jadi saya memasukkan satu ke keranjang saya, bermain dengannya untuk sementara waktu ketika itu tiba dan kemudian melupakan semuanya.

Beberapa saat kemudian saya berpikir tentang membuat jam dan ingat itu duduk di sana tidak melakukan apa-apa. Saya berpikir untuk membeli cincin kedua dengan 60 LED untuk membuat menit, tetapi kemudian mulai berpikir bagaimana kita / saya cenderung melihat waktu dan membulatkannya ke 5 menit terdekat.

Dengan ini di tambang saya berangkat dengan 12 cincin LED saya untuk membuat jam ish. Ini menampilkan 1 LED pada satu waktu selama 1 detik, untuk menunjukkan jam (LED Biru) dan kemudian menit (LED Merah) dibulatkan ke bawah

Langkah 1: Mengumpulkan Bagian & Pekerjaan Kayu

Mengumpulkan Bagian & Pekerjaan Kayu
Mengumpulkan Bagian & Pekerjaan Kayu
Mengumpulkan Bagian & Pekerjaan Kayu
Mengumpulkan Bagian & Pekerjaan Kayu
Mengumpulkan Bagian & Pekerjaan Kayu
Mengumpulkan Bagian & Pekerjaan Kayu

Saya sangat beruntung tiba di tempat kerja suatu hari dan melihat palet. Palet ini menonjol bagi saya karena tidak terlihat seperti standar Anda, palet pabrik. Itu bersih, diperlakukan panas dan kayu ek yang paling luar biasa padat.

Proyek ini dibuat dari salah satu potongan palet itu. (Saya bertanya kepada bos sebelum saya membawanya pulang)

Juga digunakan:

  • Cincin LED 12 piksel ws2812b
  • Modul Real Time Clock (RTC) (Saya menggunakan DS3231 dengan I2C)
  • Kompatibel dengan Arduino Nano v3.0
  • Lembaran akrilik (5mm)
  • Kawat berwarna

Peralatan

  • Bor motor
  • Router
  • Bit kayu datar yang dapat disesuaikan
  • mesin amplas listrik
  • Gergaji tangan
  • Besi solder
  • Pistol lem panas
  • Kertas pasir
  • Minyak Denmark

pengamplasan

Saya mulai dengan menggunakan power sander untuk meluruskan dan membersihkan balok kayu sampai semua sisi bersih dan halus. Saya meninggalkan beberapa ketidaksempurnaan yang terlihat dan tidak lurus sempurna atau persegi karena saya ingin dapat melihat beberapa sejarah di hutan.

Menandai dan Memotong lubang

Setelah pengamplasan, saya memilih sisi yang saya inginkan sebagai wajah jam dan menandai bagian tengahnya dengan menggambar garis dari setiap sudut. Saya mengatur kayu yang dapat disesuaikan sedikit lebih besar dari cincin led sehingga akan ada rak untuk akrilik untuk duduk dan memotong sekitar 5mm kemudian menyesuaikan pemotong lebih dari ukuran cincin LED dan memotong 5mm atau lebih..

Lubang perutean dan kabel

Menggunakan router saya dengan bit 12mm, saya mengarahkan reses di bagian bawah blok untuk menyembunyikan RTC dan Arduino. Kedalamannya sekitar 15mm dan tidak kurang dari 5mm dari tepi mana pun. Saya menandai bagian tengah (ish) dari bawah dan mengebor menggunakan bit 10mm melewati setengah jalan untuk memungkinkan kabel LED. Kemudian menggunakan mata bor 5mm saya mengebor dari tengah ceruk LED untuk memenuhi lubang 10mm dari bawah.

Satu lagi lubang 4mm di bagian belakang untuk daya masuk dan dan menggunakan bit router yang lebih kecil untuk membuat saluran untuk kabel di bagian belakang cincin LED dan pekerjaan kayu selesai.

Langkah 2: Lingkaran Akrilik

Lingkaran Akrilik
Lingkaran Akrilik
Lingkaran Akrilik
Lingkaran Akrilik
Lingkaran Akrilik
Lingkaran Akrilik

Untuk membuat akrilik untuk bagian depan jam saya menyatakan memotong sepotong persegi yang hanya lebih besar dari lubang yang harus diisi. Kemudian dengan menggunakan power sander untuk memulai, saya mulai menghilangkan sudut-sudutnya hingga mencapai bentuk dan ukuran yang tepat. Saya kemudian pindah ke pengamplasan tangan sehingga saya tidak menembak berlebihan dan harus memulai dari awal.

Itu adalah proses trial and error yang lambat dan membosankan sampai pas, tetapi saya pikir hasil akhirnya sepadan. Saya menyelesaikannya dengan menggunakan kertas grit yang sangat halus untuk memberikan tampilan buram pada bagian depan akrilik.

Langkah 3: Menyolder

Pematerian
Pematerian
Pematerian
Pematerian
Pematerian
Pematerian
Pematerian
Pematerian

Saya suka menggunakan sistem warna untuk kabel saya pada kesempatan ini saya memilih:

  • Merah untuk Daya (5v)
  • Putih untuk Tanah
  • Kuning untuk Data
  • Hijau untuk Jam

Saya mulai dengan menyolder 3 kabel yang diperlukan ke cincin LED menggunakan sistem di atas dan mendorong kabel ke dalam lubang. Karena seharusnya tidak terkena tekanan nyata, saya menggunakan sedikit lem panas untuk menahan cincin di tempatnya. (Saya mungkin perlu mengubahnya kapan-kapan) dan memasang akrilik hanya dengan sedikit lem panas di tepinya.

Saya kemudian menyolder 4 kabel ke RTC menggunakan sistem di atas. Untuk menjaga hal-hal sedikit lebih rapi saya memutuskan untuk menarik daya untuk RTC dari Arduino. Kemudian hubungkan semuanya ke Arduino dan solder 1 kabel untuk daya dan satu lagi untuk ground ke Arduino.

RTC

  • SCL (Jam) ke Pin Analog 5
  • SDA (Data) ke Pin Analog 4
  • VCC ke 5V
  • GND ke GND apa pun di Arduino

Cincin LED

Din ke Pin Digital 6

Saya memiliki kabel USB lama yang berkeliaran jadi memutuskan untuk menggunakannya untuk menyalakan jam. Saya memotong ujung yang biasanya terhubung ke sesuatu dan mendorongnya melalui lubang di belakang. Kemudian dilucuti dan diikat ujungnya sebelum menyolder VCC ke Arduino dan cincin LED ke sisi positif dan Ground dari Arduino dan LED ke Ground. Saya sedikit panas menyusut kemudian dan itu terlihat bagus, Pistol lem panas kembali keluar untuk menahan semuanya. Saya memutuskan untuk meninggalkan Arduino dengan permainan yang cukup sehingga saya akan dapat mengakses port USB untuk memprogramnya di masa depan tetapi tidak terlalu banyak sehingga saya bisa jatuh.

Langkah 4: Kode

Anda sekarang harus dapat mengunggah kode ini ke Arduino.

Jika RTC tidak berjalan, kode ini akan mengatur waktu berdasarkan saat kode dikompilasi, jadi pastikan untuk menekan tombol unggah dan tidak memverifikasi.

bergantian ini juga bekerja sangat baik untuk mengatur waktu.

www.instructables.com/id/Setting-the-DS130…

Sebagian besar kode ini saya pinjam dari perpustakaan Adafruit NeoPixel dan beberapa dari perpustakaan RTC yang saya temukan dan beberapa saya buat sendiri.

// sertakan kode library: #include

#termasuk

#termasuk

// tentukan pin

#tentukan PIN 6

#define BRIGHTNESS 20 // atur kecerahan maksimal

#tentukan r 5

#tentukan g 5

#tentukan b 5

RTC_DS3231 rtc; // Menetapkan objek jam

Adafruit_NeoPixel strip = Adafruit_NeoPixel(12, PIN, NEO_GRB + NEO_KHZ800); // menghapus objek

batalkan pengaturan () {

Kawat.mulai(); // Mulai I2C

rtc.mulai(); // mulai jam

Serial.begin(9600);

// atur mode pin

pinMode(PIN, OUTPUT);

jika (rtc.lostPower()) {

Serial.println("RTC kehilangan daya, ayo atur waktunya!");

// baris berikut menetapkan RTC ke tanggal & waktu sketsa ini dikompilasi

rtc.adjust(DateTime(F(_DATE_), F(_TIME_)));

// Baris ini menetapkan RTC dengan tanggal & waktu eksplisit, misalnya untuk mengatur

// 21 Januari 2014 jam 3 pagi Anda akan menelepon:

// rtc.adjust(TanggalWaktu(2014, 1, 21, 3, 0, 0));

}

strip.mulai();

strip.tampilkan(); // Inisialisasi semua piksel ke 'mati'

DateTime theTime = rtc.now(); // memperhitungkan DST

byte secondval = theTime.second(); // dapatkan detik

byte minuteval = theTime.minute(); // dapatkan menit

int hourval = Waktu.jam();

titik(strip. Warna(0, g, 0), 50);

}

lingkaran kosong () {

// dapatkan waktu

DateTime theTime = rtc.now(); // memperhitungkan DST

int minuteval = waktu.menit(); // dapatkan menit

int hourval = Waktu.jam(); // dapatkan jam

int secondval = waktu.detik();

jika (menit 0) {

strip.setPixelColor(0, r, 0, 0);

strip.tampilkan();}

lain jika (menit <= 9) {

strip.setPixelColor(1, r, 0, 0);

strip.tampilkan();}

lain jika (menit <= 14) {

strip.setPixelColor(2, r, 0, 0);

strip.tampilkan();}

lain jika (menit <= 19) {

strip.setPixelColor(3, r, 0, 0);

strip.tampilkan();}

lain jika (menit <= 24) {

strip.setPixelColor(4, r, 0, 0);

strip.tampilkan();}

lain jika (menit <= 29) {

strip.setPixelColor(5, r, 0, 0);

strip.tampilkan();}

lain jika (menit <= 34) {

strip.setPixelColor(6, r, 0, 0);

strip.tampilkan();}

lain jika (menit <= 39) {

strip.setPixelColor(7, r, 0, 0);

strip.tampilkan();}

lain jika (menit <= 44) {

strip.setPixelColor(8, r, 0, 0);

strip.tampilkan();}

lain jika (menit <= 49) {

strip.setPixelColor(9, r, 0, 0);

strip.tampilkan();}

lain jika (menit <= 54) {

strip.setPixelColor(10, r, 0, 0);

strip.tampilkan();}

lain jika (menit <=59) {

strip.setPixelColor(11, r, 0, 0);

strip.tampilkan();}

penundaan (1000);

untuk (int i=0; i<12; i++){

strip.setPixelColor(i, 0, 0, 0);

strip.tampilkan();

}

if (jam == 0) {

strip.setPixelColor(0, 0, 0, b);

strip.tampilkan();}

lain jika (jam == 1) {

strip.setPixelColor(1, 0, 0, b);

strip.tampilkan();}

lain jika (jam == 2) {

strip.setPixelColor(2, 0, 0, b);

strip.tampilkan();}

lain jika (jam == 3) {

strip.setPixelColor(3, 0, 0, b);

strip.tampilkan();}

lain jika (jam == 4) {

strip.setPixelColor(4, 0, 0, b);

strip.tampilkan();}

lain jika (jam == 5) {

strip.setPixelColor(5, 0, 0, b);

strip.tampilkan();}

lain jika (jam == 6) {

strip.setPixelColor(6, 0, 0, b);

strip.tampilkan();}

lain jika (jam == 7) {

strip.setPixelColor(7, 0, 0, b);

strip.tampilkan();}

lain jika (jam == 8) {

strip.setPixelColor(8, 0, 0, b);

strip.tampilkan();}

lain jika (jam == 9) {

strip.setPixelColor(9, 0, 0, b);

strip.tampilkan();}

lain jika (jam == 10) {

strip.setPixelColor(10, 0, 0, b);

strip.tampilkan();}

lain jika (jam == 11) {

strip.setPixelColor(11, 0, 0, b);

strip.tampilkan();}

lain jika (jam == 12) {

strip.setPixelColor(0, 0, 0, b);

strip.tampilkan();}

lain jika (jam == 13) {

strip.setPixelColor(1, 0, 0, b);

strip.tampilkan();}

lain jika (jam == 14) {

strip.setPixelColor(2, 0, 0, b);

strip.tampilkan();}

lain jika (jam == 15) {

strip.setPixelColor(3, 0, 0, b);

strip.tampilkan();}

lain jika (jam == 16) {

strip.setPixelColor(4, 0, 0, b);

strip.tampilkan();}

lain jika (jam == 17) {

strip.setPixelColor(5, 0, 0, b);

strip.tampilkan();}

lain jika (jam == 18) {

strip.setPixelColor(6, 0, 0, b);

strip.tampilkan();}

lain jika (jam == 19) {

strip.setPixelColor(7, 0, 0, b);

strip.tampilkan();}

lain jika (jam == 20) {

strip.setPixelColor(8, 0, 0, b);

strip.tampilkan();}

lain jika (jam == 21) {

strip.setPixelColor(9, 0, 0, b);

strip.tampilkan();}

lain jika (jam == 22) {

strip.setPixelColor(10, 0, 0, b);

strip.tampilkan();}

lain jika (jam == 23) {

strip.setPixelColor(11, 0, 0, b);

strip.tampilkan();}

penundaan (1000);

untuk (int i=0; i<12; i++){

strip.setPixelColor(i, 0, 0, 0);

strip.tampilkan();

}

// untuk debugging serial

Serial.print(hourval, DEC);

Serial.print(':');

Serial.print (menit, DEC);

Serial.print(':');

Serial.println(kedua, DEC);

}

batalkan titik(uint32_t c, uint8_t tunggu) {

untuk (int j=0; j<3; j++) {

untuk(int i=0; i<12; i++){

strip.setPixelColor(i, c);

strip.tampilkan();

tunda (tunggu);

untuk(int i=0; i<12; i++){

strip.setPixelColor(i, 0, 0, 0);

strip.tampilkan();}

}

}

}

Langkah 5: Minyak Denmark

Minyak Denmark
Minyak Denmark
Minyak Denmark
Minyak Denmark
Minyak Denmark
Minyak Denmark
Minyak Denmark
Minyak Denmark

Langkah terakhir dan opsional adalah mengoleskan sedikit minyak Denmark ke kayu. Saya sangat suka bagaimana itu mengeluarkan biji-bijian plus menawarkan perlindungan dari noda dan kelembaban. Jadi saya sangat merekomendasikannya.

Anda dapat menyikatnya atau saya hanya menggunakan kain tua untuk menyekanya.

Yang tersisa sekarang adalah mencolokkannya dan menikmati.

Direkomendasikan: