جدول المحتويات:

ساعة رقمية بسيطة باستخدام Arduino Nano & DS1307: 4 خطوات
ساعة رقمية بسيطة باستخدام Arduino Nano & DS1307: 4 خطوات

فيديو: ساعة رقمية بسيطة باستخدام Arduino Nano & DS1307: 4 خطوات

فيديو: ساعة رقمية بسيطة باستخدام Arduino Nano & DS1307: 4 خطوات
فيديو: Цифровые часы Arduino, дисплей LIXIE 2024, شهر نوفمبر
Anonim
ساعة رقمية بسيطة باستخدام Arduino Nano & DS1307
ساعة رقمية بسيطة باستخدام Arduino Nano & DS1307

في هذه المقالة سوف أعرض لك برنامجًا تعليميًا لإنشاء ساعة رقمية باستخدام Arduino.. لوحة Arduino التي أستخدمها هي Arduino Nano V3 ، DS1307 كمزود بيانات الوقت ، MAX7219 7 Segment كشاشة عرض للساعة.

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

إذا لم تكن معتادًا على استخدام لوحات Arduino ، فلا تقلق.

يمكنك قراءة هذا المقال للإحماء:

  • كيفية استخدام Arduino Nano
  • MAX7219 7-Segment باستخدام Arduino
  • كيفية استخدام DS1307 باستخدام Arduino

الخطوة 1: المكونات المطلوبة

المكونات المطلوبة
المكونات المطلوبة
المكونات المطلوبة
المكونات المطلوبة
المكونات المطلوبة
المكونات المطلوبة

هذه هي المكونات التي نحتاجها لصنع ساعة رقمية:

  • اردوينو نانو V3.0
  • RTC DS1307
  • MAX7210 7 قطعة
  • سلك الطائر
  • USBmini
  • مجلس المشروع

المكتبة المطلوبة:

  • الأسلاك
  • ليدكونترول
  • RTClib

الخطوة 2: قم بتجميع كافة المكونات

قم بتجميع كافة المكونات
قم بتجميع كافة المكونات

إذا تم الحصول على جميع المكونات ، فقد حان الوقت الآن للتجميع.

انظر إلى الوصف أدناه أو انظر الصورة أعلاه:

من Arduino إلى RTC DS1307

GND => GND

+ 5 فولت => VCC

A4 => SDA

A5 => SCL

اردوينو إلى MAX7219

+ 5 فولت => VCC

GND => GND

D12 => DIN

D11 => CLK

D10 => CS

بعد تثبيت جميع المكونات ، تابع إلى قسم البرمجة.

الخطوة الثالثة: البرمجة

انسخ والصق هذا الرسم التخطيطي في الرسم الذي رسمته. بعد ذلك قم بتحميل البرنامج على لوحة arduno

# تضمين # تضمين "LedControl.h" # تضمين "RTClib.h"

RTC_DS1307 rtc ؛

LedControl lc = LedControl (12 ، 11 ، 10 ، 1) ؛

الإعداد باطل() {

Serial.begin (57600) ؛ if (! rtc.begin ()) {Serial.println ("تعذر العثور على RTC")؛ بينما (1) ؛ } if (! rtc.isrunning ()) {Serial.println ("RTC لا يعمل!")؛ // يعين السطر التالي RTC على التاريخ والوقت الذي تم فيه تجميع هذا الرسم التخطيطي // rtc.adjust (DateTime (F (_ DATE_)، F (_ TIME_))) ؛ // يعين هذا السطر RTC بتاريخ ووقت صريحين ، على سبيل المثال لضبط // 21 يناير 2014 في الساعة 3 صباحًا ، يمكنك الاتصال بـ: // rtc.adjust (التاريخ والوقت (2014 ، 1 ، 21 ، 3 ، 0 ، 0)) ؛ } lc.shutdown (0 ، خطأ) ؛ كثافة lc.set (0 ، 8) ؛ lc.clearDisplay (0) ، }

حلقة فارغة() {

DateTime now = rtc.now () ؛ if (now.second () 40) {lc.setDigit (0، 0، now.second ()٪ 10، false) ؛ lc.setDigit (0، 1، now.second () / 10، false) ؛ lc.setChar (0، 2، '-'، false) ؛ lc.setDigit (0، 3، now.minute ()٪ 10، false) ؛ lc.setDigit (0، 4، now.minute () / 10، false) ؛ lc.setChar (0، 5، '-'، false) ؛ lc.setDigit (0، 6، now.hour ()٪ 10، false) ؛ lc.setDigit (0، 7، now.hour () / 10، false) ؛ }

إذا (now.second () == 30 || now.second () == 40)

{lc.clearDisplay (0) ، }

if (now.second ()> = 31 && now.second () <40) {lc.setDigit (0، 6، now.day ()٪ 10، true)؛ lc.setDigit (0، 7، now.day () / 10، false) ؛ lc.setDigit (0، 4، now.month ()٪ 10، true) ؛ lc.setDigit (0، 5، now.month () / 10، false) ؛ lc.setDigit (0، 0، (now.year ()٪ 1000)٪ 10، false) ؛ lc.setDigit (0، 1، (now.year ()٪ 1000) / 10، false) ؛ lc.setDigit (0، 2، (now.year ()٪ 1000) / 100، false) ؛ lc.setDigit (0، 3، now.year () / 1000، false) ؛ }}

الخطوة 4: النتيجة

بعد نجاح كل الخطوات ، هذه هي النتيجة التي ستشاهدها: (شاهد الفيديو)

كل 31 ثانية إلى 40 ثانية. ستعرض 7 شرائح التاريخ. باستثناء تلك الثانية ، سيعرض 7 مقطع الساعة

موصى به: