دائرة الساعة الرقمية باستخدام شاشة عرض LCD مقاس 16 × 2

جرب أداة القضاء على المشاكل





يشرح المنشور كيفية صنع ساعة رقمية بسيطة باستخدام Arduino وشاشة LCD مقاس 16 × 2.

مقدمة

بصفتنا من عشاق الإلكترونيات في مرحلة ما ، كنا نفكر في كيفية صنع ساعة رقمية ، خاصةً المهتمين بمجال الإلكترونيات الرقمية. سنرى في هذه المقالة كيفية صنع ساعة رقمية والتصميم بسيط للغاية بحيث يمكن أن ينجز المستجد في Arduino المشروع دون أي ألم في الرأس.



تحتوي هذه الساعة الرقمية على مكونين رئيسيين فقط ، وهما Arduino و عرض شاشات الكريستال السائل . Arduino هو دماغ الساعة ، الذي يقوم بوظائف رياضية ومنطقية لتحديث الساعة كل ثانية.

صورة النموذج الأولي:

اتصال سلكي بين شاشة LCD و Arduino

شاشة LCD هي شاشة عرض قياسية ذات 16 سنًا. يحتوي على 16 صفًا وعمودين ، وهذا يعني أنه يمكنه عرض 16 حرفًا من رموز ASCII في صف واحد ويحتوي على عمودين ولهذا يطلق عليه اسم عرض 16 × 2.



يعتبر الاتصال السلكي بين شاشة LCD و Arduino قياسيًا ويمكننا العثور على نفس النوع من الاتصالات في معظم المشاريع الأخرى القائمة على Arduino-LCD.

يستخدم مقياس الجهد لضبط تباين الشاشة.

يجب على المستخدم ضبط هذا على النحو الأمثل بحيث يمكن للمستخدم رؤية الأرقام / الأحرف المعروضة بشكل صحيح في جميع المواقف الخفيفة.

توجد إضاءة خلفية تمكن المستخدم من رؤية الشاشة أثناء الظلام. يمكن تشغيل اردوينو خارجيًا من مقبس تيار مستمر من 7 فولت إلى 12 فولت.

مخطط الرسم البياني:

يستخدم مقياس الجهد لضبط تباين الشاشة.

كود برنامج أردوينو:

// -------- برنامج تم تطويره بواسطة 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 يدويًا.

ضبط الوقت:

يوجد زران ضغط أحدهما لضبط الساعات والآخر لضبط الدقائق. سيؤدي الضغط على أي منهما إلى زيادة الأرقام المقابلة. لضبط الساعات ، اضغط على الزر hrs حتى يتم عرض الوقت الصحيح ، وبالمثل للدقائق.

ملاحظة:

· أثناء ضبط الوقت ، استمر في الضغط على الزر حتى يصل الوقت المطلوب. الضغط على الزر للحظات قد لا يغير الوقت.

· يتم زيادة كل رقم ثانية فقط بعد الثانية ، وذلك بسبب تأخر الحلقة الكاملة للبرنامج لمدة ثانية واحدة.

· ينتقل رقم الثواني من 01 إلى 60 ويتكرر مرة أخرى ولن يعرض '00' كما تفعل الساعة الرقمية التقليدية.




السابق: العاكس الشمسي لمكيف الهواء 1.5 طن في المادة التالية: دائرة مولد توربينات الرياح ذات المحور العمودي البسيطة