¾ÆµÎÀ̳븦 »ç¿ëÇÏ¿© AM, PMÀ» Ç¥½ÃÇÒ ¼ö ÀÖ°í 1Ãʸ¶´Ù ±ô¹ÚÀÌ´Â LED µÎ °³¿Í 7-¼¼±×¸ÕÆ® 4°³, AM°ú PMÀ» Ç¥½ÃÇÒ ¼ö ÀÖ´Â °¢°¢ÀÇ LED¸¦ ÀÌ¿ëÇÑ µðÁöÅÐ ½Ã°è ÇÁ·Î±×·¥ ¿¹½ÃÀÔ´Ï´Ù. RTC·Î´Â DS1307 ¸ðµâÀ» »ç¿ëÇÕ´Ï´Ù.
#include
#include "RTClib.h"
RTC_DS1307 rtc;
const int ledPin = 13;
const int amLedPin = 10;
const int pmLedPin = 11;
const int sevenSegmentPins[4][7] = {
{2, 3, 4, 5, 6, 7, 8},
{9, 10, 11, 12, A, A1, A2},
{A3, A4, A5, A6, A7, 8, 9},
{10, 11, 12, 13, A, A1, A2}
};
int digits[10][7] = {
{1, 1, 1, 1, 1, 1, },
{, 1, 1, , , , },
{1, 1, , 1, 1, , 1},
{1, 1, 1, 1, , , 1},
{, 1, 1, , , 1, 1},
{1, , 1, 1, , 1, 1},
{1, , 1, 1, 1, 1, 1},
{1, 1, 1, , , , },
{1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, , 1, 1}
};
void setup() {
Serial.begin(960);
if (!rtc.begin()) {
Serial.println("RTC¸¦ ãÀ» ¼ö ¾ø½À´Ï´Ù.");
while (1);
}
if (!rtc.isrunning()) {
Serial.println("RTC°¡ ÀÛµ¿ÇÏ°í ÀÖÁö ¾Ê½À´Ï´Ù.");
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
}
pinMode(ledPin, OUTPUT);
pinMode(amLedPin, OUTPUT);
pinMode(pmLedPin, OUTPUT);
for (int i = ; i < 4; i++) {
for (int j = ; j < 7; j++) {
pinMode(sevenSegmentPins[i][j], OUTPUT);
}
}
}
void loop() {
DateTime now = rtc.now();
int hour = now.hour();
int minute = now.minute();
int second = now.second();
if (hour < 12) {
digitalWrite(amLedPin, HIGH);
digitalWrite(pmLedPin, LOW);
} else {
digitalWrite(amLedPin, LOW);
digitalWrite(pmLedPin, HIGH);
}
if(hour > 12) hour -= 12;
else if(hour == ) hour = 12;
displayDigit(, hour / 10);
displayDigit(1, hour % 10);
displayDigit(2, minute / 10);
displayDigit(3, minute % 10);
digitalWrite(ledPin, second % 2);
delay(100);
}
void displayDigit(int digit, int number) {
for (int i = ; i < 7; i++) {
digitalWrite(sevenSegmentPins[digit][i], LOW);
}
for (int i = ; i < 7; i++) {
digitalWrite(sevenSegmentPins[digit][i], digits[number][i]);
}
}
ÀÌ ÄÚµå´Â ±âº»ÀûÀÎ µðÁöÅÐ ½Ã°è ±â´ÉÀ» ±¸ÇöÇÕ´Ï´Ù. ½Ã°£À» Àбâ À§Çؼ´Â DS1307 RTC ¸ðµâÀ» »ç¿ëÇÕ´Ï´Ù. 7 ¼¼±×¸ÕÆ® µð½ºÇ÷¹ÀÌ·Î ÇöÀç ½Ã°£À» Ç¥½ÃÇÏ°í, AM°ú PMÀ» ³ªÅ¸³»´Â LED¸¦ »ç¿ëÇÏ¿© ¿ÀÀü°ú ¿ÀÈĸ¦ ±¸ºÐÇÕ´Ï´Ù. ¶ÇÇÑ, 1Ãʸ¶´Ù LED°¡ ±ô¹ÚÀ̵µ·Ï ¼³Á¤µÇ¾î ÀÖ½À´Ï´Ù.
Âü°í·Î 7 ¼¼±×¸ÕÆ® µð½ºÇ÷¹ÀÌ ÇÉ ¹è¿°ú DS1307 ¸ðµâÀÇ ¿¬°á¹æ½ÄÀº ½ÇÁ¦ Çϵå¿þ¾î ±¸¼º¿¡ µû¶ó ´Þ¶óÁú ¼ö ÀÖÀ¸¹Ç·Î ÀûÀýÇÏ°Ô Á¶Á¤ÇØ¾ß ÇÕ´Ï´Ù.