Daftar Isi:

Jam Nixie Bargraph: 6 Langkah (dengan Gambar)
Jam Nixie Bargraph: 6 Langkah (dengan Gambar)

Video: Jam Nixie Bargraph: 6 Langkah (dengan Gambar)

Video: Jam Nixie Bargraph: 6 Langkah (dengan Gambar)
Video: Технология винтажного дисплея, часть 5: измеритель-часы Nixie-Bargraph 2024, Juli
Anonim
Jam Nixie Bargraph
Jam Nixie Bargraph
Jam Nixie Bargraph
Jam Nixie Bargraph

Sunting 9/11/17Dengan bantuan Kickstarter, saya sekarang telah merilis kit untuk kit jam ini! Ini termasuk papan driver dan 2 tabung Nixie IN-9. Yang perlu Anda tambahkan hanyalah Arduino/Raspberry Pi/lainnya. Kit dapat ditemukan tetapi mengklik tautan ini!

Jadi saya telah melihat banyak jam Nixie online dan berpikir mereka tampak hebat, namun saya tidak ingin menghabiskan $100+ untuk jam yang bahkan tidak termasuk tabungnya! Jadi dengan sedikit pengetahuan elektronik saya mencari berbagai tabung nixie dan sirkuit. Saya ingin membuat sesuatu yang sedikit berbeda dengan berbagai macam jam tangan nixie yang umumnya terlihat mirip. Akhirnya saya memilih untuk menggunakan tabung bargraph Nixie IN-9. Ini adalah tabung tipis panjang dan ketinggian plasma bercahaya tergantung pada arus yang melalui tabung. Tabung di sebelah kiri dalam hitungan jam dan tabung di sebelah kanan dalam hitungan menit. Mereka hanya memiliki dua sadapan sehingga membuat rangkaian lebih lurus ke depan. Dalam desain ini, ada tabung satu jam dan satu menit, dengan ketinggian plasma di setiap tabung mewakili waktu saat ini. Waktu disimpan menggunakan mikrokontroler Adafruit Trinket dan real time clock (RTC).

Langkah 1: Merakit Bagian

Merakit Bagian
Merakit Bagian

Ada dua bagian, pertama elektronik dan kedua pemasangan dan finishing. Komponen elektronik yang dibutuhkan adalah: Adafruit Trinket 5V - $7,95 (www.adafruit.com/products/1501) Adafruit RTC - $9 (www.adafruit.com/products/264) 2x Nixie IN-9 bargraph ~ $3 per tabung di eBay 1x Catu daya Nixie 140v ~$12 di eBay Kapasitor elektrolit 4x 47 uF Resistor 4x 3,9 kOhm 2x 1 kOhm potensiometer 2x Transistor MJE340 NPN tegangan tinggi ~$1 masing-masing 1x LM7805 regulator 5v ~$1 1x soket 2.1mm ~$1 1x kotak proyek dengan pcb ~$5 1x Catu daya 12v DC (Saya menemukan yang lama dari beberapa gadget yang sudah lama terlupakan) Solder, kabel hookup, dll Pemasangan: Saya memutuskan untuk memasang elektronik dalam kotak proyek plastik hitam kecil, kemudian memasang tabung pada gerakan jam antik. Untuk menandai jam dan menit saya menggunakan kawat tembaga yang dililitkan di sekeliling tabung. Bagian pemasangan: Gerakan jam antik - $10 eBay Kawat tembaga - $3 eBay Pistol lem panas

Langkah 2: Sirkuit

sirkuit
sirkuit
sirkuit
sirkuit
sirkuit
sirkuit
sirkuit
sirkuit

