مشروع العداد التنازلي التلقائي باستخدام أردوينو وشاشة TM1637 اكتب تعليقُا

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

شرح فكرة المشروع

  • في هذا المشروع، سيتم إنشاء عداد تنازلي باستخدام أردوينو وشاشة TM1637.
  • بعد رفع الكود إلى الأردوينو، سيبدأ العد التنازلي فوراً.
  • شاشة TM1637 ستعرض الوقت المتبقي بالصيغة “الدقائق: الثواني”.
  • عندما يصل العداد التنازلي إلى 00:00، ستومض الشاشة بشكل متواصل على “00:00” بفاصل زمني قدره 0.5 ثانية.
  • الرابط

ادوات المشروع

مخطط المشروع

طريقة توصيل الادوات مع أردوينو

شاشة TM1637:

CLK -> 2

DIO -> 3

VCC -> 5V

GND -> GND

الكود البرمجي

تنبيه : في حال لم تكن متأكد من قدرتك على تنفيذ خطوات المشروع يرجى استشارة شخص متخصص في هذا المجال.
  • للتعرف على تجهيز لوحة أردوينو للبرمجة قم بزيارة الرابط التالي.
  • للإطلاع على كيفية تحميل وتنصيب المكتبات قم بزيارة الرابط التالي.
  • قبل تحميل الكود البرمجي، عليك تحميل المكتبات التالية:
  • TM1637Display.h
  • في حال لم يعمل هذا الكود البرمجي، قم بتحميل ملف الكود بالضغط على زر التحميل الموجود في الأسفل.

#include <TM1637Display.h>

// Countdown Timer
const unsigned long COUNTDOWN_TIME = 300; // 5 minutes in seconds

// Pins for TM1637 display module
#define CLK_PIN 2
#define DIO_PIN 3

TM1637Display display(CLK_PIN, DIO_PIN);

unsigned long startTime;
unsigned long currentTime;
unsigned long elapsedTime;

void setup() {
display.setBrightness(7); // Set the brightness of the display (0-7)
display.clear(); // Clear the display
startTime = millis(); // Record the starting time
}

void loop() {
currentTime = millis(); // Get the current time
elapsedTime = (currentTime – startTime) / 1000; // Calculate elapsed time in seconds

if (elapsedTime <= COUNTDOWN_TIME) {
unsigned long remainingTime = COUNTDOWN_TIME – elapsedTime;

// Display remaining time in Minutes:Seconds format
unsigned int minutes = remainingTime / 60;
unsigned int seconds = remainingTime % 60;
display.showNumberDecEx(minutes * 100 + seconds, 0b01000000, true);

if (remainingTime == 0) {
// Start blinking when countdown reaches 00:00
while (true) {
display.showNumberDecEx(0, 0b01000000, true); // Display “00:00”
delay(500);
display.clear(); // Clear the display
delay(500);
}
}
}

delay(1000); // Wait for 1 second
}

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *