ዝርዝር ሁኔታ:

ቀላል ፣ ተግባራዊ አርዱinoኖ የሩጫ ሰዓት - 4 ደረጃዎች
ቀላል ፣ ተግባራዊ አርዱinoኖ የሩጫ ሰዓት - 4 ደረጃዎች

ቪዲዮ: ቀላል ፣ ተግባራዊ አርዱinoኖ የሩጫ ሰዓት - 4 ደረጃዎች

ቪዲዮ: ቀላል ፣ ተግባራዊ አርዱinoኖ የሩጫ ሰዓት - 4 ደረጃዎች
ቪዲዮ: On/OFF LED using Arduino Programming Full Video Basic To Advanced Languages #onoffledusingarduino 2024, ህዳር
Anonim
ቀላል ፣ ተግባራዊ አርዱinoኖ የሩጫ ሰዓት
ቀላል ፣ ተግባራዊ አርዱinoኖ የሩጫ ሰዓት

ለ Arduino የሩጫ ሰዓት ድርን ይፈልጉ። እርስዎ እዚህ ካደረጉ ምናልባት እርስዎ ብቻ ያደርጉት ይሆናል። ከግል ተሞክሮ በመነሳት ፣ በበይነመረብ ላይ ያለው ማንኛውም የሩጫ ሰዓት በጣም ውስብስብ (በኮድ ውስጥ ፣ ለጀማሪዎች) ወይም በጣም ቀላል እና ተግባራዊ እንዳልሆነ እነግርዎታለሁ ፣ ልክ እንደ ዳግም ማስጀመር ሰከንዶች ይቆጥራሉ።

እርስዎም እንዲሁ ይመስልዎታል ፣ እሺ? ደህና ምን እንደሆነ ገምቱ። እኔ አደረግሁት ፣ እና ከዚህም በላይ ፣ የእኔን ግቤት በቀጥታ ከሚሊ () ተግባር- ማለቂያ ከሌለው የቁጥሮች መስመር (እስከ 49 ቀናት ፣ ወይም ሌላ) እወስዳለሁ። በጣም ጥሩው ክፍል? አንድ መስመር ብቻ ነው።

ዳግም ማስጀመር ፣ የሩጫ ሰዓቱ ትክክለኛው ከባድ ክፍል ነው። ለመካከለኛ ደረጃ ፣ የፕሮግራም አዘጋጆች ፣ አስቀድመው ካላደረጉ ፣ ይቀጥሉ እና ይህንን በሰከንዶች ፣ በደቂቃዎች እና በሰዓታት አብረው እራስዎ ለማድረግ ይሞክሩ። እኔ የምናገረውን ያገኛሉ።

ለጀማሪዎች ፣ ያንብቡ እና በአዕምሮዬ ብልህነት ይደሰቱ።

ቀልድ ብቻ ነው ፣ ግን ያመጣሁት መፍትሔ በጣም ቆንጆ ነው። ይኸው ነው -

ደረጃ 1 መፍትሄው

መፍትሄው
መፍትሄው

ስለዚህ ችግሩ እንደገና በመጀመር ላይ ነው። እኛ የምንፈልገው የማያቋርጥ ፣ ተደጋጋሚ የቁጥሮች ዑደት ፣ ማለቂያ ከሌለው ተከታታይ ቁጥሮች (ሚሊ ()) - እሱ በመሠረቱ ሚሊሰከንዶች ወይም በእውነቱ 1.024 ሚሊሰከንዶች ይቆጥራል ፣ ግን ምንም ቢሆን)።

ወደ አእምሮ የሚመጣው የመጀመሪያው ነገር እንደ ጊዜ1 -time2 እና መዘግየት ያለ ልዩነትን መጠቀም ነው። ያንን ይርሱት። እሱ ቢያንስ ስድስት የኮድ መስመሮችን እና መግለጫ ለማስነሳት ከሆነ ይወስዳል።

ስለዚህ እንዴት ማድረግ እንደሚቻል እነሆ። ገደብ አለን (59)። ከ 0 እስከ 59 ያለው ነገር ሁሉ ደጋግሞ እንዲደገም እንፈልጋለን። እንዴት?

ምን… እኛ ቀሪውን… የሚሊስን ተግባር በ 59 የተከፈለ… ቢንጎ!

ስለዚህ ፣ እንደዚህ መሆን አለበት-

(60 [እንደ መጀመሪያው እሴት ገደቡ 59] + ሚሊስ () / 1000 [1000 ሚሊሰከንዶች ሁለተኛ ነው]) % 60

እሺ ፣ ያብራራልኝ። (%) ወይም ሞጁሉስ ፣ በመሠረቱ ቀሪውን የሚያገኝ እንደ (+) ኦፕሬተር ነው። እንደ 9 % 2 = 1።

ስለዚህ:

  • ቀሪው (60 + 0) % 60 = 0
  • ቀሪው (60 + 1) % 60 = 1
  • ቀሪው (60 + 58) % 60 = 58
  • ቀሪው (60 + 59) % 60 = 59
  • ቀሪው (60 + 60) % 60 = 60
  • ቀሪው (60 + 61) % 60 = 1

እዩ!

አሁን ፣ ለክፍሎቹ።

ደረጃ 2 - ክፍሎች

ክፍሎች
ክፍሎች

ብዙ አይደለም ፣ በጭራሽ።

  1. ማንኛውም አርዱዲኖ
  2. ማንኛውም ማሳያ (0.96 OL OLED ን እጠቀም ነበር ፣ ግን ያለዎትን ሁሉ መጠቀም ይችላሉ ፣ ትክክለኛውን ተለዋዋጮች በማሳያዎ የማሳያ ተግባራት ውስጥ ማስገባትዎን ያረጋግጡ።)

ይሀው ነው.

ደረጃ 3 - ኮዱ

ይኸውልህ። እሱ በግልፅ አስተያየት ተሰጥቶታል ፣ ስለሆነም ምንም ችግሮች ሊኖሩ አይገባም። የ 0.96 ኢንች ቤተ -መጻህፍት እና ግቤት “OLED በኮድ ውስጥ ነው። የተለየ ከሆነ በእራስዎ ማሳያ ይተኩ።

// 0.96 OLED ቤተመፃህፍት

#ያካትቱ

#ያካትቱ

#ያካትቱ

#ያካትቱ

// 0.96 OLED Init

#OLED_RESET ን ይግለጹ 4

Adafruit_SSD1306 ማሳያ (OLED_RESET);

int ሰከንዶች;

int ደቂቃዎች;

int ሰዓታት ውስጥ;

ባዶነት ማዋቀር () {

// አንዳንድ ተጨማሪ 0.96 OLED Init

display.begin (SSD1306_SWITCHCAPVCC ፣ 0x3C);

display.clearDisplay (); display.setTextSize (2); display.setTextColor (ነጭ); }

ባዶነት loop () {

ሰከንዶች = (60 + ሚሊስ () / 1000) % 60;

ደቂቃዎች = (60 + ሚሊ () / 60000) % 60; ሰዓታት = (25 + ሚሊ () / 3600000) % 25;

display.clearDisplay ();

display.setCursor (0, 22); // ማሳያውን እንደገና ካዘጋጁ በኋላ የሰዓቶችን ቁጥር ያትሙ። ህትመት (ሰዓታት) ፤ display.print ("h:");

// ዳግም ከተጀመረ በኋላ የደቂቃዎችን ብዛት ያትሙ

display.print (ደቂቃዎች);

display.print ("m:");

// ማሳያ ዳግም ከተጀመረ ጀምሮ የሰከንዶች ቁጥርን ያትሙ። ህትመት (ሰከንዶች) ፤ display.print ("s");

display.setCursor (0, 0);

display.print ("የሩጫ ሰዓት"); display.drawLine (0, 18, 128, 18, WHITE); display.display ();

}

ደረጃ 4 - በመጨረሻው…

በመጨረሻው…
በመጨረሻው…

ስለዚህ በቃ! አሁን ከእሱ ጋር የሚፈልጉትን ያድርጉ። አንዳንድ እንቁላሎችን ጊዜ ይስጡ ፣ ወይም ሰፈርዎን ይቆጣጠሩ።

እንኳን ደስ አለዎት ፣ አሩሽ

የሚመከር: