Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Jam Nixie dengan Arduino | Desain Paling Sederhana

Komponen dan persediaan

Arduino UNO
× 1
Suku Cadang Elektronik UTSOURCE
× 1

Tentang proyek ini

Setelah seharian bekerja, akhirnya saya berhasil membuat jam Nixie dengan Arduino dan chip opto-isolation, tidak perlu driver Nixie yang sulit dibeli.

Tonton video untuk instruksi lengkapnya:

Daftar bagian untuk membuat proyek:

1. Arduino UNO https://amzn.to/2P58O7s

2. Tabung Nixie 6 pcs https://amzn.to/3aHyJvX

3. Chip coupler Opto TLP627

4. Modul peningkatan DC dari 12VDC ke 390VDC https://amzn.to/30kpdK9

5. Papan tempat memotong roti https://amzn.to/2uCrnsW

6. Modul jam waktu nyata DS3231 https://amzn.to/2SIyEzI

Beli komponen elektronik di utsource.net

Langkah 1. Desain sirkuit

Rangkaian ini menggunakan chip opto-isolasi untuk mengontrol tabung Nixie (menggunakan 150VDC) oleh Arduino (menggunakan 5VDC). Dengan koneksi matriks, jadi kami hanya membutuhkan 16 output dari Arduino untuk mengontrol 60 lampu dari 6 tabung nixie. Modul jam real-time DS3231 digunakan untuk menjaga waktu (bahkan mematikan daya), dikomunikasikan dengan Arduino melalui jaringan I2C. Arduino akan membaca secara real-time, kemudian menyalakan/mematikan lampu nixie secara berurutan dalam frekuensi tinggi untuk membuat mata manusia melihat 6 angka secara permanen

Langkah 2. Kode Arduino

//Youtube channel:engineer2you
#include
#include "DS3231.h"
RTClib RTC;
DS3231 Clock;
int jam;
int menit;
int detik;
const int nixie_0 =2;
const int nixie_1 =3;
const int nixie_2 =4;
const int nixie_3 =5;
const int nixie_4 =6;
const int nixie_5 =7;
const int nixie_6 =8;
const int nixie_7 =9;
const int nixie_8 =10;
const int nixie_9 =11;
const int baris_1 =0;
const int baris_2 =1;
const int baris_3 =14;
const int baris_4 =15;
const int row_5 =16;
const int row_6 =17;
const int time_on =2;
void setup() {
pinMode(nixie_0, OUTPUT);
pinMode(nixie_1, OUTPUT);
pinMode(nixie_2, OUTPUT);
pinMode(nixie_3, OUTPUT);
pinMode(nixie_4, OUTPUT);
pinMode( nixie_5, OUTPUT);
pinMode(nixie_6, OUTPUT);
pinMode(nixie_7, OUTPUT);
pinMode(nixie_8, OUTPUT);
pinMode(nixie_9, OUTPUT);
pinMode(row_1, OUTPUT);
pinMode(row_2, OUTPUT);
pinMode(row_3, OUTPUT);
pinMode(row_4, OUTPUT);
pinMode(row_5 , OUTPUT);
pinMode(row_6, OUTPUT);
//Serial.begin(9600); //JANGAN menggunakan seiral println, ini akan mempengaruhi output pin D0 &D1
Wire.begin();
}
void loop() {
//--- ----------------dapatkan nilai jam-----------------------
TanggalWaktu sekarang =RTC.sekarang();
jam =sekarang.jam();
menit =sekarang.menit();
detik =sekarang.detik();
/ //------------------tampilkan nomor jam -----------------------
int J; //angka kedua dari kanan
int k; //angka pertama dari kanan
j =detik/10;
k =detik%10;
//-----------tampilkan angka pertama detik
off_all();
on_number(0,k+2);
delay(time_on);
//-----------tampilkan angka detik kedua
off_all();
on_number(1,j+2);
delay(time_on);

j =menit/10;
k =menit%10;
//------------tampilkan angka menit pertama
off_all();
on_number(14,k+2);
delay(time_on);
//-----------tampilkan detik detik
off_all();
on_number(15,j+2 );
delay(time_on);
j =hour/10;
k =hour%10;
//-----------tunjukkan dulu jumlah jam
off_all();
on_number(16,k+2);
delay(time_on);
//-----------tampilkan jumlah jam kedua
off_all();
on_number(17,j+2 );
delay(time_on);
}
void on_number(int baris, int nixie){
digitalWrite(baris, HIGH);
digitalWrite(nixie, HIGH );
}
void off_all(){
digitalWrite(row_1, LOW);
digitalWrite(row_2, LOW);
digitalWrite(row_3, LOW);
digitalWrite(row_4, LOW);
digitalWrite(row_5, LOW);
digitalWrite(row_6, LOW);
digitalWrite(nixie_0, LOW);
digitalWrite(nixie_1 , RENDAH);
digitalWrite(nixie_2, LOW);
digitalWrite(nixie_3, LOW);
digitalWrite(nixie_4, LOW);
digitalWrite(nixie_5, LOW);
digitalWrite(nixie_6, LOW);
digitalWrite(nixie_7, LOW);
digitalWrite(nixie_8, LOW);
digitalWrite(nixie_9, LOW);
delayMicroseconds(400); //untuk mencegah efek "hantu" ke tube lain
}

Pada dasarnya, kode akan mendapatkan real-time dari modul DS3231 dan ditampilkan ke 6 tabung nixie melalui chip opto-isolasi.

Langkah 3. Bangun sirkuitnya

Ini hanya percobaan, jadi saya membuat semuanya di papan tempat memotong roti. Untungnya, ini berfungsi pertama kali, tidak ada masalah

Pada langkah selanjutnya,  Saya akan mencoba membuat jam tangan nixie dalam wadah MDF dengan dekorasi yang bagus, sehingga saya dapat meletakkannya di kamar saya.

Kode

  • Cuplikan kode #1
Cuplikan kode #1Teks biasa
//Saluran Youtube:engineer2you#include #include "DS3231.h"RTClib RTC;DS3231 Jam;int jam;int menit;int detik;const int nixie_0 =2;const int nixie_1 =3; const int nixie_2 =4;const int nixie_3 =5; const int nixie_4 =6;const int nixie_5 =7;const int nixie_6 =8;const int nixie_7 =9;const int nixie_8 =10;const int nixie_9 =11;const int baris_1 =0;const int baris_2 =1;const int row_3 =14;const int row_4 =15;const int row_5 =16;const int row_6 =17;const int time_on =2;void setup() { pinMode(nixie_0, OUTPUT); pinMode(nixie_1, OUTPUT); pinMode(nixie_2, OUTPUT); pinMode(nixie_3, OUTPUT); pinMode(nixie_4, OUTPUT); pinMode(nixie_5, OUTPUT); pinMode(nixie_6, OUTPUT); pinMode(nixie_7, OUTPUT); pinMode(nixie_8, OUTPUT); pinMode(nixie_9, OUTPUT); pinMode(baris_1, OUTPUT); pinMode(baris_2, OUTPUT); pinMode(row_3, OUTPUT); pinMode(row_4, OUTPUT); pinMode(row_5, OUTPUT); pinMode(row_6, OUTPUT); //Serial.begin(9600); //JANGAN menggunakan seiral println, ini akan mempengaruhi output pin D0 &D1 Wire.begin();}void loop() { //------------------- dapatkan nilai jam--------------------------- DateTime now =RTC.now(); jam =sekarang.jam(); menit =sekarang.menit(); detik =sekarang.detik(); //-------------------tampilkan nomor jam ---------------------- int j; //angka kedua dari int k kanan; //angka pertama dari kanan j =detik/10; k =detik%10; //-----------tampilkan angka pertama off_all(); pada_angka(0,k+2); penundaan(waktu_on); //-----------tampilkan angka kedua dari off_all(); pada_angka(1,j+2); penundaan(waktu_on); j =menit/10; k =menit%10; //-----------tampilkan nomor menit pertama off_all(); pada_angka(14,k+2); penundaan(waktu_on); //-----------tampilkan detik detik off_all(); pada_angka(15,j+2); penundaan(waktu_on); j =jam/10; k =jam%10; //-----------tampilkan jumlah jam pertama off_all(); pada_angka(16,k+2); penundaan(waktu_on); //-----------tampilkan jumlah jam kedua off_all(); pada_angka(17,j+2); delay(time_on);}void on_number(int baris, int nixie){ digitalWrite(baris, TINGGI); digitalWrite(nixie, HIGH);}kosongkan semua(){ digitalWrite(row_1, LOW); digitalWrite(baris_2, RENDAH); digitalWrite(baris_3, RENDAH); digitalWrite(row_4, RENDAH); digitalWrite(row_5, RENDAH); digitalWrite(row_6, RENDAH); digitalWrite(nixie_0, RENDAH); digitalWrite(nixie_1, RENDAH); digitalWrite(nixie_2, RENDAH); digitalWrite(nixie_3, RENDAH); digitalWrite(nixie_4, RENDAH); digitalWrite(nixie_5, RENDAH); digitalWrite(nixie_6, RENDAH); digitalWrite(nixie_7, RENDAH); digitalWrite(nixie_8, RENDAH); digitalWrite(nixie_9, RENDAH); delayMicroseconds(400); //untuk mencegah efek "hantu" ke tabung lain}

Proses manufaktur

  1. Arduino pov vision clock
  2. Jam IV9 Numitron DIY paling sederhana dengan Arduino
  3. Desain Harness dengan E3.series
  4. Jam Kata Sederhana (Arduino)
  5. Jam Arduino dengan waktu sholat Islam
  6. Jam Master
  7. Kontrol Penerima Koin dengan Arduino
  8. Suhu Arduino. Monitor Dan Jam Waktu Nyata Dengan Tampilan 3.2
  9. Arduino dengan Bluetooth untuk Mengontrol LED!
  10. Jam Alarm Sederhana dengan DS1302 RTC