مشروع العداد التنازلي التلقائي باستخدام أردوينو وشاشة 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
}

اترك تعليقاً

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

×

✨ تحديثات جديدة… تجربة أفضل!

عملاءنا الكرام، يسعدنا مشاركتكم آخر التحديثات اللي أضفناها لتحسين تجربتكم معنا. اعتبارًا من 1 مارس 2026م.

🛠️ ميزات جديدة (لجميع الدول المدعومة)
• 🔧 خدمة التلحيم: اطلب تلحيم القطع باحتراف قبل الشحن لتصلك جاهزة للاستخدام.
• 🖨️ الطباعة ثلاثية الأبعاد (3D): حوّل أفكارك إلى واقع بدقة عالية.
• 🚀 تفعيل نظام الدروبشيبينج في الموقع الإلكتروني.

🇸🇦 تحديثات عملاء السعودية 🚚 توصيل أسرع خدمة التوصيل اليومي متاحة الآن في: الرياض – الدمام – الأحساء.
🏢 الاستلام من الفرع يمكنك الآن الاستلام المباشر من فرعنا في الأحساء.
🧾 تنويه ضريبي جميع الأسعار تشمل ضريبة القيمة المضافة، باستثناء المنتجات أو الخدمات التي تتم معالجتها خارج المملكة.

✨ استكشف الخدمات الجديدة