فهرست مطالب:

ساعت دیجیتالی ساده با استفاده از آردوینو نانو و DS1307: 4 مرحله
ساعت دیجیتالی ساده با استفاده از آردوینو نانو و DS1307: 4 مرحله

تصویری: ساعت دیجیتالی ساده با استفاده از آردوینو نانو و DS1307: 4 مرحله

تصویری: ساعت دیجیتالی ساده با استفاده از آردوینو نانو و DS1307: 4 مرحله
تصویری: 7 projects Build LED LCD Alarm Clock using DS1307 with Arduino | Lesson 105 2024, نوامبر
Anonim
ساعت دیجیتالی ساده با استفاده از آردوینو نانو و DS1307
ساعت دیجیتالی ساده با استفاده از آردوینو نانو و DS1307

در این مقاله یک آموزش ساخت ساعت دیجیتال با استفاده از Arduino به شما نشان خواهم داد. برد Arduino که من استفاده می کنم Arduino Nano V3 ، DS1307 به عنوان ارائه دهنده داده های زمان ، MAX7219 7 Segment به عنوان صفحه نمایش ساعت است.

قبل از ورود به آموزش ، توصیه می کنم با استفاده از دستگاه ها و لوازم جانبی آردوینو آشنا باشید. این کار برای شما آسان تر است که آموزشی را که نشان دادم دنبال کنید.

اگر با استفاده از بردهای آردوینو آشنایی ندارید ، نگران نباشید.

برای گرم شدن می توانید این مقاله را بخوانید:

  • نحوه استفاده از آردوینو نانو
  • MAX7219 7 بخش با استفاده از آردوینو
  • نحوه استفاده از DS1307 با استفاده از آردوینو

مرحله 1: اجزای مورد نیاز

قطعات مورد نیاز
قطعات مورد نیاز
قطعات مورد نیاز
قطعات مورد نیاز
قطعات مورد نیاز
قطعات مورد نیاز

اینها اجزای مورد نیاز ما برای ساخت ساعت دیجیتال هستند:

  • آردوینو نانو V3
  • RTC DS1307
  • MAX7210 7 بخش
  • Jumper Wire
  • USB مینی
  • تابلوی پروژه

کتابخانه مورد نیاز:

  • سیم
  • LedControl
  • RTClib

مرحله 2: همه قطعات را مونتاژ کنید

همه قطعات را مونتاژ کنید
همه قطعات را مونتاژ کنید

اگر همه اجزا به دست آمده اند ، اکنون زمان مونتاژ است.

توضیحات زیر را ببینید یا تصویر بالا را ببینید:

آردوینو به RTC DS1307

GND => GND

+5V => VCC

A4 => SDA

A5 => SCL

آردوینو تا MAX7219

+5V => VCC

GND => GND

D12 => DIN

D11 => CLK

D10 => CS

پس از نصب همه اجزا ، به بخش برنامه نویسی ادامه دهید.

مرحله 3: برنامه نویسی

این طرح را کپی کرده و در طرح مورد نظر خود بچسبانید. پس از آن برنامه را روی برد arduno بارگذاری کنید

#شامل #شامل "LedControl.h" #شامل "RTClib.h"

RTC_DS1307 rtc؛

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

void setup () {

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 (DateTime (2014 ، 1 ، 21 ، 3 ، 0 ، 0))؛ } lc.shutdown (0 ، false) ؛ lc.setIntensity (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) ؛ }

if (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 ، (در حال حاضر سال ()٪ 1000)/10 ، غلط) ؛ lc.setDigit (0 ، 2 ، (now.year ()٪ 1000)/100 ، false) ؛ lc.setDigit (0 ، 3 ، now.year ()/1000 ، false) ؛ }}

مرحله 4: نتیجه گیری

پس از موفقیت همه مراحل ، این نتیجه ای است که خواهید دید: (فیلم را تماشا کنید)

هر 31 ثانیه تا 40 ثانیه 7 بخش تاریخ را نمایش می دهد. به جز قسمت دوم ، 7 قسمت ساعت را نمایش می دهد

توصیه شده: