اجعل هذه الساعة الرقمية المكونة من 7 أجزاء مع دائرة تنبيه الصفير

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





في هذا المنشور ، سنقوم ببناء ساعة رقمية باستخدام شاشة LED ذات 7 مقاطع بتصميم متحكم فيه من Arduino.

بواسطة:



كيف تعمل الدوائر

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

تم إقران الشاشة بـ IC 4026 المصمم لقيادة شاشات 7 مقاطع. يتم التحكم في كل IC 4026 بواسطة Arduino.



تحتوي هذه الساعة على وظيفة تنبيه صفير ، والتي تصدر صوتًا في كل بداية الساعة ، مما يعطي فكرة تقريبية عن الوقت دون النظر إلى الساعة. هذه الساعة لا تحتوي على وظيفة التنبيه.

لا يحتاج كود Arduino إلى أي مكتبة خاصة لتجميع البرنامج. تتميز الساعة بتصميم بسيط للغاية ، وأربع شاشات فقط واثنين من مصابيح LED لمؤشر AM / PM ولا توجد وظائف رائعة بخلاف التنبيه كل ساعة.

النموذج الأولي للمؤلف:

نتيجة اختبار الساعة الرقمية المكونة من 7 أجزاء

إليك نموذج أولي مكتمل باستخدام الورق المقوى ومواد الخردة:

التصميم:

تتكون الدائرة من أربعة IC 4026 للتحكم في أربعة شاشات عرض ذات 7 مقاطع وعقل ساعة اردوينو. تم توصيل اثنين من المقاومات المنسدلة لإعادة تعيين دبوس IC 4026 لتجنب إعادة التعيين العرضي بسبب الشحن الساكن. مؤشر AM / PM متصل بـ arduino مع مقاومة الحد الحالية 330 أوم.

ملاحظة: يجب توصيل مقاومات 220 أوم إلى 330 أوم بكل جزء من أجزاء العرض.

ساعة رقمية ذات 7 أجزاء مع دائرة تنبيه صفير

تكوين دبوس IC 4026:

تكوين دبوس IC 4026

دائرة الصافرة:

دائرة الصافرة هي مجرد هزاز متعدد أحادي تم تصميمه باستخدام IC555. عندما يتم تغذية نبضة سالبة للدبوس رقم 2 من IC555 ، فإنها تصدر صوتًا لمدة ثانية واحدة تقريبًا. يساعد هذا التنبيه الصوتي المستخدم في الاحتفاظ بفكرة تقريبية عن الوقت. يجب توصيل الدبوس رقم 2 الخاص بـ IC555 بالدبوس رقم 10 في اردوينو.

دائرة صفارة 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---------------//

كيفية ضبط الوقت:

لكونه تصميمًا بسيطًا للغاية ، يمكن استخدام 'زر إعادة الضبط' لضبط الوقت. لكن يجب على المستخدم ضبط الوقت بمساعدة الساعة المرجعية. يجب على المستخدم إعادة ضبط اردوينو في الساعة 12'O بالضبط. واحد يتم ذلك على مدار الساعة بتحديث الوقت من تلقاء نفسها.

ملاحظة: بما أن الساعة الرقمية الموضح أعلاه ذات الأجزاء السبعة التي تستخدم 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 ساعة.




زوج من: دائرة مؤشر شحن البطارية بالكامل باستخدام ترانزستورات التالي: مولد تأثير كورونا