Langkah pertama adalah membangun catu daya Nixie. Ini datang sebagai kit kecil yang bagus dari eBay, termasuk sedikit PCB dan hanya membutuhkan komponen untuk disolder ke papan. Pasokan khusus ini bervariasi antara 110-180v, dapat dikontrol dengan pot kecil di papan. Menggunakan obeng kecil, sesuaikan output ke ~140v. Sebelum saya pergi ke seluruh jalan saya ingin menguji tabung nixie saya, untuk melakukan ini saya membangun rangkaian uji sederhana menggunakan satu tabung, transistor dan potensiometer 10k saya telah meletakkan sekitar. Seperti dapat dilihat pada gambar pertama, suplai 140v terpasang pada anoda tabung (kaki kanan). Katoda (kaki kiri) kemudian dihubungkan ke kaki kolektor transistor MJE340. Suplai 5v terhubung ke pot 10k yang membagi ke ground ke basis transistor. Akhirnya emitor transistor dihubungkan melalui resistor pembatas arus 300 ohm ke ground. Jika Anda tidak terbiasa dengan transistor dan elektronik, itu tidak masalah, cukup sambungkan dan ubah ketinggian plasma dengan kenop panci! Setelah itu berfungsi, kita dapat melihat pembuatan jam kita. Rangkaian full clock dapat dilihat pada diagram rangkaian kedua. Setelah beberapa penelitian, saya menemukan tutorial yang sempurna di situs web Adafruit belajar melakukan hampir persis apa yang ingin saya lakukan. Tutorial dapat ditemukan di sini: https://learn.adafruit.com/trinket-powered-analog-m… Tutorial ini menggunakan pengontrol Trinket dan RTC untuk mengontrol dua meter amp analog. Menggunakan modulasi lebar pulsa (PWM) untuk mengontrol defleksi jarum. Kumparan amp meter rata-rata PWM menjadi sinyal dc efektif. Namun jika kita menggunakan PWM secara langsung untuk menggerakkan tabung maka modulasi frekuensi tinggi berarti bilah plasma tidak akan tetap "dijepit" ke dasar tabung dan Anda akan memiliki bilah yang melayang. Untuk menghindari hal ini saya rata-rata PWM menggunakan low pass filter dengan waktu yang lama konstan untuk mendapatkan sinyal hampir dc. Ini memiliki frekuensi terputus 0,8 Hz, ini bagus karena kami memperbarui waktu jam hanya setiap 5 detik. Selain itu karena bargraph memiliki rentang hidup yang terbatas dan mungkin perlu diganti dan tidak setiap tabung persis sama, saya memasukkan pot 1k setelah tabung. Hal ini memungkinkan tweaking untuk menyesuaikan tinggi plasma untuk dua tabung. Untuk menyambungkan perhiasan kecil ke jam waktu nyata (RCT) sambungkan Trinket-pin 0 ke RTC-SDA, Trinket-pin 2 ke RTC-SCL dan Trinket-5v ke RTC-5v dan Trinket GND ke ground RTC. Untuk bagian ini mungkin berguna untuk melihat instruksi jam Adafruit, https://learn.adafruit.com/trinket-powered-analog-…. Setelah Trinket dan RTC terhubung dengan benar, pasang tabung nixie, transistor, filter, dll pada papan tempat memotong roti dengan hati-hati mengikuti diagram rangkaian.

Untuk membuat RTC dan Trinket berbicara, Anda harus terlebih dahulu mengunduh pustaka yang benar dari Adafruit Github. Anda membutuhkan TinyWireM.h dan TInyRTClib.h. Pertama kita ingin mengkalibrasi tabung, unggah sketsa kalibrasi di akhir instruksi ini. Jika tidak ada sketsa di akhir yang berhasil, cobalah sketsa jam Adafruit. Saya telah mengubah sketsa jam Adafruit untuk bekerja paling efektif dengan tabung nixie tetapi sketsa Adafruit akan bekerja dengan baik.

Langkah 3: Kalibrasi

Kalibrasi
Kalibrasi

Setelah Anda mengunggah sketsa kalibrasi, kelulusan perlu ditandai.

Ada tiga mode untuk kalibrasi, yang pertama mengatur kedua tabung nixie ke output maksimum. Gunakan ini untuk mengatur pot sehingga tinggi plasma di kedua tabung sama dan sedikit di bawah ketinggian maksimum. Ini memastikan responsnya linier di seluruh rentang jam.

Pengaturan kedua mengkalibrasi tabung menit. Itu berubah antara 0, 15, 30, 45 dan 60 menit setiap 5 detik.

Pengaturan terakhir mengulangi ini untuk setiap kenaikan jam. Berbeda dengan jam Adafruit, indikator jam bergerak secara bertahap setiap satu jam sekali. Sulit untuk mendapatkan respons linier untuk setiap jam saat menggunakan meteran analog.

Setelah Anda menyesuaikan pot, unggah sketsa untuk dikalibrasi selama beberapa menit. Ambil kawat tembaga tipis dan potong pendek. Bungkus ini di sekitar tabung dan putar kedua ujungnya menjadi satu. Geser ini ke posisi yang benar dan dengan menggunakan lem panas, letakkan gumpalan kecil lem untuk disimpan di tempat yang tepat. Ulangi ini untuk setiap kenaikan menit dan jam.

Saya lupa mengambil gambar dari proses ini tetapi Anda dapat melihat dari gambar bagaimana kabel terpasang. Padahal saya menggunakan lebih sedikit lem hanya untuk menempelkan kawat.

