Isi kandungan:

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, November
Anonim
Jam Nixie Bargraph
Jam Nixie Bargraph
Jam Nixie Bargraph
Jam Nixie Bargraph

Sunting 9/11 / 17Dengan bantuan Kickstarter saya sekarang telah mengeluarkan satu kit untuk kit jam ini! Ia termasuk papan pemandu dan 2 tiub Nixie IN-9. Yang perlu anda tambah ialah Arduino / Raspberry Pi / yang lain. Kit boleh didapati tetapi klik pada pautan ini!

Oleh itu, saya telah melihat banyak jam Nixie dalam talian dan menganggapnya hebat, namun saya tidak mahu menghabiskan $ 100 + pada jam yang tidak termasuk tiub! Oleh itu, dengan sedikit pengetahuan elektronik, saya memburu pelbagai tabung nixie dan litar. Saya ingin membuat sesuatu yang sedikit berbeza dengan sebilangan besar jam nixie yang agak serupa. Pada akhirnya saya memilih untuk menggunakan tabung bargraph Nixie IN-9. Ini adalah tiub nipis panjang dan ketinggian plasma bercahaya bergantung pada arus melalui tiub. Tiub di sebelah kiri adalah kenaikan jam dan tiub di sebelah kanan dalam beberapa minit. Mereka hanya mempunyai dua plumbum dan menjadikan litar lebih lurus ke hadapan. Dalam reka bentuk ini, terdapat tiub satu jam satu minit, dengan ketinggian plasma di setiap tiub mewakili masa sekarang. Masa disimpan menggunakan mikrokontroler Adafruit Trinket dan jam masa nyata (RTC).

Langkah 1: Memasang Bahagian

Menyusun Bahagian
Menyusun Bahagian

Terdapat dua bahagian, pertama elektronik dan kedua pemasangan dan penamat. Komponen elektronik yang diperlukan 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 setiap tiub di eBay 1x Bekalan kuasa Nixie 140v ~ $ 12 pada kapasitor elektrolit eBay 4x 47 uF 4x 3.9 kOhm perintang 2x 1 kOhm potensiometer 2x Transistor MJE340 NPN voltan tinggi ~ $ 1 setiap 1x LM7805 5v regulator ~ $ 1 1x 2.1mm soket ~ $ 1 1x kotak projek dengan pcb ~ $ 1 1 Bekalan kuasa 12v DC (Saya menjumpai yang lama dari beberapa alat yang sudah lama dilupakan) Solder, wayar cangkuk, dan lain-lain Pemasangan: Saya memutuskan untuk memasang elektronik dalam kotak projek plastik hitam kecil, kemudian pasangkan tiub pada pergerakan jam antik. Untuk menandakan jam dan minit saya menggunakan wayar tembaga yang dibalut di sepanjang tiub. Bahagian pemasangan: Pergerakan jam antik - Wayar tembaga eBay $ 10 - senapang gam panas eBay $ 3

Langkah 2: Litar

Litar
Litar
Litar
Litar
Litar
Litar
Litar
Litar

Langkah pertama ialah membina bekalan kuasa Nixie. Ini datang sebagai kit kecil yang bagus dari eBay, termasuk sedikit PCB dan hanya memerlukan komponen untuk disolder ke papan. Penawaran khas ini berubah-ubah antara 110-180v, dapat dikawal dengan periuk kecil di papan. Dengan menggunakan pemacu skru kecil, tetapkan output ke ~ 140v. Sebelum saya pergi secara menyeluruh, saya ingin menguji tabung nixie saya, untuk melakukan ini, saya membina litar ujian sederhana menggunakan satu tiub, transistor dan potensiometer 10k yang telah saya letakkan. Seperti yang dapat dilihat pada gambar pertama, bekalan 140v dilampirkan ke anod tiub (kaki kanan). Katod (kaki kiri) kemudian disambungkan ke kaki pemungut transistor MJE340. Bekalan 5v disambungkan ke periuk 10k yang membelah ke tanah ke dasar transistor. Akhirnya pemancar transistor disambungkan melalui arus 300 ohm yang menghadkan perintang ke tanah. Sekiranya anda tidak biasa dengan transistor dan elektronik, ia tidak menjadi masalah, cukup pasangkan dan ubah ketinggian plasma dengan tombol periuk! Setelah itu berfungsi, kita dapat melihat pembuatan jam kita. Litar jam penuh dapat dilihat pada rajah litar kedua. Selepas beberapa kajian, saya dapati tutorial yang sempurna di laman web Adafruit belajar melakukan apa yang saya mahu lakukan. Tutorial boleh didapati di sini: https://learn.adafruit.com/trinket-powered-analog-m… Tutorial ini menggunakan pengawal Trinket dan RTC untuk mengawal dua meter amp analog. Menggunakan modulasi lebar nadi (PWM) untuk mengawal pesongan jarum. Gegelung meter amp rata-rata PWM menjadi isyarat dc yang berkesan. Tetapi jika kita menggunakan PWM secara langsung untuk menggerakkan tiub, maka modulasi frekuensi tinggi bermaksud bar plasma tidak akan "terpaku" ke pangkal tiub dan anda akan mempunyai bar yang melayang. Untuk mengelakkan ini, saya menilai PWM menggunakan penapis lulus rendah dengan pemalar lama untuk mendapatkan isyarat hampir dc. Ini mempunyai frekuensi pemotongan 0,8 Hz, ini baik-baik saja kerana kami memperbarui waktu jam hanya setiap 5 saat. Selain itu kerana bargraf mempunyai jangka hayat yang terbatas dan mungkin perlu diganti dan tidak setiap tabung sama persis dengan saya memasukkan periuk 1k selepas tiub. Ini membolehkan tweak untuk menyesuaikan ketinggian plasma untuk dua tiub. Untuk memasang wayar ke jam masa 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 arde RTC. Untuk bahagian ini mungkin berguna untuk melihat arahan jam Adafruit, https://learn.adafruit.com/trinket-powered-analog-…. Setelah Trinket dan RTC disambung dengan betul, pasangkan tiub nixie, transistor, penapis dan lain-lain pada papan roti dengan berhati-hati mengikuti rajah litar.

Untuk mendapatkan RTC dan Trinket, anda perlu memuat turun perpustakaan yang betul dari Adafruit Github. Anda memerlukan TinyWireM.h dan TInyRTClib.h. Mula-mula kita mahu menentukur tabung, memuat naik lakaran kalibrasi pada akhir arahan ini. Sekiranya tidak ada lakaran pada akhir kerja, cubalah lakaran jam Adafruit. Saya telah mengubah lakaran jam Adafruit agar berfungsi dengan berkesan dengan tiub nixie tetapi lakaran Adafruit akan berfungsi dengan baik.

Langkah 3: Penentukuran

Penentukuran
Penentukuran

Setelah memuat naik lakaran penentukuran, kelulusan perlu ditandakan.

Terdapat tiga mod untuk penentukuran, yang pertama menetapkan kedua-dua tiub nixie ke output maksimum. Gunakan ini untuk menyesuaikan periuk sehingga ketinggian plasma di kedua tiub adalah sama dan sedikit di bawah ketinggian maksimum. Ini memastikan tindak balas linear pada keseluruhan julat jam.

Tetapan kedua menentukur tabung minit. Ia berubah antara 0, 15, 30, 45 dan 60 minit setiap 5 saat.

Tetapan terakhir mengulangi ini untuk kenaikan setiap jam. Tidak seperti jam Adafruit, penunjuk jam bergerak dalam kenaikan tetap sekali setiap jam. Sukar untuk mendapatkan tindak balas linear untuk setiap jam ketika menggunakan meter analog.

Setelah anda menyesuaikan periuk, muatkan lakaran untuk dikalibrasi selama beberapa minit. Ambil wayar tembaga nipis dan potong panjang. Balut tiub ini dan putar kedua hujungnya bersama-sama. Luncurkan ini ke kedudukan yang betul dan gunakan pistol lem panas letakkan gumpalan gam kecil untuk disimpan di tempat yang betul. Ulangi ini untuk kenaikan setiap minit dan jam.

Saya lupa mengambil gambar proses ini tetapi anda dapat melihat dari gambar bagaimana wayar dilampirkan. Walaupun saya menggunakan lebih sedikit gam hanya untuk memasang wayar.

Langkah 4: Pemasangan dan Penamat

Pemasangan dan Penamat
Pemasangan dan Penamat
Pemasangan dan Penamat
Pemasangan dan Penamat
Pemasangan dan Penamat
Pemasangan dan Penamat

Setelah semua tabung dikalibrasi dan berfungsi, inilah masanya untuk membuat litar secara kekal dan dipasang ke beberapa bentuk alas. Saya memilih pergerakan jam antik kerana saya suka gabungan teknologi antik, 60-an dan moden. Semasa memindahkan dari papan roti ke papan jalur berhati-hati dan luangkan masa anda memastikan semua sambungan dibuat. Kotak yang saya beli agak kecil tetapi dengan beberapa penempatan yang berhati-hati dan sedikit memaksa saya berjaya mendapatkan semuanya agar sesuai. Saya menggerudi lubang di sisi untuk bekalan kuasa dan satu lagi untuk petunjuk nixie. Saya menutup wayar nixie dalam penyusutan panas untuk mengelakkan seluar pendek. Apabila elektronik dipasang di dalam kotak, gamkannya ke bahagian belakang pergerakan jam. Untuk memasang tiub, saya menggunakan gam panas dan menempelkan titik wayar berpintal ke logam, berhati-hati untuk memastikan ia lurus. Saya mungkin menggunakan terlalu banyak gam tetapi tidak begitu ketara. Mungkin sesuatu yang boleh diperbaiki di masa hadapan. Apabila semuanya dipasang, muatkan lakaran jam Nixie pada akhir arahan ini dan kagumi jam baru anda yang indah!

Langkah 5: Lakaran Arduino - Penentukuran

#tentukan HOUR_PIN 1 // Paparan jam melalui PWM di Trinket GPIO # 1

#define MINUTE_PIN 4 // Paparan minit melalui PWM di Trinket GPIO # 4 (melalui panggilan Pemasa 1)

jam int = 57; minit int = 57; // tetapkan pwm minimum

batal persediaan () {pinMode (HOUR_PIN, OUTPUT); pinMode (MINUTE_PIN, OUTPUT); PWM4_init (); // sediakan output PWM

}

gelung void () {// Gunakan ini untuk mengubah periuk nixie untuk memastikan ketinggian tiub maksimum sepadan dengan analogWrite (HOUR_PIN, 255); analogWrite4 (255); // Gunakan ini untuk mengkalibrasi kenaikan minit

/*

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

*/

// Gunakan ini untuk mengkalibrasi kenaikan jam / *

analogWrite (HOUR_PIN, 57); // 57 adalah output minimum dan sepadan dengan kelewatan 1 pagi / tengah hari (4000); // tunda 4 saat analogWrite (HOUR_PIN, 75); // 75 adalah output yang sepadan dengan kelewatan 2 pagi / petang (4000); analogWrite (HOUR_PIN, 93); // 93 adalah output yang sesuai dengan 3 am / pm delay (4000); analogWrite (HOUR_PIN, 111); // 111 adalah output yang sesuai dengan kelewatan jam 4 pagi / petang (4000); analogWrite (HOUR_PIN, 129); // 129 adalah output yang sesuai dengan kelewatan 5 pagi / petang (4000); analogWrite (HOUR_PIN, 147); // 147 adalah output yang sesuai dengan kelewatan jam 6 pagi / petang (4000); analogWrite (HOUR_PIN, 165); // 165 adalah output yang sesuai dengan 7 pagi / malam kelewatan (4000); analogWrite (HOUR_PIN, 183); // 183 adalah output yang sepadan dengan kelewatan 8 pagi / malam (4000); analogWrite (HOUR_PIN, 201); // 201 adalah output yang sesuai dengan kelewatan jam 9 pagi / malam (4000); analogWrite (HOUR_PIN, 219); // 219 adalah output yang sesuai dengan 10 am / pm delay (4000); analogWrite (HOUR_PIN, 237); // 237 adalah output yang sesuai dengan 11 am / pm delay (4000); analogWrite (HOUR_PIN, 255); // 255 adalah output yang sesuai dengan 12 am/pm

*/

}

batal PWM4_init () {// Sediakan PWM pada Trinket GPIO # 4 (PB4, pin 3) menggunakan Pemasa 1 TCCR1 = _BV (CS10); // tiada prescaler GTCCR = _BV (COM1B1) | _BV (PWM1B); // kosongkan OC1B pada perbandingan OCR1B = 127; // kitaran tugas memulakan hingga 50% OCR1C = 255; // kekerapan}

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

Langkah 6: Lakaran Arduino - Jam

// Jam meter analog Adafruit Trinket

// Fungsi tarikh dan masa menggunakan RTC DS1307 yang disambungkan melalui I2C dan lib TinyWireM

// Muat turun perpustakaan ini dari repositori Adafruit's Github dan // pasang di direktori Perpustakaan Arduino anda #include #include

// Untuk debug, kod bersiri yang tidak dapat digunakan, gunakan Rakan FTDI dengan pin RX yang disambungkan ke Pin 3 // Anda memerlukan program terminal (seperti PuTTY freeware untuk Windows) yang ditetapkan ke // port USB rakan FTDI pada 9600 baud. Menanggalkan perintah Serial untuk melihat apa yang ada // # menentukan HOUR_PIN 1 // Paparan jam melalui PWM di Trinket GPIO # 1 #define MINUTE_PIN 4 // Paparan minit melalui PWM pada Trinket GPIO # 4 (melalui panggilan Pemasa 1) // SendOnlySoftwareSerial Serial (3); // Penghantaran bersiri pada Trinket Pin 3 RTC_DS1307 rtc; // Sediakan jam masa nyata

batal persediaan () {pinMode (HOUR_PIN, OUTPUT); // tentukan pin meter PWM sebagai output pinMode (MINUTE_PIN, OUTPUT); PWM4_init (); // Tetapkan pemasa 1 untuk berfungsi PWM pada Trinket Pin 4 TinyWireM.begin (); // Mulakan I2C rtc.begin (); // Mulakan DS1307 jam masa nyata //Serial.begin(9600); // Mulakan Monitor Bersiri pada 9600 baud jika (! Rtc.isrunning ()) {//Serial.println("RTC TIDAK berjalan! "); // baris berikut menetapkan RTC ke tarikh & masa lakaran ini disusun rtc.adjust (DateTime (_ DATE_, _TIME_)); }}

gelung kosong () {uint8_t nilai jam, nilai minit; uint8_t hourvoltage, minutevoltage;

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

minutevoltage = peta (nilai minit, 1, 60, 57, 255); // Tukar minit ke kitaran tugas PWM

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

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

analogWrite4 (minvoltage); //write analog minit boleh tetap sama seperti pemetaan berfungsi // kod untuk meletakkan pemproses tidur mungkin lebih baik - kami akan menunda kelewatan (5000); // periksa masa setiap 5 saat. Anda boleh mengubahnya. }

batal PWM4_init () {// Sediakan PWM pada Trinket GPIO # 4 (PB4, pin 3) menggunakan Pemasa 1 TCCR1 = _BV (CS10); // tiada prescaler GTCCR = _BV (COM1B1) | _BV (PWM1B); // kosongkan OC1B pada perbandingan OCR1B = 127; // kitaran tugas memulakan ke 50% OCR1C = 255; // kekerapan}

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

Disyorkan: