LCD Adafruit dengan Lampu Latar Belakang RGB - 16x2
×
1
Tempat Baterai 4xAA
×
1
Alat dan mesin yang diperlukan
Pengemot solder (umum)
Pistol lem panas (umum)
Tentang proyek ini
IC Pendamping ini adalah Jam + Ohmmeter + Meter Kapasitansi + Penguji Dioda yang tampak sangat keren! Nyalakan dengan menekan Pin 1 IC! Simpan di meja kerja Anda untuk pengujian komponen secara cepat dan pengecekan waktu. Dapat dijalankan dengan baterai atau USB jika Anda memiliki sumber daya di dekat meja kerja.
Saya selalu ingin menerbitkan proyek tetapi tidak pernah menemukan sesuatu yang unik untuk dibuat sampai sekarang! Ide ini datang ketika saya ingin menguji beberapa kapasitor untuk melihat apakah mereka rusak atau tidak. Saya hanya memiliki multimeter dan tidak memiliki fungsi pengukuran kapasitansi. Setelah mencari informasi, saya tahu Arduino dapat melakukan ini. Saya memutuskan untuk membuat satu tetapi melihat pin yang tidak terpakai pada Arduino tidak sangat memuaskan, jadi saya memutuskan untuk menambahkan Ohmmeter dengan rentang otomatis, penguji LED/Dioda cepat, dan Jam RTC juga! Saya juga ingin mengukur nilai secara langsung dengan memasukkan komponen tanpa menggunakan sona. Desain harus unik jadi setelah beberapa brainstorming, desain IC dibuat!
Edit (07/01/2016): Pengujian kontinuitas opsional telah ditambahkan, lihat bagian komentar.
Artikel ini menjabarkan secara detail bagaimana saya membuat ini dan bagaimana Anda juga dapat membuatnya sendiri. Ramah pemula dan siapa saja dengan pengalaman 2-3 minggu Arduino/Elektronika dapat membuatnya!
Desain dapat dimodifikasi dan Anda dapat menambahkan/menghapus fitur baru sesuai kebutuhan. Saya membuat kotak dengan kardus tetapi jika Anda memiliki keterampilan, Anda dapat melakukannya dengan kayu atau mencetaknya dengan 3D.
Saya telah mencoba untuk mengambil dan melampirkan gambar di setiap langkah yang saya lakukan (Banyak di setiap langkah!). Sebagian besar diambil beberapa kali sampai saya mendapatkan sudut/cahaya terbaik, tetapi masih beberapa dari mereka sedikit buram karena memegang semuanya dengan dua tangan kadang-kadang sulit.
Saya telah memecahkan seluruh kode dan kabel menjadi potongan dan langkah, sebagaimana saya membuatnya. Kode yang disertakan sangat dikomentari dan diindent dengan benar. Seiring berjalannya waktu, kami akan menggabungkan semua kode dan kabel langkah demi langkah untuk menciptakan IC akhir. Ini seharusnya membantu siapa saja memahaminya dengan jelas. Jika tidak, beri tahu saya di komentar.
Bahkan jika Anda memutuskan untuk tidak membuatnya, cobalah pada papan roti atau setidaknya baca ini sekali karena pasti ada beberapa metode atau trik atau sesuatu yang dapat Anda pelajari di sini dan akan berguna bagi Anda suatu hari (Serius, Anda tidak tahu kapan itu akan terbuka!)
Langkah 1: Alat dan Komponen yang Diperlukan
Daftar Komponen dan Bahan yang Digunakan (Tautan toko hanya untuk referensi):
1x Arduino Nano V3, saya menggunakan klon dengan CH340G -- ebay
Kabel Mini USB untuk Arduino Nano -- Mini bukan Micro!
Kardus -- saya menggunakan kotak kemasan, tebal ~2mm. Tanya tetangga, teman, cari barang bekas jika tidak dapat menemukannya.
4x Resistor 10k ohm -- mudah didapat
2x Resistor 220 ohm -- mudah didapat
1x (1k, 4.7k, 47k, 100k) ohm resistor -- mudah didapat
1x Potensium 10k ohm kecil, untuk kontrol kontras LCD...ukuran kecil apa pun akan bekerja.-- ebay
2x Tombol Micro pushbutton, untuk tombol reset dan perubahan mode, yang umum Anda gunakan pada papan roti.
3x Saklar geser kecil, untuk mengaktifkan lampu latar, pin 0 dan 1, Pin ini perlu dinonaktifkan saat menggunakan Serial -- ebay
1x Saklar push latching/toggle, untuk saklar daya -- ebay
Beberapa kapasitor, dioda, LED hanya untuk pengujian, Anda akan menggunakannya sewaktu-waktu.
4x Strip header pin perempuan -- ebay (40 pin per strip)
1x Modul RTC DS3231 atau DS1307 (RTC singkatan dari Real Time Clock) -- Jangan beli yang murah dari ebay. Ini menggunakan chip palsu dan tidak akurat. Beli ini, ini, atau ini. Salah satu dari ini akan bekerja.
4x Baterai AA (atau AAA. Menggunakan AAA akan jauh lebih mudah tetapi kapasitas baterai lebih kecil)
1x Tempat baterai 4 AA (atau AAA), variasi datar -- ebay
Kawat tunggal, yang digunakan untuk papan roti, 22 gauge
Kawat pita(atau beberapa kawat pasang tipis dapat digunakan) -- ebay
2x Dadu dan bout kecil -- Saya menggunakan yang dari set Meccano lama saya (Bout panjang 1,3cm)
Cat akrilik hitam dan kuas
Alat yang diperlukan:
Pengemot solder
Solder
Desoldering wick/braid (untuk saat Anda membuat kesalahan!)
Pistol lem
Tape masking
Cello tape, transparan
Stripper kawat, nipper
Cutter kotak tajam
Gunting tajam
Langkah 2: Ohmmeter - Konsep
Ide dasar mengukur resistensi berasal dari pembagi tegangan.
Nilai resistor dapat dimodifikasi, ubah nilai r1, r2, dll. Tetapkan rentangnya (untuk rentang otomatis) sesuai. Lihat kode di bawah, unduh dari file di akhir dan uji ohmmeter pada papan roti
Jika Anda mengatur Nano untuk pertama kalinya, driver CH340G untuk itu dapat diunduh di sini, bekerja dengan windows 7, 8, 8.1 dan 10. Pengguna Mac periksa di sini.
Pilih "Arduino Nano" di menu papan dan port COM yang benar. Unggah!
Kode
//Analog pin used to find resistance int Apin=7; //values of r1 to r5 float r1=1000; float r2=4700; float r3=10000; float r4=47000; float r5=100000; //pins of r1 to r5 int r1_pin=2; int r2_pin=3; int r3_pin=4; int r4_pin=5; int r5_pin=6; float reading=0; //read from analog pin and store here float R=0; //calculate unknown and store here String finalR; //final value to be displayed along with units int caseno; //for debugging, stores the case number // we divide the entire range into cases and assign each a number, total 5 cases // case1 : less than 2850 // case2 : 2850 to 7350 // case3 : 7350 to 28500 // case4 : 28500 to 73500 // case5 : more than 73500 #include <stdlib.h> // needed for converting float to string, has the String(float,n) function. Explained below. void setup() { Serial.begin(9600); } void loop() { //first we find unknown resistance using 1kOhm resistor //Therefore, disable R2, R3, R4 and R5 digitalWrite(r2_pin, LOW); //turn each pin to LOW before setting it as INPUT pinMode(r2_pin, INPUT); // turning it INPUT when its HIGH enables the internal pullup resistor digitalWrite(r3_pin, LOW); pinMode(r3_pin, INPUT); digitalWrite(r4_pin, LOW); pinMode(r4_pin, INPUT); digitalWrite(r5_pin, LOW); pinMode(r5_pin, INPUT); pinMode(r1_pin, OUTPUT); digitalWrite(r1_pin, HIGH); //read and calculate resistance reading=analogRead(Apin); R=(reading*r1)/(1023-reading); // if value < 2850, finalR = value(using 1kOhm) if(R<2850){ caseno=1; if(R<1000){ //if value less than 1000 use "Ohm" not "kOhm" finalR = String(R,2) + "Ohm"; //String(float,n) Converting float to string with n digits after decimal // attach "Ohm" after value to the string, '+' joins two strings here } else{ //use "kOhm R=R/1000; finalR = String(R,2) + "kOhm"; } } //if value between 2850 and 7350 , use value obtained by 4.7kOhm else if(R>=2850 && R<7350){ caseno=2; digitalWrite(r1_pin, LOW); //Enable only 4.7kOhm pinMode(r1_pin, INPUT); digitalWrite(r3_pin, LOW); pinMode(r3_pin, INPUT); digitalWrite(r4_pin, LOW); pinMode(r4_pin, INPUT); digitalWrite(r5_pin, LOW); pinMode(r5_pin, INPUT); pinMode(r2_pin, OUTPUT); digitalWrite(r2_pin, HIGH); reading=analogRead(Apin); R=(reading*r2)/(1023-reading)/1000; finalR = String(R,2) + "kOhm"; } //if value between 7350 and 28500, use value obtained by 10kOhm else if(R>=7350 && R<28500){ caseno=3; digitalWrite(r1_pin, LOW); pinMode(r1_pin, INPUT); digitalWrite(r2_pin, LOW); pinMode(r2_pin, INPUT); digitalWrite(r4_pin, LOW); pinMode(r4_pin, INPUT); digitalWrite(r5_pin, LOW); pinMode(r5_pin, INPUT); pinMode(r3_pin, OUTPUT); digitalWrite(r3_pin, HIGH); reading=analogRead(Apin); R=(reading*r3)/(1023-reading)/1000; finalR= String(R,2) + "kOhm"; } //if value between 28500 and 73500, use value obtained by 47kOhm else if(R>=28500 && R<73500){ caseno=4; digitalWrite(r1_pin, LOW); pinMode(r1_pin, INPUT); digitalWrite(r2_pin, LOW); pinMode(r2_pin, INPUT); digitalWrite(r3_pin, LOW); pinMode(r3_pin, INPUT); digitalWrite(r5_pin, LOW); pinMode(r5_pin, INPUT); pinMode(r4_pin, OUTPUT); digitalWrite(r4_pin, HIGH); reading=analogRead(Apin); R=(reading*r4)/(1023-reading)/1000; finalR = String(R,2) + "kOhm"; } //if value more than 73500, use value obtained by 100kOhm else if(R>=73500){ caseno=5; digitalWrite(r1_pin, LOW); pinMode(r1_pin, INPUT); digitalWrite(r2_pin, LOW); pinMode(r2_pin, INPUT); digitalWrite(r3_pin, LOW); pinMode(r3_pin, INPUT); digitalWrite(r4_pin, LOW); pinMode(r4_pin, INPUT); pinMode(r5_pin, OUTPUT); digitalWrite(r5_pin, HIGH); reading=analogRead(Apin); R=(reading*r5)/(1023-reading)/1000; finalR = String(R,2) + "kOhm" ; } Serial.println(finalR); //printing the final string with units Serial.println(" "); delay(1000); }
Langkah 3: Meter Kapasitansi - Konsep
Kode
/* RCTiming_capacitance_meter * code concept taken from Paul Badger 2008 * * The capacitor's voltage at one time constant is defined as 63.2% of the charging voltage. * i.e, A Capacitor is filled to 63.2% of its total capacity in 1 Time Constant */ int analogPin=0 ; // analog pin for measuring capacitor voltage int chargePin=7 ; // pin to charge the capacitor - connected to one end of the charging resistor int dischargePin=12 ; // pin to discharge the capacitor, same used for diode test(chechPin1) float resistorValue=10000.0; // We use 10kOhm resistor unsigned long startTime; unsigned long elapsedTime; float microFarads; // floating point variable to preserve precision, make calculations float nanoFarads; void setup(){ pinMode(chargePin, OUTPUT); // set chargePin to output digitalWrite(chargePin, LOW); Serial.begin(9600); // initialize serial transmission for debugging } void loop(){ digitalWrite(chargePin, HIGH); // set chargePin HIGH and capacitor charging startTime = millis(); while(analogRead(analogPin) < 648){ // 647 is 63.2% of 1023, which corresponds to full-scale voltage } elapsedTime= millis() - startTime; // convert milliseconds to seconds ( 10^-3 ) and Farads to microFarads ( 10^6 ), net 10^3 (1000) microFarads = ((float)elapsedTime / resistorValue) * 1000; // (float) converts "unsigned long" elapsed time to float Serial.print(elapsedTime); // print the value to serial port Serial.print(" mS "); // print units if (microFarads > 1){ Serial.print((long)microFarads); // print the value to serial port Serial.println(" microFarads"); // print units } else { // if value is smaller than one microFarad, convert to nanoFarads (10^-9 Farad). nanoFarads = microFarads * 1000.0; // multiply by 1000 to convert to nanoFarads (10^-9 Farads) Serial.print((long)nanoFarads); // print the value to serial port Serial.println(" nanoFarads"); // print units } /* dicharge the capacitor */ digitalWrite(chargePin, LOW); // set charge pin to LOW pinMode(dischargePin, OUTPUT); // set discharge pin to output digitalWrite(dischargePin, LOW); // set discharge pin LOW while(analogRead(analogPin) > 0){ // wait until capacitor is completely discharged } pinMode(dischargePin, INPUT); // set discharge pin back to input }
Langkah 4: Pengujian Dioda
Pin analog ditarik ke atas ke 5V dengan resistor 10k Ohm. Jadi pin analog membaca 1023 ketika tidak ada yang terhubung. D12 diatur ke OUTPUT, LOW.
Saat dioda bias maju antara pin analog (5V) dan D12 (GND), pin analog membaca 100-400.
Saat bias mundur, hampir tidak ada arus yang mengalir dan pin analog membaca 900-1023.
Dengan cara ini kita dapat dengan mudah menemukan sisi p dan n dari setiap dioda. Ini dapat digunakan untuk pemeriksaan cepat LED dan dioda.
Kode
String state = "null"; int checkPin1 = 12; int checkPin2 = 6; void setup() { Serial.begin(9600); } void loop() { pinMode(checkPin1, OUTPUT); digitalWrite(checkPin1, LOW); //pin 11 is set to low //analog read is normally pulled up by the 10k resistor, so null reading is 1023 //In forward bias, the analog pin gets connected to checkPin1, which is LOW. So reading less than 1023 //Practically a small current flows in reverse bias as well, so we take 700 to differentiate if(analogRead(checkPin2)<700){ state="forward"; } Serial.println(state); Serial.println(analogRead(checkPin2)); state = "null"; delay(500); }
Langkah 5: Jam Nyata (RTC)
RTC mempertahankan informasi detik, menit, jam, hari, tanggal, bulan, dan tahun. Ini terus menghitung meskipun daya eksternal dicabut berkat sel koin kecil di dalamnya. Tanggal di akhir bulan secara otomatis disesuaikan untuk bulan yang kurang dari 31 hari, termasuk koreksi untuk tahun kabisat.
Modul apa pun yang Anda miliki, kami akan menggunakan 4 pin: Vcc, GND, SDA dan SCL. Pin SDA dan SCL pada arduino nano dan uno adalah A4 dan A5 masing-masing. Untuk arduino lain, cari di google!
Kami akan menggunakan perpustakaan "RTClib", yang membuat pengaturan dan akses waktu sangat mudah! Perpustakaan dapat diunduh di sini (Klik "Download ZIP", dan ekstrak "RTClib-master" ke folder perpustakaan Arduino Anda. Lebih lanjut tentang pemasangan perpustakaan.)
Untuk mengatur waktu, unduh "RTC_set_time.ino" yang dilampirkan pada langkah ini dan buka komentar baris,
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
Jika Anda ingin menggunakan waktu yang diatur pada komputer Anda saat mengompilasi. Atau
Sambungkan seperti yang ditunjukkan dan unggah. Buka Serial monitor pada 9600 baud untuk melihat waktu saat ini. Periksa lagi setelah beberapa jam untuk melihat bagaimana RTC menangkap waktu.
Pastikan Anda mengembalikan komentar baris ini dan unggah lagi setelah mengatur waktu sekali. Atau Anda akan terus meresetnya setiap kali Arduino mereset!
Kode
// Date and time functions using a DS1307 RTC connected via I2C and Wire lib #include <Wire.h> #include <RTClib.h> RTC_DS1307 rtc;//creating "rtc" object of RTC_DS1307, objects are used to access functions //more on objects and classes: https://www.youtube.com/watch?v=ABRP_5RYhqU char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}; void setup () { Serial.begin(9600); rtc.begin(); // following line sets the RTC to the date & time this sketch was compiled // rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); // This line sets the RTC with an explicit date & time, for example to set // January 21, 2014 at 3am you would call: // rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0)); } void loop () { DateTime now = rtc.now(); Serial.print(now.year()); Serial.print('/'); Serial.print(now.month()); Serial.print('/'); Serial.print(now.day()); Serial.print(" ("); Serial.print(daysOfTheWeek[now.dayOfTheWeek()]); Serial.print(") "); Serial.print(now.hour()); Serial.print(':'); Serial.print(now.minute()); Serial.print(':'); Serial.print(now.second()); Serial.println(); Serial.println(); delay(1000); }
Langkah 6: Pengaturan Akhir
Itulah rangkaian akhir setelah menggabungkan semua elemen. Kode utama dan file fritzing dilampirkan di akhir.
Unduh fritzing dari fritzing.org jika Anda belum melakukannya.
Ekstrak file Main_code.rar dan buka Main_file_rtc.ino. Saya telah menyertakan semua deklarasi variabel dalam file header terpisah defanations.h, itu akan ditambahkan secara otomatis saat Anda membuka kode utama.
Bagian-bagian yang berbeda dibuat menjadi fungsi: Clock(), findResistance(), findCapcitance() dan diodeTest(). Ini ditulis dalam tab terpisah, sehingga pembaca mudah dan perubahan mudah diterapkan. File utama hanya memeriksa status "tombol mode" dan memanggil fungsi yang sesuai.
Detail lainnya dijelaskan dengan baik dalam kode itu sendiri.
Setelah tes pada papan roti, kami siap untuk mulai membuat IC!
Catatan: Buzzer jika belum digunakan, dapat digunakan saat diperlukan, misalnya, fungsi kontinuitas.
Langkah 7: Menyiapkan Saklar
Ambil 3 saklar geser dengan 3 pasang kawat, panjang sekitar 10cm. Saya memisahkan kawat pita untuk ini.
Belah sedikit isolasi (tidak lebih dari 5mm) dan putar seratnya.
Oleskan sedikit solder pada 2 pin berseberangan dari setiap saklar. Gunakan sesuatu untuk menahan sambil Anda menyolder, saya menggunakan alat tekan berat.
Jika Anda belum pernah menyolder sebelumnya, sekarang adalah waktu yang baik untuk memulai. Youtube memiliki banyak video yang mengajarkan cara menyolder dengan benar. Pelajaran dari PACE sangat informatif, silakan tonton.
Selanjutnya kita harus 'menstani' kawat. Sentuh ujung pengemot solder ke kawat yang akan distani. Oleskan sedikit solder di antara ujung dan kawat, ini membuat jembatan yang menghantarkan panas dari ujung ke kawat. Kemudian Anda mengaplikasikan solder langsung ke kawat, di sisi seberang ujung pengemot solder. Lepaskan solder. Lepaskan ujung. Video tentang ini.
Setiap itu, pegang saklar di tempat, bawa salah satu kawat yang telah distani ke pin dan alirkan kembali solder dengan menyentuh pengemot solder. Lakukan hal yang sama dengan kawat kedua. Perhatikan bahwa saya menempatkan kawat berwarna gelap di satu sisi saklar.
Sekarang ulangi prosedur dan pasang dua kawat ke tombol push (ini akan menjadi tombol reset). Pastikan Anda tidak meletakkan kawat pada ujung yang biasanya terhubung dari tombol.
Langkah 8: Membuat Kotak - Memotong Tata Letak
Unduh "Layout_Final_A3.pdf" atau "Layout_Final_ANSI_B.pdf", berdasarkan ukuran kertas yang tersedia di wilayah Anda. dilampirkan di akhir.
Cetak pada kertas ukuran A3 (29.7 x 42.0cm atau 11.69 x 16.53 inci) atau alternatif US ANSI B (11 x 17 inci atau 279 × 432mm). Pastikan saat mencetak Anda memilih ukuran kertas, orientasi, dan pilih opsi "Ukuran Aktual". Konfirmasi bahwa cetakan akurat dengan mengukur sudut siku kecil di pojok kanan bawah, harusnya 2cm x 2cm.
Potong bagian kardus yang lebih besar dari tata letak. Sobek sepotong tape kecil, bentuk gulungan 'dwi sisi lengket', dan pasang di tempat yang ditunjukkan. Kemudian tempel lembaran pada kardus.
Gunakan gunting tajam atau cutter kotak dengan penggaris untuk memotong batas luar tata letak kotak. Saya menemukan cutter kotak jauh lebih baik dari gunting. Sebagian besar cutter akan memiliki blader yang dapat dipecah dalam tahapan untuk mendapatkan ujung yang segar dan tajam, jadi melakukan itu disarankan. Simpan potongan kardus atau kayu di bawah bagian yang Anda potong, ini membantu menghasilkan potongan yang lebih bersih.
Juga, tidak menempatkan penggaris dengan benar pada garis saat memotong adalah kesalahan umum. Jangan melakukan ini dengan terburu-buru.
Langkah 9: Membuat Kotak - Lipatan dan Lipatan
Gunakan cutter dengan skalar, buat lipatan dengan hati-hati di sepanjang semua garis lipatan, kecuali garis tengah di Area LCD. Lengkung dan lipat semua bagian yang dapat dilipat dan perbaiki lipatan yang belum lengkap.
Untuk bagian bawah atau dasar:
Gunakan kertas abrasif untuk menggerus empat tepi pertama dengan kemiringan, oleskan lem panas dengan pistol lem (satu sisi pada satu waktu), gabungkan dan tahan 30-60 detik saat lem mendingin.
Buat dua lubang dengan jempol pins seperti yang ditunjukkan dan lebarkan dengan pensil hanya cukup untuk memasukkan bout. Ketupatkan dadu di dalam, oleskan lem panas (hanya pada dadu!), biarkan mendingin. Lepaskan bout dengan obeng.
Selanjutnya, lipat kedua flap sisi ke dalam dan tempel. Bagian luar flap seharusnya sedikit miring dan bagian tengah datar.
Langkah 10: Membuat Kotak - Menambahkan Saklar
Ambil 3 saklar geser dengan kawat yang kita solder sebelumnya, ukur dimensi persegi panjang yang diperkirakan. Tandai di sisi kiri kotak (kiri dari luar). Potong dengan cutter, gerus sedikit di dalam untuk menghapus bahan yang menempel.
Posisikan saklar pertama dan sambil memegangnya tambahkan lem di satu sisi. Biarkan mendingin. Ulangi dengan dua saklar lainnya, dan kemudian tambahkan lem di sisa sisi. Catatan: Pin yang berkawat dari saklar harus berada di sisi yang sama.
Buat lubang lain di sisi lain untuk tombol reset push. Pegang tombol di tempat dan tambahkan lem. Lipat flap bawah ke dalam dan tempel.
Langkah 11: Membuat Kotak - Bagian atas atau tutup
Gerus tepi dan tempel flap sisi ke dalam (sama seperti dasar) untuk bagian atas
Langkah 12: Membuat Kotak - Menambahkan LCD
Buat lipatan garis tengah. (Tidak dilakukan sebelumnya karena rawan dan mudah longgar).
Lipat tutup ke atas dasar dan periksa apakah semuanya terlihat baik, pastikan ada ruang yang cukup untuk pin IC. (Lihat foto)
Potong flap penutup seperti yang ditunjukkan dalam gambar.
Letakkan LCD di tengah Area LCD, tandai dengan pensil. Menggunakan penggaris, buat persegi panjang dengan benar dan potong dengan hati-hati menggunakan cutter. Lipat jendela LCD dan oleskan lem pada seng untuk menjaga mereka pada posisi yang benar. Masukkan LCD dan lakukan modifikasi jika diperlukan.
Terakhir, oleskan lem di empat sudut LCD (jangan berlebihan) dan letakkan pada posisi.
Langkah 13: Membuat Kotak - Flap Akhir
Gerus, rapikan dan tutup flap segitiga.
Buat potongan kecil seperti yang ditunjukkan dan tempel ke tutup. Buat dua lubang, lebarkan dengan pensil untuk memasukkan bout dan mengunci tutup ke dasar.
Langkah 14: Papan Rangkaian -- Menjadikannya Muat
Potong PCB tujuan umum ke ukuran yang benar sehingga muat dengan baik di kotak. Milik saya 2x4 inci. Untuk memotong, gunakan penggaris dan cutter dan swipe beberapa kali di kedua sisi dan itu akan mudah terpisah.
Letakkan di dalam. Jika lem dari flap sisi mengangkat PCB, panaskan kembali lem untuk meratakan atau kurangi ukuran PCB sedikit.
Potong bagian kecil sehingga 3 saklar muat dan PCB masuk sepenuhnya ke dalam.
Langkah 15: Papan Rangkaian -- Arduino Nano
Potong pin header perempuan dengan ukuran yang tepat untuk Arduino.
Letakkan di tepi tengah PCB dan solder semua pin.
Langkah 16: Papan Rangkaian -- Ohmmeter
Sebelum membuat koneksi apa pun pada PCB, periksa kembali dari Desain Rangkaian Akhir.
Untuk ohmmeter mulai dengan menambahkan resistor 1k Ohm ke pin D2 arduino. Letakkan arduino dan tandai pin dengan hati-hati. Di sisi belakang, lengkung seperti yang ditunjukkan dan solder.
Lakukan hal yang sama dengan 4 resistor lainnya, 4.7k, 10k, 47k dan 100k Ohm.
Catatan: Menempatkan semua toleransi (emas) di satu sisi adalah praktik yang baik, misal ATAS dan KANAN.
Gabungkan ujung kedua resistor dan solder ke A7.
Langkah 17: Papan Rangkaian -- Meter Kapasitansi dan Pengujian Dioda
Meter Kapasitansi:
Solder resistor 220 Ohm dari D12 ke A0. Dan resistor 10k Ohm dari A0 ke D7.
Catatan: D7 (pin digital) juga digunakan untuk pin data LCD D4.
Pengujian Dioda:
Solder resistor pullup 10k Ohm dari A6 ke +5V.
Langkah 18: Membuat Konektor untuk LCD
Kami hanya menggunakan 6 pin pertama dan 6 pin terakhir pada LCD. Pin D0-D3 tidak digunakan. Jadi kami akan membuat konektor hanya untuk pin yang digunakan. Direkomendasikan agar Anda melakukan hal yang sama karena mencabut/mencabut konektor 16 pin menjadi sangat sulit setelah pembangunan selesai.
Potong 2x 6pin header pin perempuan dan pria. Juga ambil 6 kawat pita, sekitar 2-2,5 inci panjang.
Belah isolasi dan stani ujung. Juga stani header pin. Gabungkan satu per satu seperti saklar geser.
Terapkan lem panas untuk mengamankan kawat.
Langkah 19: Papan Rangkaian -- Koneksi LCD
Tempatkan PCB di dalam kotak. Colokkan konektor ke LCD dan lihat di mana port perempuan harus berada pada PCB, solder.
Pastikan Anda meninggalkan 4-5 baris titik di belakang port LCD. Saklar daya akan ditambahkan di sini nanti.
Ukur panjang kawat tunggal yang diperlukan untuk menghubungkan pin data (D4, D5, D6 dan D7) pada LCD ke pin digital (D7, D8, D9 dan D10) pada Arduino, masing-masing.
Tambahkan potensium 10k ohm sehingga ujung sisi pergi ke Vcc, GND dan pin tengah ke V0.
Hubungkan Vss(GND) pada LCD ke GND, dan Vdd ke +5V. Juga hubungkan R/W ke GND.
Pin Arduino
LCD
D7 D4 D8 D5 D9 D6 D10 D7 GND Vss(GND) +5V Vdd
Langkah 20: Papan Rangkaian -- Modul RTC
Saya melepas pin header default 90 derajat pada modul dan menambahkan pin lurus sehingga datar pada PCB.
Solder header pin perempuan 4pin dan buat koneksi ke Vcc, GND, SDA ke A4 dan SCL ke A5.
Langkah 21: Membuat Kotak -- Tombol Mode
Tandai lingkaran dengan diameter sekitar 1cm di pojok pin1 kotak IC. tandai pusat dengan pin, gunakan pensil untuk memperluasnya. Setelah itu gunakan alat yang sesuai untuk meningkatkan diameter menjadi 1cm. Gerus di dalam dan gunakan lem panas untuk mengamankan lubang.
Potong bagian PCB tujuan umum (10-11) titik x 5 titik. Colok dan solder tombol push, resistor 220 dan 10k Ohm seperti yang ditunjukkan.
Ambil kawat pita 3 kawat panjang sekitar 15cm. Stani ujung dan solder seperti yang ditunjukkan. Catat warna kawat mana yang pergi ke mana, ini akan berguna nanti.
Potong 2 potongan kecil penghapus dan letakkan di ujung papan. Tinggi penghapus harus sedemikian sehingga tombol berada di bawah tingkat dalam kardus seperti yang dilihat dari luar. Saya menggunakan 4mm.
Amankan dengan lem panas seperti yang ditunjukkan
Langkah 22: Membuat Kotak -- Titik Pengujian
Potong 6x 6pin header pin perempuan. Gerus sisi untuk membuatnya halus.
Tandai posisi dan potong slot untuk header pin. Masukkan pada tempat dan oleskan lem dari dalam.
Terapkan sedikit solder pada semua pin dan gunakan kabel jumper yang telah diselingi untuk menggabungkannya semua. Pastikan semuanya terhubung. Jangan terus memanasi untuk membuatnya sempurna. Memanaskan pin juga memanasi tetangganya.
Ambil kawat pita 6 benang, stani dan pasang ke setiap slot. Perhatikan bahwa saya menempatkan warna gelap di sisi negatif. Terapkan lem panas untuk memperbaiki mereka pada tempat.
Langkah 23: Kaki
Unduh "Legs_A4.pdf" atau "Legs_ANSI_A.pdf", berdasarkan ukuran kertas yang tersedia di wilayah Anda. dilampirkan di akhir.
Cetak pada kertas ukuran A4 (21 x 29.7cm atau 8.27 x 11.69 inci) atau alternatif US ANSI A (8.5 x 11 inci atau 21.6 × 27.9cm). Pastikan saat mencetak Anda memilih ukuran kertas, orientasi, dan pilih opsi "Ukuran Aktual". Konfirmasi bahwa cetakan akurat dengan mengukur persegi panjang. Harusnya 8.4 x 11.8cm
Potong, buat lipatan dan tempel sama seperti kotak utama, lihat gambar.
Langkah 24: Membuatnya bersinar!
Potong sepotong folia 1x2 inci dan tempel dengan hati-hati, lipat demi lipat ke ujung kaki dengan lem kardus-logam. Saya menggunakan Fevibond.
Selanjutnya tempel patch yang menutupi semua ujung kaki (seperti yang ditunjukkan), buat potongan perlahan dengan cutter. Lakukan dengan hati-hati. Folia mudah robek ke sisi. Gunakan sesuatu yang datar untuk menempelkan folia di antara kaki dan berikan finishing yang baik.
Sekarang tutup dengan cello tape transparan, sama seperti Anda melepas folia, untuk melindunginya dari benda tajam.
Langkah 25: Saklar Daya
Ukur dan potong kaki saklar daya dengan menempatkannya dengan benar. Tempatkan sementara pin lain dengan tape untuk mendapatkan posisi pin1 yang benar.
Campur m-seal (epoxy putty sealant, menjadi sangat keras saat kering) dengan baik. Tempatkan seperti yang ditunjukkan dalam gambar dan gunakan bubuk+permukaan datar untuk membentuknya. Biarkan kering.
Juga isi celah yang tersisa di kotak Anda.
Catatan: Kita tidak dapat menggunakan lem panas di sini karena karet dan saklar perlu ditempel dengan bahan rapuh yang kuat.
Langkah 26: Saklar Daya ke PCB
Setelah m-seal kering, letakkan untuk memeriksa apakah semuanya baik.
Potong 3 pin header perempuan dan pria letakkan pada PCB sehingga selaras dengan pin saklar. Solder bagian perempuan.
Stani kawat saklar dan pin header pria, gabungkan. Lihat apakah muat di tempat yang benar.
Coba dorong saklar on dan off setelah menempatkan jari di belakang saklar untuk dukungan. Kami akan menambahkan batang dukungan nanti.
Hubungkan pin sisi header perempuan (saklar daya) ke Vin. Saya menyadari ini terlambat dan harus melalui banyak kesulitan.
Amankan header pin dengan lem panas.
Langkah 27: Membuat Port USB
Letakkan PCB dengan benar di dalam (dengan Arduino) dan potong persegi panjang untuk port USB mini.
Hapus sedikit plastik dari kabel USB sehingga muat dengan baik pada Arduino. Uji apakah koneksi baik.
Langkah 28: Beberapa hal lain...
Saya melepas semua LED dari Arduino Nano dan juga LED daya pada modul RTC saya. Ini mengkonsumsi daya yang tidak perlu, yang penting jika Anda beroperasi dengan baterai.
Gerus m-seal yang kering sehingga mencampur dengan halus dengan kardus. Bersihkan bubuk dengan tisu basah sebelum melukis.
Saya juga menambahkan buzzer yang dapat digunakan untuk beberapa fungsi. Buzzer sensitif, jangan menggunakan terlalu banyak panas saat menyolder!
Langkah 29: Waktu melukis!
Jangan menggunakan cat tebal langsung saat melukis, ini menyebabkan pola kuas muncul. Gunakan air yang cukup.
Pastikan tidak ada gelembung kecil yang terbentuk. Ini terbentuk saat Anda membeku kuas terlalu banyak.
Jangan melukis seng tutup, cat akan membatasi gerakannya.
Ini hanya cat dasar. Lapisan cat lain akan ditambahkan saat finishing.
Langkah 30: Menyolder semua kawat
Pastikan Anda merujuk ke desain rangkaian sebelum membuat koneksi apa pun.
Pertama hubungkan tombol reset, satu ujung ke RST dan satu ujung ke GND.
Selanjutnya, saklar lampu latar. Satu ujung ke +5V dan ujung lain ke 'A' atau Anoda lampu latar LED. Juga hubungkan 'K', Katoda ke GND.
Selanjutnya adalah saklar RS, hubungkan satu ujung ke RS dan ujung lain ke pin D1 (TX).
Dan akhirnya saklar Enable. Hubungkan satu ujung ke 'E' atau Enable dan ujung lain ke pin D0 (RX).
Saklar
Ke mana?
Reset - tombol push RST dan GND Backlight - saklar geser +5V dan A RS - saklar geser D1 (TX) dan RS Enable - saklar geser D0 (RX) dan E
Catatan: Pin D0 dan D1 terhubung melalui saklar karena menyimpan mereka terkadang menyebabkan masalah saat menggunakan Serial (untuk debugging).
Ini menyelesaikan kabel dasar. Terapkan lem panas setelah memeriksa kembali koneksi.
Selanjutnya hubungkan 3 kawat tombol perubahan mode: Resistor turun 10k ke GND. Resistor 220 Ohm ke pin D11 dan pin input ke +5V atau VCC
Akhirnya hubungkan 6 kawat dari slot pengujian ke tempat yang sesuai (ditunjukkan dalam gambar).
Catatan: Semua +5V dan GND sama dan terkait ke tempat yang paling nyaman.
Langkah 31: Menambahkan Kotak Baterai
Tempatkan kotak baterai di tutup atas, buat potongan untuk menempatkannya di dalam sehingga tutup dapat ditutup dengan baik.
Solder kawat ke kotak, belah dan stani. Solder ujung positif ke pin tengah saklar daya dan ujung negatif ke ground.
Tempel PCB ke dasar setelah membuat semua koneksi.
Putar kawat dan letakkan pada posisi. Masukkan baterai (kotak sedikit melebar saat memasukkan baterai) dan tempel kotak ke tutup.
Langkah 32: Menambahkan Kaki
Potong bagian dalam kaki sehingga muat dengan baik. Tempel pada tempat.
Masukkan pin saklar daya untuk memeriksa apakah muat sempurna. Lepaskan, tambahkan batang logam, kayu atau apa pun yang kuat dengan panjang yang tepat yang akan mencegah saklar bergerak ke belakang. Tempel pada tempat.
Periksa saklar, seharusnya menyala/mati dengan lancar.
Nyalakan IC dan uji semua fungsi. Jika tidak bekerja, lewati ke bagian pemecahan masalah.
Langkah 33: Finishing up!
Gunakan M-seal (atau setara) untuk mengisi celah kecil di sekitar area pengujian dan tombol perubahan mode. Setelah kering, gerus dengan baik dan terapkan lapisan cat kedua.
Buat tombol dengan sepotong kardus kecil, cat hitam dan tutup dengan tape (memberikan finishing bersinar). Terapkan sebutir lem kecil dan tempel tombol pada tempat.
Langkah 34: Masalah dan Pemecahan Masalah
Lakukan semuanya dengan benar. Ini adalah bagian paling membosankan dari setiap proyek dan Anda tidak ingin datang ke sini hanya karena menyolder pin yang salah!
Periksa kembali setiap persilangan solder dan pastikan tidak menyentuh yang berseberangan. Gunakan tes kontinuitas multimeter untuk bantuan.
Setelah memotong kawat komponen/jumper pastikan kawat yang dipotong tidak jatuh di bawah PCB. Ini dapat menyebabkan persilangan solder yang tidak diinginkan.
Tuliskan apa pun yang perlu diingat dalam buku, jangan percaya pada ingatan Anda.
Jika LCD tidak menampilkan, pastikan kontras disesuaikan dengan baik. Juga pastikan saklar pin 0 dan 1 dihidupkan. Periksa semua koneksi pin dari LCD ke Arduino dengan tes kontinuitas. Gunakan kabel jumper papan roti di mana multimeter Anda tidak dapat mencapai.
Unggah program hello world LCD untuk melihat apakah masalah ada di kode.
Jika fungsi tertentu tidak bekerja, periksa koneksinya dan cocokkan dengan kode.
Dan yang paling penting, jaga hewan peliharaan yang penasaran dengan pikiran jahat mereka dari ruang kerja Anda! :p
Langkah 35: Hal yang saya lakukan, beberapa kesalahan yang saya buat
Saat menguji berbagai rangkaian dan ketika saya memiliki ide kasar tentang apa yang ingin saya buat, saya memutuskan untuk menggunakan desain IC. Saya mengukur IC aktual, mengambil rasio panjangnya, mendapatkan sudut dengan beberapa trigonometri sekitar 80 derajat. Kemudian saya memutuskan panjang dan lebar kotak dalam dan membangun di atasnya (ditunjukkan dalam gambar). Setelah tata letak direncanakan, saya awalnya mulai menggambarnya secara akurat pada kertas besar. Setelah sedikit kesulitan menggambar garis yang akurat, saya menyadari bahwa jenis pekerjaan ini harus dilakukan di komputer! Jadi saya mempelajari dasar CAD dan berhasil membuat tata letak di dalamnya. :) Tetapi tata letak ini tidak berhasil dan saya harus mengulang seluruh pemotongan dan pembuatan kotak. (Lihat gambar)
Saat melepas LED pada Arduino Nano saya menggunakan tekanan berlebihan untuk melepas LED yang sulit, dan akhirnya melepas pad PCB. Selalu lepaskan solder tanpa memaksa/menggunakan tekanan pada persilangan, pad tersebut rapuh dan mudah longgar jika Anda tidak tenang.
Ketika semua persilangan selesai dan proyek hampir selesai, dalam kegembiraan dan keinginan, saya melekatkan PCB di dalam kotak sebelum menambahkan kotak baterai. Harus meleleh kembali lem panas dengan pengemot solder (hati-hati tidak melelehkan isolasi kawat) dan mengeluarkan PCB untuk menyolder kawat kotak baterai. Pengemot solder dapat dibersihkan kemudian.
Baterai modul RTC menghalangi baterai saat menutup jadi saya memisahkan tempat baterai (Peringatan: lepaskan solder hanya dengan baterai dilepas) dan menambahkan kawat perpanjang sehingga baterai dapat ditempatkan di sisi di mana ada ruang.
Semua PDF Tata Letak, File CAD dan Kode Utama dapat diunduh di sini: Google Drive
Kode
Cuplikan kode #1
Cuplikan kode #2
Cuplikan kode #3
Cuplikan kode #4
Cuplikan kode #1Teks Biasa
//Analog pin used to find resistance int Apin=7; //values of r1 to r5 float r1=1000; float r2=4700; float r3=10000; float r4=47000; float r5=100000; //pins of r1 to r5 int r1_pin=2; int r2_pin=3; int r3_pin=4; int r4_pin=5; int r5_pin=6; float reading=0; //read from analog pin and store here float R=0; //calculate unknown and store here String finalR; //final value to be displayed along with units int caseno; //for debugging, stores the case number // we divide the entire range into cases and assign each a number, // total 5 cases // case1 : less than 2850 // case2 : 2850 to 7350 // case3 : 7350 to 28500 // case4 : 28500 to 73500 // case5 : more than 73500 #include <stdlib.h> // needed for converting float to string, //has the String(float,n) function. Explained below. void setup() { Serial.begin(9600); } void loop() { //first we find unknown resistance using 1kOhm resistor //Therefore, disable R2, R3, R4 and R5 digitalWrite(r2_pin, LOW); //turn each pin to LOW before setting it as INPUT pinMode(r2_pin, INPUT); // turning it to INPUT when its HIGH enables the // internal pullup resistor digitalWrite(r3_pin, LOW); pinMode(r3_pin, INPUT); digitalWrite(r4_pin, LOW); pinMode(r4_pin, INPUT); digitalWrite(r5_pin, LOW); pinMode(r5_pin, INPUT); pinMode(r1_pin, OUTPUT); digitalWrite(r1_pin, HIGH); //read and calculate resistance reading=analogRead(Apin); R=(reading*r1)/(1023-reading); // if value < 2850, finalR = value(using 1kOhm) if(R<2850){ caseno=1; if(R<1000){ //if value less than 1000 use "Ohm" not "kOhm" finalR = String(R,2) + "Ohm"; //String(float,n) Converting float to string //with n digits after decimal // attach "Ohm" after value to the string, //'+' joins two strings here } else{ //use "kOhm R=R/1000; finalR = String(R,2) + "kOhm"; } } //if value between 2850 and 7350 , use value obtained by 4.7kOhm else if(R>=2850 && R<7350){ caseno=2; digitalWrite(r1_pin, LOW); //Enable only 4.7kOhm pinMode(r1_pin, INPUT); digitalWrite(r3_pin, LOW); pinMode(r3_pin, INPUT); digitalWrite(r4_pin, LOW); pinMode(r4_pin, INPUT); digitalWrite(r5_pin, LOW); pinMode(r5_pin, INPUT); pinMode(r2_pin, OUTPUT); digitalWrite(r2_pin, HIGH); reading=analogRead(Apin); R=(reading*r2)/(1023-reading)/1000; finalR = String(R,2) + "kOhm"; } //if value between 7350 and 28500, use value obtained by 10kOhm else if(R>=7350 && R<28500){ caseno=3; digitalWrite(r1_pin, LOW); pinMode(r1_pin, INPUT); digitalWrite(r2_pin, LOW); pinMode(r2_pin, INPUT); digitalWrite(r4_pin, LOW); pinMode(r4_pin, INPUT); digitalWrite(r5_pin, LOW); pinMode(r5_pin, INPUT); pinMode(r3_pin, OUTPUT); digitalWrite(r3_pin, HIGH); reading=analogRead(Apin); R=(reading*r3)/(1023-reading)/1000; finalR= String(R,2) + "kOhm"; } //if value between 28500 and 73500, use value obtained by 47kOhm else if(R>=28500 && R<73500){ caseno=4; digitalWrite(r1_pin, LOW); pinMode(r1_pin, INPUT); digitalWrite(r2_pin, LOW); pinMode(r2_pin, INPUT); digitalWrite(r3_pin, LOW); pinMode(r3_pin, INPUT); digitalWrite(r5_pin, LOW); pinMode(r5_pin, INPUT); pinMode(r4_pin, OUTPUT); digitalWrite(r4_pin, HIGH); reading=analogRead(Apin); R=(reading*r4)/(1023-reading)/1000; finalR = String(R,2) + "kOhm"; } //if value more than 73500, use value obtained by 100kOhm else if(R>=73500){ caseno=5; digitalWrite(r1_pin, LOW); pinMode(r1_pin, INPUT); digitalWrite(r2_pin, LOW); pinMode(r2_pin, INPUT); digitalWrite(r3_pin, LOW); pinMode(r3_pin, INPUT); digitalWrite(r4_pin, LOW); pinMode(r4_pin, INPUT); pinMode(r5_pin, OUTPUT); digitalWrite(r5_pin, HIGH); reading=analogRead(Apin); R=(reading*r5)/(1023-reading)/1000; finalR = String(R,2) + "kOhm" ; } Serial.println(finalR); //printing the final string with units Serial.println(" "); delay(1000); }
Cuplikan kode #2Teks Biasa
/* RCTiming_capacitance_meter * code concept taken from Paul Badger 2008 * * The capacitor's voltage at one time constant is defined as * 63.2% of the charging voltage. * i.e, A Capacitor is filled to 63.2% of its total capacity in * 1 Time Constant */ int analogPin=0 ; // analog pin for measuring capacitor voltage int chargePin=7 ; // pin to charge the capacitor - connected to // one end of the charging resistor int dischargePin=12 ; // pin to discharge the capacitor, // same used for diode test(checkPin1) float resistorValue=10000.0; // We use 10kOhm resistor unsigned long startTime; unsigned long elapsedTime; float microFarads; // floating point variable to preserve precision float nanoFarads; void setup(){ pinMode(chargePin, OUTPUT); // set chargePin to output digitalWrite(chargePin, LOW); Serial.begin(9600); // initialize serial transmission for debugging } void loop(){ digitalWrite(chargePin, HIGH); // set chargePin HIGH and capacitor charging startTime = millis(); while(analogRead(analogPin) < 648){ // just wait and do nothing till 648 // 647 is 63.2% of 1023, // which corresponds to full-scale voltage } elapsedTime= millis() - startTime; // convert milliseconds to seconds ( 10^-3 ) // and Farads to microFarads ( 10^6 ), net 10^3 (1000) microFarads = ((float)elapsedTime / resistorValue) * 1000; // (float) converts "unsigned long" elapsed time to float Serial.print(elapsedTime); // print the value to serial port Serial.print(" mS "); // print units if (microFarads > 1){ Serial.print((long)microFarads); // print the value to serial port Serial.println(" microFarads"); // print units } else { // if value is smaller than one microFarad, convert to nanoFarads (10^-9 Farad). nanoFarads = microFarads * 1000.0; // multiply by 1000 to convert to nanoFarads (10^-9 Farads) Serial.print((long)nanoFarads); // print the value to serial port Serial.println(" nanoFarads"); // print units } /* dicharge the capacitor */ digitalWrite(chargePin, LOW); // set charge pin to LOW pinMode(dischargePin, OUTPUT); // set discharge pin to output digitalWrite(dischargePin, LOW); // set discharge pin LOW while(analogRead(analogPin) > 0){ // wait until capacitor is completely discharged } pinMode(dischargePin, INPUT); // set discharge pin back to input }
Cuplikan kode #3Teks Biasa
String state = "null"; //prints "null" for reverse bias or nothing connected int checkPin1 = 12; int checkPin2 = 6; void setup() { Serial.begin(9600); } void loop() { pinMode(checkPin1, OUTPUT); digitalWrite(checkPin1, LOW); //pin 11 is set to low //analog read is normally pulled up by the 10k resistor, so null reading is 1023 //In forward bias, the analog pin gets connected to checkPin1, which is LOW. So reading less than 1023 //Practically a small current flows in reverse bias as well, so we take 700 to differentiate if(analogRead(checkPin2)<700){ state="forward"; } Serial.println(state); Serial.println(analogRead(checkPin2)); state = "null"; delay(500); }
Cuplikan kode #4Teks Biasa
// Date and time functions using a DS1307 RTC connected via I2C and Wire lib #include #include RTC_DS1307 rtc;//creating "rtc" object of RTC_DS1307, objects are used to access functions //more on objects and classes: https://www.youtube.com/watch?v=ABRP_5RYhqU char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}; void setup () { Serial.begin(9600); rtc.begin(); // following line sets the RTC to the date & time this sketch was compiled // rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); // This line sets the RTC with an explicit date & time, for example to set // January 21, 2014 at 3am you would call: // rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0)); } void loop () { DateTime now = rtc.now(); Serial.print(now.year()); Serial.print('/'); Serial.print(now.month()); Serial.print('/'); Serial.print(now.day()); Serial.print(" ("); Serial.print(daysOfTheWeek[now.dayOfTheWeek()]); Serial.print(") "); Serial.print(now.hour()); Serial.print(':'); Serial.print(now.minute()); Serial.print(':'); Serial.print(now.second()); Serial.println(); Serial.println(); delay(1000); }