วงจรนาฬิกาดิจิตอลโดยใช้จอ LCD 16 × 2

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





โพสต์นี้อธิบายถึงวิธีการสร้างนาฬิกาดิจิทัลอย่างง่ายโดยใช้ Arduino และจอ LCD 16 x 2

บทนำ

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



นาฬิกาดิจิตอลนี้มีส่วนประกอบหลักเพียงสองส่วนคือ Arduino และ จอ LCD . Arduino เป็นสมองของนาฬิกาซึ่งทำหน้าที่ทางคณิตศาสตร์และตรรกะเพื่ออัปเดตนาฬิกาทุกวินาที

ภาพต้นแบบ:

การเชื่อมต่อสายไฟระหว่าง LCD และ Arduino

หน้าจอ LCD เป็นจอแสดงผลแบบเชื่อมต่อ 16 พินมาตรฐาน มี 16 แถวและ 2 คอลัมน์ซึ่งหมายความว่าสามารถแสดงอักขระ ASCII ได้ 16 ตัวในแถวและมีสองคอลัมน์จึงเรียกว่าจอแสดงผล 16x2



การเชื่อมต่อสายระหว่าง LCD และ Arduino เป็นมาตรฐานและเราสามารถค้นหาการเชื่อมต่อที่คล้ายกันได้ในโครงการที่ใช้ Arduino-LCD อื่น ๆ

โพเทนชิออมิเตอร์ใช้เพื่อปรับความคมชัดของจอแสดงผล

ผู้ใช้ต้องตั้งค่านี้ให้เหมาะสมที่สุดเพื่อให้ผู้ใช้สามารถเห็นตัวเลข / อักขระที่แสดงได้อย่างเหมาะสมภายใต้สถานการณ์แสงทั้งหมด

มีแสงไฟที่ช่วยให้ผู้ใช้สามารถมองเห็นการแสดงผลในสถานการณ์ที่มืดได้ Arduino สามารถใช้พลังงานจากภายนอกจากแจ็ค DC ตั้งแต่ 7 โวลต์ถึง 12 โวลต์

แผนภูมิวงจรรวม:

โพเทนชิออมิเตอร์ใช้เพื่อปรับความคมชัดของจอแสดงผล

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

// -------- โปรแกรมที่พัฒนาโดย R.GIRISH ------- //
#include
LiquidCrystal lcd(12,11,5,4,3,2)
int h=12
int m
int s
int flag
int TIME
const int hs=8
const int ms=9
int state1
int state2
void setup()
{
lcd.begin(16,2)
}
void loop()
{
lcd.setCursor(0,0)
s=s+1
lcd.print('TIME:' )
lcd.print(h)
lcd.print(':')
lcd.print(m)
lcd.print(':')
lcd.print(s)
if(flag<12) lcd.print(' AM')
if(flag==12) lcd.print(' PM')
if(flag>12) lcd.print(' PM')
if(flag==24) flag=0
delay(1000)
lcd.clear()
if(s==60) {
s=0
m=m+1
}
if(m==60)
{
m=0
h=h+1
flag=flag+1
}
if(h==13)
{
h=1
}
lcd.setCursor(0,1)
lcd.print('HAVE A NICE DAY')
//-----------Time setting----------//
state1=digitalRead(hs)
if(state1==1)
{
h=h+1
flag=flag+1
if(flag<12) lcd.print(' AM')
if(flag==12) lcd.print(' PM')
if(flag>12) lcd.print(' PM')
if(flag==24) flag=0
if(h==13) h=1
}
state2=digitalRead(ms)
if(state2==1) {
s=0
m=m+1
}
}
//-------- Program developed by R.GIRISH-------//

หมายเหตุ: โปรแกรมข้างต้นได้รับการตรวจสอบและปราศจากข้อผิดพลาด ในกรณีที่คุณได้รับคำเตือนหรือข้อผิดพลาดโปรดเพิ่มไลบรารี LiquidCrystal ด้วยตนเอง

การตั้งเวลา:

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

บันทึก:

·ในขณะที่ตั้งเวลากดปุ่มค้างไว้จนกว่าจะถึงเวลาที่ต้องการ การกดปุ่มชั่วขณะอาจไม่เปลี่ยนเวลา

·ตัวเลขแต่ละตัวจะเพิ่มขึ้นเพียงวินาทีต่อวินาทีเนื่องจากการวนรอบทั้งหมดของโปรแกรมล่าช้าไป 1 วินาที

·ตัวเลขของวินาทีจะเปลี่ยนจาก 01 ถึง 60 และวนซ้ำอีกครั้งและจะไม่แสดง '00' เหมือนนาฬิกาดิจิทัลทั่วไป




คู่ของ: Solar Inverter สำหรับเครื่องปรับอากาศ 1.5 ตัน ถัดไป: วงจรกำเนิดกังหันลมแกนแนวตั้งอย่างง่าย