ዝርዝር ሁኔታ:

አርዱዲኖ ናኖ እና DS1307: 4 ደረጃዎች በመጠቀም ቀላል ዲጂታል ሰዓት
አርዱዲኖ ናኖ እና DS1307: 4 ደረጃዎች በመጠቀም ቀላል ዲጂታል ሰዓት

ቪዲዮ: አርዱዲኖ ናኖ እና DS1307: 4 ደረጃዎች በመጠቀም ቀላል ዲጂታል ሰዓት

ቪዲዮ: አርዱዲኖ ናኖ እና DS1307: 4 ደረጃዎች በመጠቀም ቀላል ዲጂታል ሰዓት
ቪዲዮ: DVD Player LED Display Recycling - Unrelated Activities 2024, ህዳር
Anonim
አርዱዲኖ ናኖ እና DS1307 ን በመጠቀም ቀላል ዲጂታል ሰዓት
አርዱዲኖ ናኖ እና DS1307 ን በመጠቀም ቀላል ዲጂታል ሰዓት

በዚህ ጽሑፍ ውስጥ አርዱዲኖን በመጠቀም ዲጂታል ሰዓት ለመሥራት አጋዥ ስልጠናን አሳያችኋለሁ። እኔ የምጠቀምበት የአርዱዲኖ ቦርድ አርዱዲኖ ናኖ ቪ 3 ፣ DS1307 እንደ የጊዜ መረጃ አቅራቢ ፣ MAX7219 7 ክፍል እንደ ሰዓት ማሳያ ነው።

ወደ መማሪያው ከመግባትዎ በፊት የአርዱዲኖ መሳሪያዎችን እና መለዋወጫዎችን ከመጠቀምዎ ጋር እንዲተዋወቁ እመክራለሁ። ይህ እኔ ያሳየሁትን ትምህርት ለመከተል ቀላል ያደርግልዎታል።

የአርዱዲኖ ቦርዶችን መጠቀም የማያውቁ ከሆነ ፣ አይጨነቁ።

ለማሞቅ ይህንን ጽሑፍ ማንበብ ይችላሉ-

  • አርዱዲኖ ናኖን እንዴት እንደሚጠቀሙ
  • MAX7219 7-ክፍል አርዱዲኖን በመጠቀም
  • አርዱዲኖን በመጠቀም DS1307 ን እንዴት እንደሚጠቀሙ

ደረጃ 1 - አስፈላጊ አካላት

አስፈላጊ አካላት
አስፈላጊ አካላት
አስፈላጊ አካላት
አስፈላጊ አካላት
አስፈላጊ አካላት
አስፈላጊ አካላት

ዲጂታል ሰዓት ለመሥራት የሚያስፈልጉን እነዚህ ክፍሎች ናቸው

  • አርዱዲኖ ናኖ ቪ 3
  • RTC DS1307
  • MAX7210 7 ክፍል
  • ዝላይ ገመድ
  • ዩኤስቢሚኒ
  • የፕሮጀክት ቦርድ

ቤተ -መጽሐፍት ያስፈልጋል

  • ሽቦ
  • LedControl
  • RTClib

ደረጃ 2 ሁሉንም አካላት ያሰባስቡ

ሁሉንም አካላት ይሰብስቡ
ሁሉንም አካላት ይሰብስቡ

ሁሉም አካላት ከተገኙ ፣ ለመሰብሰብ ጊዜው አሁን ነው።

ከዚህ በታች ያለውን መግለጫ ይመልከቱ ወይም ከላይ ያለውን ስዕል ይመልከቱ-

አርዱinoኖ ወደ RTC DS1307

GND => GND

+5V => ቪ.ሲ.ሲ

A4 => SDA

A5 => SCL

አርዱinoኖ ወደ MAX7219

+5V => ቪ.ሲ.ሲ

GND => GND

D12 => ዲን

D11 => CLK

D10 => CS

ሁሉም ክፍሎች ከተጫኑ በኋላ ወደ ፕሮግራሚንግ ክፍል ይቀጥሉ።

ደረጃ 3 - ፕሮግራሚንግ

ይህንን ንድፍ በሠሩት ንድፍ ውስጥ ይቅዱ እና ይለጥፉ። ከዚያ በኋላ ፕሮግራሙን ወደ አርዱኖ ቦርድ ይጫኑ

#አካትት "LedControl.h" #"RTClib.h" ን አካት

RTC_DS1307 rtc;

LedControl lc = LedControl (12 ፣ 11 ፣ 10 ፣ 1);

ባዶነት ማዋቀር () {

Serial.begin (57600); ከሆነ (! rtc.begin ()) {Serial.println ("RTC ን ማግኘት አልተቻለም"); ሳለ (1); } ከሆነ (! 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 ፣ ሐሰት); lc.setIntensity (0, 8); lc.clearDisplay (0); }

ባዶነት loop () {

DateTime now = rtc.now (); ከሆነ (አሁን. ሰከንድ () 40) {lc.setDigit (0, 0, now.second ()%10, ሐሰት); 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 ፣ now.hour ()/10 ፣ ሐሰት); }

ከሆነ (አሁን.ሰከንድ () == 30 || now.second () == 40)

{lc.clearDisplay (0); }

ከሆነ (now.second ()> = 31 && now.second () <40) {lc.setDigit (0, 6, now.day ()%10, true); lc.setDigit (0 ፣ 7 ፣ now.day ()/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 ክፍል ሰዓቱን ያሳያል

የሚመከር: