Saya memerlukan breadboard untuk experimen selanjutnya. Sayangnya 2 breadboard saya terpakai oleh Jambredbrod. Saya terpaksa menggusur semua komponen jambredbrod dari breadboard. Karena merasa sayang, saya membuat jambredbrod menjadi rangkaian permanen. Saya pun memindahkan komponen-komponen jambredbrod ke PCB generik.

Memindahkan ke PCB lubang-lubang ini bukan hal yang mudah. Kita harus membuat jalur-jalur antar komponen secara manual. Saya membuat jalur-jalur ini dengan kaki-kaki komponen itu sendiri yang dibengkokkan, sisa-sisa potongan kaki-kaki komponen, dan kabel. Terus terang, saya lebih suka mendesain PCB dengan Fritzing dan kemudian meng-etching PCB. Cara ini sudah terbukti rapi dan anti kusut. Tapi berhubung saya mau menggusur dengan cepat, maka saya langsung mengerjakannya di PCB lubang.
Singkat kata, Jambredbrod berganti nama menjadi Jam 7 alias jam digital menggunakan 7-segment. Karena saya ingin membuat Jam 7 ini permanen, saya menggunakan embedded Arduino dengan ATmega328 (silakan baca konsepnya di: Arduino to breadboard). Untuk wiring konsepnya sama dengan Jambredbrod tapi ada penyesuaian pin. Penyesuaian ini berakibat penyesuaian code juga.

Supaya bisa tahan lama dan anti-korslet, saya pun mencari ide untuk casing yang bisa melindungi Jam 7. Tengok sana, tengok sini, nemu casing jadul. PCB Jam 7 kebesaran dikit banget di casing ini. Perlu diperkecil supaya bisa masuk casing dengan baik.

Saya malas menggergaji PCB untuk memperkecilnya supaya bisa masuk casing. Jadi saya mencari alternatif lain. Ada beberapa alternatif yang bisa dipakai. Tapi saya memilih casing bekas CD. Jadi walau pun jamnya digital, tapi bentuknya bundar seperti jam analog/jarum biasa, hehehe… keren juga. Di bawah ini adalah fotonya dengan casing CD.

Jadilah Jam 7 ini sebuah jam yang anti biasa. Selain dibuat sendiri, bentuknya juga unik dengan penggunaan barang-barang yang tersedia di sekitar. Anda bisa membuatnya sendiri kok!
Di bawah ini adalah code untuk Jam 7 hasil modifikasi dari Jambredbrod. Saya menghilangkan tombol penyesuai. Kalau di foto nampak 3 buah tombol, itu belum berfungsi. Sejatinya saya mendesain ke-3 tombol itu untuk mencocokkan jam, tapi karena sudah kemalaman, saya belum menyambungkannya ke Arduino. Oh iya, saya menghilangkan blink LED penunjuk detik. Saya hanya menggunakan titik di digit ke-2 seven segments. Supaya lebih praktis saja.
/* Emanuel Setio Dewo, setio.dewo@gmail.com 06/11/2012 "Jambret" (jam breadboard) */ #include #include "RTClib.h" RTC_DS1307 RTC; byte pin_digit[] = { 2, 1, 0, 3 }; //byte pin_segmen[] = { 10, 12, 6, 8, 7, 11, 5, 9 }; byte pin_segmen[] = { 11, 13, 6, 8, 7, 12, 5, 9 }; byte angka[] = { 1, 1, 1, 1, 1, 1, 0, 0, // 0 0, 1, 1, 0, 0, 0, 0, 0, // 1 1, 1, 0, 1, 1, 0, 1, 0, // 2 1, 1, 1, 1, 0, 0, 1, 0, // 3 0, 1, 1, 0, 0, 1, 1, 0, // 4 1, 0, 1, 1, 0, 1, 1, 0, // 5 1, 0, 1, 1, 1, 1, 1, 0, // 6 1, 1, 1, 0, 0, 0, 0, 0, // 7 1, 1, 1, 1, 1, 1, 1, 0, // 8 1, 1, 1, 1, 0, 1, 1, 0 // 9 }; int jeda = 1000; long sblm = 0; boolean dot = LOW; byte pin_dot = 14; byte jam = 0; byte menit = 0; byte detik = 0; byte detik0 = 0; byte pin_tombol = A0; void setup() { // init init_segments(); hapus(); Wire.begin(); RTC.begin(); if (!RTC.isrunning()) { RTC.adjust(DateTime(__DATE__, __TIME__)); } delay(500); } void init_segments() { for (int i=0; i<4; i++) { pinMode(pin_digit[i], OUTPUT); digitalWrite(pin_digit[i], LOW); } for (int i=0; i<8; i++) { pinMode(pin_segmen[i], OUTPUT); digitalWrite(pin_segmen[i], HIGH); } } void loop() { baca_waktu(); tulis_waktu(); } void tulis_waktu() { // tuliskan jam if (jam < 10) { tulis(0, 0); } else { int _jam = jam / 10; tulis(0, _jam); } byte __jam = jam %10; tulis(1, __jam); // tuliskan menit if (menit < 10) { tulis(2, 0); } else { int _menit = menit / 10; tulis(2, _menit); } tulis(3, menit %10); } void tulis(int d, int a) { hapus(); digitalWrite(pin_digit[d], HIGH); int idx = a * 8; for (int i=0; i<8; i++) { if (angka[idx+i] == 1) digitalWrite(pin_segmen[i], LOW); else digitalWrite(pin_segmen[i], HIGH); } if (detik0 != detik) { detik0 = detik; if (dot == true) dot = false; else dot = true; } if (d == 1) { if (dot) { digitalWrite(pin_segmen[7], HIGH); //digitalWrite(pin_dot, HIGH); } else { digitalWrite(pin_segmen[7], LOW); //digitalWrite(pin_dot, LOW); } } delayMicroseconds(100); } void hapus() { for (int i=0; i<4; i++) digitalWrite(pin_digit[i], LOW); for (int i=0; i<8; i++) digitalWrite(pin_segmen[i], HIGH); }
kg…mau tanya ,..ko gd rangkayannya…sy juga bikin rangkayan dari fritzing….tp saya masih awam di dunia elektronik
Skematik ada di: Jambredbrod
Mas klu beli skema am komponenya bisa ngk?
Berapa+ ongkos kirim?
Wah sayangnya saya tidak jualan. Untuk skema bisa dilihat di:
https://dewo.wordpress.com/2012/11/07/membuat-jam-breadboard-kurang-dari-30-menit/
Salam kenal mas Dewo, saya hendi 😀
cara untuk mencocokkan jamnya bagaimana mas Dewo? kan yang versi arduino nano + breadboard tinggal pencet 1 tombol ketika arduino terpasang ke PC?
Salam kenal. Bisa ditambahkan 3 buah tombol untuk mengeset jam. Kalau yg ini sih masih memanfaatkan koneksi ke PC utk ngeset tanggal, xixixi
oo.. brati masih bisa yang satu tombol mas,hehe mas ini kode2nya kalo saya cocokin dengan kode jam breadboard kok ada yang beda seperti di inisialisasi pin_digit? apa memang ada yang dirubah pin2 nya yang ke 7 segmen? sama seven segmen nya itu common cathode apa anode? soalnya tertarik banget nih mas pengen bikin 😀
Tetap bisa 1 tombol, tapi perlu kabel hook utk menghubungkan ke arduino. Memang ada perubahan di pin2 utk menyesuaikan lokasi di PCB generik.
Mas Dewo sepertinya yang #include nya kurang #include “Wire.h” trus sama yang : Void (baca_waktu) belum dimasukkan
Ehm, semestinya tidak perlu explisit include wire.h. Itu sudah saya sertakan semua source code-nya.
Oo.. tapi kemarin saya coba upload ke atmega8 ,upload sama usbasp ga bisa di compile,trus saya tambahi include sama yang void baca waktu,trus bisa di compile, tapi masih belum bisa jalan hehe
Mungkin karena pengaruh pakai usbasp? Saya pakai arduino utk upload.
Selamat siang mas Dewo, mas Saya sudah berhasil dengan jam7 nya, dengan perubahan2 dikit di kodingnya, dan saya posting di blog saya http://hendysp.blogspot.com/2014/07/jamino-versi-7segment.html
Matur Nuwun mas Dewo 😀
Oh iya sama ijin meniru ide untuk memposting hasil DIY di halaman Prototipe nya mas Dewo, hehe 😀 terimakasih mas, Tuhan Memberkati
mas tolong minta dikirimin source code yg memakai tombol dnk mas ke email saya reverbnationkhaizal@gmail.com
makasih sblmnya 😀
mas dewo library rtc-nya mana ?
karena tidak semua library yg di google sama
Saya download dari AdaFruits