สร้างนาฬิกาดิจิตอล 7 เซกเมนต์นี้พร้อมวงจรเตือนเสียงบี๊บ

ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา





ในโพสต์นี้เราจะสร้างนาฬิกาดิจิตอลโดยใช้จอแสดงผล LED 7 ส่วนพร้อมการออกแบบที่ควบคุมด้วย Arduino

โดย:



วงจรทำงานอย่างไร

วงจรนาฬิกา 7 เซกเมนต์ที่นำเสนอนั้นมีราคาไม่แพงและแม้แต่ผู้เริ่มต้นใน Arduino ก็สามารถทำได้อย่างง่ายดาย นาฬิกานี้ประกอบด้วยการแสดงผล 7 ส่วนสี่ส่วนสองสำหรับชั่วโมงและสองสำหรับนาที

จอแสดงผลจับคู่กับ IC 4026 ซึ่งออกแบบมาสำหรับการขับเคลื่อน 7 ส่วนการแสดงผล IC 4026 แต่ละตัวควบคุมโดย Arduino



นาฬิกานี้มีฟังก์ชั่นเตือนเสียงบี๊บซึ่งจะส่งเสียงบี๊บทุกต้นชั่วโมงทำให้ทราบเวลาคร่าวๆโดยไม่ต้องมองนาฬิกา นาฬิกานี้ไม่มีฟังก์ชันปลุก

โค้ด Arduino ไม่จำเป็นต้องมีไลบรารีพิเศษใด ๆ ในการคอมไพล์โปรแกรม นาฬิกามีการออกแบบที่เรียบง่ายมากมีเพียงสี่จอและ LED สองดวงสำหรับตัวบ่งชี้ AM / PM และไม่มีฟังก์ชั่นแปลก ๆ อื่น ๆ นอกเหนือจากการส่งเสียงบี๊บทุกชั่วโมง

ต้นแบบของผู้แต่ง:

ผลการทดสอบนาฬิกาดิจิตอล 7 ส่วน

นี่คือต้นแบบที่เสร็จสมบูรณ์โดยใช้กระดาษแข็งและเศษวัสดุ:

การออกแบบ:

วงจรประกอบด้วย IC 4026 สี่ตัวสำหรับควบคุมการแสดงผล 7 ส่วนสี่ส่วนและสมองของ arduino นาฬิกา ตัวต้านทานแบบดึงลงสองตัวเชื่อมต่อกับขารีเซ็ตของ IC 4026 เพื่อหลีกเลี่ยงการรีเซ็ตโดยไม่ได้ตั้งใจเนื่องจากประจุไฟฟ้าสถิต ตัวบ่งชี้ AM / PM เชื่อมต่อกับ arduino ร่วมกับตัวต้านทาน จำกัด กระแส 330 โอห์ม

หมายเหตุ: ควรเชื่อมต่อตัวต้านทาน 220 โอห์มถึง 330 โอห์มแต่ละส่วนของจอแสดงผล

นาฬิกาดิจิตอล 7 เซกเมนต์พร้อมวงจรเตือนเสียงบี๊บ

การกำหนดค่าพินของ IC 4026:

การกำหนดค่าพินของ IC 4026

วงจรบี๊บ:

วงจรบี๊บเป็นเพียงมัลติไวเบรเตอร์แบบโมโนสเตเบิลที่ออกแบบโดยใช้ IC555 เมื่อพัลส์ลบถูกป้อนเข้าที่พิน # 2 ของ IC555 จะส่งเสียงบี๊บประมาณหนึ่งวินาที การแจ้งเตือนด้วยเสียงนี้ช่วยให้ผู้ใช้ทราบคร่าวๆเกี่ยวกับเวลา พิน # 2 ของ IC555 ควรเชื่อมต่อกับพิน # 10 ของ arduino

วงจรกริ่ง IC 555

รหัสโปรแกรม:

//---------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---------------//

วิธีตั้งเวลา:

การออกแบบที่เรียบง่ายมากสามารถใช้ 'ปุ่มรีเซ็ต' เพื่อตั้งเวลาได้ แต่ผู้ใช้ต้องตั้งเวลาด้วยความช่วยเหลือของนาฬิกาอ้างอิง ผู้ใช้ต้องรีเซ็ต arduino ที่เวลา 12 นาฬิกา หนึ่งสิ่งนี้เสร็จแล้วนาฬิกาจะอัปเดตเวลาด้วยตัวมันเอง

หมายเหตุ: เนื่องจากนาฬิกาดิจิตอล 7 เซกเมนต์ที่อธิบายข้างต้นโดยใช้ Arduino ไม่มี“ ชิปนาฬิกาแบบเรียลไทม์” สำหรับการรักษาเวลาที่แม่นยำจึงมีความเป็นไปได้ที่เวลาอาจนำไปสู่ ​​/ ล่าช้าเนื่องจากการเปลี่ยนแปลงของอุณหภูมิโดยรอบ

ในการแก้ไขสิ่งนี้ให้เป็นขั้นตอน:

•หากนาฬิกาของคุณนำไปสู่เวลาของนาฬิกาอ้างอิงเพียงไม่กี่วินาทีก็ต้องช้าลงให้จดบันทึกความแตกต่างและป้อนค่าในโปรแกรมเป็นมิลลิวินาที

ล่าช้า (2000) // การแก้ไขข้อผิดพลาด (แตกต่างกันไปตามอุณหภูมิ) สิ่งนี้จะช้าลงสองสามวินาทีทุกชั่วโมง

•แทนที่ 2000 ด้วยมูลค่าของคุณ

•หากนาฬิกาของคุณล่าช้าให้ตั้งค่า“ ความล่าช้า (0) // การแก้ไขข้อผิดพลาด (แตกต่างกันไปตามเวลา)” และทำการเปลี่ยนแปลงต่อไปนี้ในโปรแกรม:

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)

แทนที่ 'delay (9700)' ด้วยค่าของคุณเพื่อเร่งเวลาทุกนาที

ขั้นตอนเหล่านี้ไม่ได้รับประกันว่าเวลาจะแม่นยำเสมอไป แต่จะช่วยรักษาเวลาโดยมีความไม่ถูกต้องน้อยที่สุด การออกแบบที่นำเสนอคือนาฬิกา 12 ชั่วโมง




คู่ของ: วงจรไฟแสดงสถานะการชาร์จแบตเตอรี่เต็มโดยใช้ทรานซิสเตอร์สองตัว ถัดไป: Corona Effect Generator