Სარჩევი:

მარტივი ციფრული საათი Arduino Nano & DS1307 გამოყენებით: 4 ნაბიჯი
მარტივი ციფრული საათი Arduino Nano & DS1307 გამოყენებით: 4 ნაბიჯი

ვიდეო: მარტივი ციფრული საათი Arduino Nano & DS1307 გამოყენებით: 4 ნაბიჯი

ვიდეო: მარტივი ციფრული საათი Arduino Nano & DS1307 გამოყენებით: 4 ნაბიჯი
ვიდეო: 7 projects Build LED LCD Alarm Clock using DS1307 with Arduino | Lesson 105 2024, ნოემბერი
Anonim
მარტივი ციფრული საათი Arduino Nano & DS1307 გამოყენებით
მარტივი ციფრული საათი Arduino Nano & DS1307 გამოყენებით

ამ სტატიაში მე გაჩვენებთ სამეურვეო ციფრულ საათს Arduino– ს გამოყენებით. Arduino დაფა, რომელსაც მე ვიყენებ არის Arduino Nano V3, DS1307 როგორც დროის მონაცემების პროვაიდერი, MAX7219 7 სეგმენტი, როგორც საათის ჩვენება.

სამეურვეო პროგრამაში შესვლამდე გირჩევთ იცოდეთ არდუინოს მოწყობილობებისა და აქსესუარების გამოყენება. ეს გაგიადვილებთ იმ სახელმძღვანელოს დაცვას, რომელიც მე ვაჩვენე.

თუ არ იცნობთ Arduino დაფების გამოყენებას, არ ინერვიულოთ.

თქვენ შეგიძლიათ წაიკითხოთ ეს სტატია გასათბობად:

  • როგორ გამოვიყენოთ Arduino Nano
  • MAX7219 7-სეგმენტი Arduino– ს გამოყენებით
  • როგორ გამოვიყენოთ DS1307 არდუინოს გამოყენებით

ნაბიჯი 1: საჭირო კომპონენტები

საჭირო კომპონენტები
საჭირო კომპონენტები
საჭირო კომპონენტები
საჭირო კომპონენტები
საჭირო კომპონენტები
საჭირო კომპონენტები

ეს არის კომპონენტები, რომლებიც ჩვენ გვჭირდება ციფრული საათის შესაქმნელად:

  • არდუინო ნანო V3
  • RTC DS1307
  • MAX7210 7 სეგმენტი
  • Jumper Wire
  • USB მინი
  • პროექტის დაფა

ბიბლიოთეკა საჭიროა:

  • მავთული
  • LedControl
  • RTClib

ნაბიჯი 2: შეაგროვეთ ყველა კომპონენტი

შეაგროვეთ ყველა კომპონენტი
შეაგროვეთ ყველა კომპონენტი

თუ ყველა კომპონენტი მიღებულია, ახლა დროა შეიკრიბოთ.

იხილეთ ქვემოთ აღწერილობა ან იხილეთ სურათი ზემოთ:

Arduino to 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 () {

სერიული. დასაწყისი (57600); if (! rtc.begin ()) {Serial.println ("RTC ვერ ვიპოვე"); ხოლო (1); } if (! rtc.isrunning ()) {Serial.println ("RTC არ მუშაობს!"); // მომდევნო ხაზი ადგენს RTC– ს ამ ესკიზის შედგენის თარიღსა და დროს // rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_))); // ეს ხაზი ადგენს RTC– ს მკაფიო თარიღსა და დროს, მაგალითად, მითითებულია // 2014 წლის 21 იანვარს დილის 3 საათზე დარეკავთ: // rtc.adjust (DateTime (2014, 1, 21, 3, 0, 0)); } lc. გამორთვა (0, ყალბი); lc.setIntensity (0, 8); lc.clearDisplay (0); }

ბათილი მარყუჟი () {

თარიღი ახლა = rtc.now (); if (now.second () 40) {lc.setDigit (0, 0, now.second ()%10, false); lc.setDigit (0, 1, ახლა. მეორე ()/10, ყალბი); lc.setChar (0, 2, '-', ყალბი); lc.setDigit (0, 3, ახლა. წუთი ()%10, ყალბი); lc.setDigit (0, 4, ახლა. წუთი ()/10, ყალბი); lc.setChar (0, 5, '-', ყალბი); lc.setDigit (0, 6, ახლა. საათი ()%10, ყალბი); lc.setDigit (0, 7, ახლა. საათი ()/10, ყალბი); }

თუ (ახლა. მეორე () == 30 || ახლა. მეორე () == 40)

{lc.clearDisplay (0); }

if (now.second ()> = 31 && now.second () <40) {lc.setDigit (0, 6, now.day ()%10, true); lc.setDigit (0, 7, ახლა. დღე ()/10, ყალბი); lc.setDigit (0, 4, ახლა. თვე ()%10, ჭეშმარიტი); lc.setDigit (0, 5, ახლა. თვე ()/10, ყალბი); lc.setDigit (0, 0, (ახლა. წელი ()%1000)%10, ყალბი); lc.setDigit (0, 1, (ახლა. წელი ()%1000)/10, ყალბი); lc.setDigit (0, 2, (ახლა. წელი ()%1000)/100, ყალბი); lc.setDigit (0, 3, ახლა. წელი ()/1000, ყალბი); }}

ნაბიჯი 4: შედეგი

მას შემდეგ რაც ყველა ნაბიჯი წარმატებულია, ეს არის შედეგი რასაც თქვენ ნახავთ: (უყურეთ ვიდეოს)

ყოველ 31 -ე წამიდან მე -40 წამამდე. 7 სეგმენტი აჩვენებს თარიღს. იმ მეორე გარდა, 7 სეგმენტი აჩვენებს საათს

გირჩევთ: