Buat Jam Digital 7 Segmen ini dengan Litar Isyarat Bunyi

Buat Jam Digital 7 Segmen ini dengan Litar Isyarat Bunyi

Dalam posting ini kita akan membina jam digital menggunakan paparan LED 7 segmen dengan reka bentuk terkawal Arduino.



OLEH:

Bagaimana Litar Berfungsi

Litar jam 7 segmen yang dicadangkan adalah murah dan bahkan pemula di Arduino dapat mencapainya dengan mudah. Jam ini terdiri daripada empat paparan segmen 7, dua selama berjam-jam dan dua selama beberapa minit.





Paparan dipasangkan dengan IC 4026 yang dirancang untuk memandu paparan 7 segmen. Setiap IC 4026 dikendalikan oleh Arduino.

Jam ini mempunyai fungsi amaran bip, yang berbunyi bip setiap awal jam, memberikan idea kasar mengenai waktu tanpa melihat jam. Jam ini tidak mempunyai fungsi penggera.



Kod Arduino tidak memerlukan perpustakaan khas untuk menyusun program. Jam mempunyai reka bentuk yang sangat minimalis, hanya empat paparan dan dua LED untuk penunjuk AM / PM dan tidak ada fungsi mewah selain membunyikan bip setiap jam.

Prototaip pengarang:

Keputusan Ujian Jam Digital 7 Segmen

Berikut adalah prototaip lengkap yang menggunakan bahan kadbod dan sekerap:

Rekaan:

Litar ini terdiri daripada empat IC 4026 untuk mengendalikan empat paparan segmen 7 dan otak arduino jam. Dua perintang tarik disambungkan ke pin semula IC 4026 untuk mengelakkan tetapan semula secara tidak sengaja kerana caj statik. Petunjuk AM / PM disambungkan ke arduino dalam kombinasi dengan perintang penghad arus 330 ohm.

Catatan: Perintang 220 ohm hingga 330 ohm harus disambungkan setiap segmen paparan.

Jam Segmen 7 Segmen dengan Litar Isyarat Bunyi

Konfigurasi pin IC 4026:

Konfigurasi pin IC 4026

Litar bip:

Litar bip hanyalah multivibrator monostable yang direka menggunakan IC555. Apabila nadi negatif dimasukkan ke pin # 2 dari IC555, ia berdetak sekitar satu saat. Makluman audio ini membantu pengguna menyimpan idea kasar mengenai masa. Pin # 2 IC555 harus disambungkan ke pin # 10 arduino.

Litar buzzer IC 555

Kod Program:

//---------Program developed by R.Girish---------------//
int mint=13
int hrs=11
int beep=10
int rst=8 // reset to mint ic.
int rsth=9 //reset to hrs ic.
int am=7
int pm=6
int y=0
int t=0
int x=0
void setup()
{
pinMode(beep,OUTPUT)
pinMode(hrs,OUTPUT)
pinMode(am,OUTPUT)
pinMode(pm,OUTPUT)
pinMode(mint,OUTPUT)
pinMode(rst,OUTPUT)
pinMode(rsth,OUTPUT)
}
void loop()
{
digitalWrite(beep,1)
digitalWrite(13,0)
delay(10000)
delay(10000)
delay(10000)
delay(10000)
delay(10000)
delay(10000)
digitalWrite(13,1)
t=t+1
if(t==60)
{
digitalWrite(rst,1)
digitalWrite(rst,0)
digitalWrite(hrs,1)
digitalWrite(hrs,0)
digitalWrite(beep,0)
digitalWrite(beep,1)
x=x+1
y=y+1
t=0
delay(2000) // error fixing (varies with temperature)
}
if(x==13) // display 1'O clock after 12'O clock.
{
digitalWrite(rsth,1)
digitalWrite(rsth,0)
digitalWrite(hrs,1)
digitalWrite(hrs,0)
x=1
}
if(y<12)
{
digitalWrite(am,1)
digitalWrite(pm,0)
}
if(y>=12)
{
digitalWrite(pm,1)
digitalWrite(am,0)
}
if(y==24) y=0
}
//---------Program developed by R.Girish---------------//

Cara menetapkan masa:

Dengan reka bentuk yang sangat minimalis, 'butang reset' dapat digunakan untuk mengatur waktu. Tetapi pengguna harus menetapkan waktu dengan bantuan jam rujukan. Pengguna harus menetapkan semula arduino tepat pada jam 12'O. Satu ini dilakukan jam memperbarui masa dengan sendirinya.

Catatan: Oleh kerana jam digital 7 segmen yang dijelaskan di atas menggunakan Arduino tidak memiliki 'cip jam masa nyata', untuk menjaga waktu yang tepat, ada kemungkinan waktu dapat memimpin / ketinggalan akibat perubahan suhu lingkungan.

Untuk membetulkannya berikut adalah langkah-langkahnya:

• Jika jam anda mengarahkan waktu jam rujukan dengan beberapa saat, ia perlu diperlahankan, catat perbezaannya dan masukkan nilai dalam program dalam milisaat.

kelewatan (2000) // memperbaiki ralat (berbeza dengan suhu) Ini akan melambatkan beberapa saat setiap jam.

• Ganti 2000 dengan nilai anda.

• Sekiranya anda ketinggalan jam, tetapkan “delay (0) // memperbaiki kesalahan (berbeza dengan waktu)” dan buat perubahan berikut dalam program:

delay(10000)
delay(10000)
delay(10000)
delay(10000)
delay(10000)
delay(10000)
to
delay(10000)
delay(10000)
delay(10000)
delay(10000)
delay(10000)
delay(9700)

Ganti “delay (9700)” dengan nilai anda untuk mempercepat masa setiap minit.

Langkah-langkah ini tidak menjamin bahawa waktu akan selalu tepat, tetapi membantu mengekalkan waktu dengan ketepatan yang minimum. Reka bentuk yang dicadangkan adalah jam 12 jam.




Sebelumnya: Litar Penunjuk Pengecasan Penuh Bateri menggunakan Dua Transistor Seterusnya: Corona Effect Generator