Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 정보처리기사후기
- google drive upload
- 우분투 opencv 설치
- NodeMCU
- api사용해서 google drive에 폴더만들기
- vi
- 고정ip할당
- vtk
- vim명령어
- 정보처리기사
- c#
- Google Drive API
- 아두이노 설치
- annotating
- vim
- opencv apt설치
- ubuntu
- sshkey
- Winform
- libopencv-dev
- rotation
- translation
- opencv resize
- opengl
- apt update
- 아두이노
- esp32
- google drive 업로드
- opencv
- Python
Archives
- Today
- Total
내가 보려고 만든 블로그
아두이노 시계 본문
반응형
ds1302모듈과 lcd1602를 이용해서 현재시간을 lcd로 나타나게 했다.
#include <DS1302.h>
#include <LiquidCrystal.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h> // LCD 1602 I2C용 라이브러리
LiquidCrystal_I2C lcd(0x27,16,2); // 접근주소: 0x3F or 0x27
// DS1302와 연결되는 아두이노 핀 번호
const int kCePin = 8; // Chip Enable
const int kIoPin = 7; // Input/Output
const int kSclkPin = 6; // Serial Clock
// DS1302 오브젝트 생성
DS1302 rtc(kCePin, kIoPin, kSclkPin);
// 요일 코드에 알맞는 문자열 출력
String dayAsString(const Time::Day day) {
switch (day) {
case Time::kSunday: return "SUN";
case Time::kMonday: return "MON";
case Time::kTuesday: return "TUE";
case Time::kWednesday: return "WED";
case Time::kThursday: return "THU";
case Time::kFriday: return "FRI";
case Time::kSaturday: return "SAT";
}
return "";
}
// 날짜, 시간 출력
void printTime() {
// 칩에 저장된 시간을 읽어옵니다.
Time t = rtc.time();
// 요일 코드에 알맞는 문자열 가져오기
const String day = dayAsString(t.day);
// 날짜 출력
char buf[20];
snprintf(buf, sizeof(buf), "%04d-%02d-%02d %s", t.yr, t.mon, t.date, day.c_str());
lcd.setCursor(0, 0);
lcd.print(buf);
// 시간 출력
snprintf(buf, sizeof(buf), "%02d:%02d:%02d", t.hr, t.min, t.sec);
lcd.setCursor(0, 1);
lcd.print(buf);
}
void setup() {
Serial.begin(115200);
// 새로운 날짜와 시간 정보를 칩에 저장합니다.
// 이 작업은 시간을 맞출때만 사용하며, 평상시에는 주석(//) 처리되어 있어야 합니다.
// rtc.writeProtect(false);
// rtc.halt(false);
// Time t(2017, 6, 17, 14, 49, 00, Time::kSaturday);
// rtc.time(t);
// 사용된 LCD의 글자수
lcd.begin(16, 2);
}
// 1초마다 날짜와 시간을 출력합니다.
void loop() {
printTime();
delay(1000);
}
반응형
'아두이노' 카테고리의 다른 글
아두이노 7세그먼트(7segment led) (0) | 2020.09.08 |
---|---|
아두이노 5v Relay (0) | 2020.09.08 |
아두이노 ds1302 realtime_clock (0) | 2020.09.08 |
아두이노 4x4 keypad Test (0) | 2020.09.08 |
아두이노 3color led test (0) | 2020.09.08 |