Langkah 4: Pemasangan dan Penyelesaian

Pemasangan dan Finishing
Pemasangan dan Finishing
Pemasangan dan Finishing
Pemasangan dan Finishing
Pemasangan dan Finishing
Pemasangan dan Finishing

Setelah semua tabung dikalibrasi dan berfungsi, sekarang saatnya untuk membuat sirkuit secara permanen dan memasang ke beberapa bentuk alas. Saya memilih mesin jam antik karena saya menyukai perpaduan antik, 60-an dan teknologi modern. Saat memindahkan dari papan tempat memotong roti ke papan strip, berhati-hatilah dan luangkan waktu Anda untuk memastikan semua sambungan dibuat. Kotak yang saya beli agak kecil tetapi dengan penempatan yang hati-hati dan sedikit memaksa, saya berhasil memasukkan semuanya. Saya mengebor lubang di samping untuk catu daya dan satu lagi untuk kabel nixie. Saya menutupi kabel nixie dalam heat shrink untuk menghindari celana pendek. Ketika elektronik dipasang di dalam kotak, rekatkan ke bagian belakang gerakan jam. Untuk memasang tabung saya menggunakan lem panas dan merekatkan ujung kawat bengkok ke logam, berhati-hati untuk memastikannya lurus. Saya mungkin menggunakan terlalu banyak lem tetapi tidak terlalu terlihat. Itu mungkin sesuatu yang bisa diperbaiki di masa depan. Ketika semuanya sudah terpasang, muat sketsa jam Nixie di akhir instruksi ini dan kagumi jam baru Anda yang indah!

Langkah 5: Arduino Sketch - Kalibrasi

#define HOUR_PIN 1 // Tampilan jam melalui PWM di Trinket GPIO #1

#define MINUTE_PIN 4 // Tampilan menit melalui PWM pada Trinket GPIO #4 (melalui panggilan Timer 1)

int jam = 57;int menit = 57; //set pwm minimum

void setup () { pinMode(HOUR_PIN, OUTPUT); pinMode(MINUTE_PIN, OUTPUT); PWM4_init(); //mengatur keluaran PWM

}

void loop () { // Gunakan ini untuk mengubah pot nixie untuk memastikan tinggi tabung maksimum sesuai dengan analogWrite(HOUR_PIN, 255); analogWrite4(255); // Gunakan ini untuk mengkalibrasi peningkatan menit

/*

analogWrite4(57); // menit 0 penundaan(5000); analogWrite4(107); // penundaan 15 menit(5000); analogWrite4(156); // penundaan 30 menit(5000); analogWrite4 (206); // penundaan 45 menit(5000); analogWrite4(255); // penundaan 60 menit(5000);

*/

// Gunakan ini untuk mengkalibrasi penambahan jam /*

analogWrite(HOUR_PIN, 57); // 57 adalah output minimum dan sesuai dengan delay 1am/pm(4000); //delay 4 detik analogWrite(HOUR_PIN, 75); // 75 adalah output yang sesuai dengan delay 2am/pm(4000); analogWrite(HOUR_PIN, 93); // 93 adalah output yang sesuai dengan delay 3am/pm(4000); analogWrite(HOUR_PIN, 111); // 111 adalah output yang sesuai dengan delay 4am/pm(4000); analogWrite(HOUR_PIN, 129); // 129 adalah output yang sesuai dengan delay 5am/pm(4000); analogWrite(HOUR_PIN, 147); // 147 adalah output yang sesuai dengan delay 6am/pm(4000); analogWrite(HOUR_PIN, 165); // 165 adalah output yang sesuai dengan delay 7am/pm(4000); analogWrite(HOUR_PIN, 183); // 183 adalah output yang sesuai dengan delay 8am/pm(4000); analogWrite(HOUR_PIN, 201); // 201 adalah output yang sesuai dengan delay 9am/pm(4000); analogWrite(HOUR_PIN, 219); // 219 adalah output yang sesuai dengan delay 10am/pm(4000); analogWrite(HOUR_PIN, 237); // 237 adalah output yang sesuai dengan delay 11am/pm(4000); analogWrite(HOUR_PIN, 255); // 255 adalah output yang sesuai dengan 12am/pm

*/

}

void PWM4_init() { // Mengatur PWM pada Trinket GPIO #4 (PB4, pin 3) menggunakan Timer 1 TCCR1 = _BV (CS10); // tidak ada prescaler GTCCR = _BV (COM1B1) | _BV (PWM1B); // hapus OC1B di bandingkan OCR1B = 127; // siklus tugas inisialisasi ke 50% OCR1C = 255; // frekuensi }

// Berfungsi untuk mengizinkan analogWrite pada Trinket GPIO #4 void analogWrite4(uint8_t duty_value) { OCR1B = duty_value; // tugas mungkin 0 hingga 255 (0 hingga 100%) }

Langkah 6: Sketsa Arduino - Jam

// Jam meter analog Adafruit Trinket

// Fungsi tanggal dan waktu menggunakan DS1307 RTC yang terhubung melalui I2C dan lib TinyWireM

// Unduh perpustakaan ini dari repositori Github Adafruit dan // instal di direktori Perpustakaan Arduino Anda #include #include

//Untuk debug, batalkan komentar kode serial, gunakan Teman FTDI dengan pin RX-nya terhubung ke Pin 3 // Anda akan memerlukan program terminal (seperti Putty freeware untuk Windows) yang disetel ke // port USB teman FTDI di 9600 bau. Batalkan komentar perintah Serial untuk melihat apa yang terjadi //#define HOUR_PIN 1 // Tampilan jam melalui PWM pada Trinket GPIO #1 #define MINUTE_PIN 4 // Tampilan menit melalui PWM pada Trinket GPIO #4 (melalui panggilan Timer 1) //SendOnlySoftwareSerial Serial (3); // Transmisi serial pada Trinket Pin 3 RTC_DS1307 rtc; // Siapkan jam waktu nyata

void setup () { pinMode(HOUR_PIN, OUTPUT); // tentukan pin PWM meter sebagai output pinMode(MINUTE_PIN, OUTPUT); PWM4_init(); // Atur timer 1 untuk bekerja PWM pada Trinket Pin 4 TinyWireM.begin(); // Mulai I2C rtc.begin(); // Mulai DS1307 jam waktu nyata //Serial.begin(9600); // Mulai Serial Monitor pada 9600 baud if (! rtc.isrunning()) { //Serial.println("RTC TIDAK berjalan!"); // baris berikut menyetel RTC ke tanggal & waktu sketsa ini dikompilasi rtc.adjust(DateTime(_DATE_, _TIME_)); }}

void loop() { uint8_t nilai jam, nilai menit; uint8_t tegangan jam, tegangan menit;

DateTime sekarang = rtc.now(); // Dapatkan info RTC nilai jam = now.hour(); // Dapatkan jam jika(nilai jam > 12) nilai jam -= 12; // Jam ini adalah 12 jam minutevalue = now.minute(); // Dapatkan menitnya

tegangan menit = peta(nilai menit, 1, 60, 57, 255); // Konversi menit ke siklus tugas PWM

if(nilai jam == 1){ analogWrite(HOUR_PIN, 57); } if(nilai jam == 2){ analogWrite(HOUR_PIN, 75); // setiap jam sesuai dengan +18 } if(nilai jam == 3){ analogWrite(HOUR_PIN, 91); }

if(nilai jam == 4){ analogWrite(HOUR_PIN, 111); } if(nilai jam == 5){ analogWrite(HOUR_PIN, 126); } if(nilai jam ==6){ analogWrite(HOUR_PIN, 147); } if(nilai jam == 7){ analogWrite(HOUR_PIN, 165); } if(nilai jam == 8){ analogWrite(HOUR_PIN, 183); } if(nilai jam == 9){ analogWrite(HOUR_PIN, 201); } if(nilai jam == 10){ analogWrite(HOUR_PIN, 215); } if(nilai jam == 11){ analogWrite(HOUR_PIN, 237); } if(nilai jam == 12){ analogWrite(HOUR_PIN, 255); }

analogWrite4(tegangan menit); // menit analogwrite dapat tetap sama seperti pemetaan bekerja // kode untuk menidurkan prosesor mungkin lebih disukai - kami akan menunda delay(5000); // periksa waktu setiap 5 detik. Anda dapat mengubah ini. }

void PWM4_init() { // Mengatur PWM pada Trinket GPIO #4 (PB4, pin 3) menggunakan Timer 1 TCCR1 = _BV (CS10); // tidak ada prescaler GTCCR = _BV (COM1B1) | _BV (PWM1B); // hapus OC1B pada bandingkan OCR1B = 127; // siklus tugas inisialisasi ke 50% OCR1C = 255; // frekuensi }

// Berfungsi untuk mengizinkan analogWrite pada Trinket GPIO #4 void analogWrite4(uint8_t duty_value) { OCR1B = duty_value; // tugas mungkin 0 hingga 255 (0 hingga 100%) }

Direkomendasikan: