5. 알람시계 만들기(2)
페이지 정보
작성자 관리자 댓글 0건 조회 3,949회 작성일 18-11-24 23:04본문
알람시계를 시리얼 모니터로 먼저 구현해 보자
(1) 현재 시간 보여주기
int hours = 0; // 시
int mins = 0; // 분
void setup()
{
Serial.begin(9600);
hours = 10; // 시작 : 시
mins = 10; // 시작 : 분
}
void loop() {
mins++;
if(mins > 59) {
hours++;
mins = 0;
}
if(hours > 23) {
hours = 0;
}
Serial.print(hours);
Serial.print(":");
Serial.println(mins);
Serial.println("");
delay(1000);
}
시리얼 모니터를 통해 먼저 확인한다.
(2) 버튼을 통해 알람시간 설정하기
int hours = 0; // 현재 : 시
int mins = 0; // 현재 : 분
int ahours = 0; // 알람 : 시
int amins = 0; // 알람 : 분
void setup()
{
pinMode(6, INPUT); // 현재시간 : 시
pinMode(5, INPUT); // 현재시간 : 분
pinMode(4, INPUT); // 알람시간 : 시
pinMode(3, INPUT); // 알람시간 : 분
digitalWrite(6, HIGH);
digitalWrite(5, HIGH);
digitalWrite(4, HIGH);
digitalWrite(3, HIGH);
Serial.begin(9600);
hours = 10; // 초기 시작 : 시
mins = 10; // 초기 시작 : 분
}
void loop()
{
if(digitalRead(6) == LOW){
hours++;
} else if (digitalRead(5) == LOW){
mins++;
}
if(digitalRead(4) == LOW){
ahours++;
} else if (digitalRead(3) == LOW){
amins++;
}
mins++;
if(mins > 59) {
hours++;
mins = 0;
}
if(hours > 23) {
hours = 0;
}
if(ahours == hours && amins == mins && amins != 0){
// 알람 시간이 맞을 때 처리
} else{
}
Serial.print(hours);
Serial.print(":");
Serial.println(mins);
Serial.println("");
Serial.print(ahours);
Serial.print(":");
Serial.println(amins);
Serial.println("");
delay(1000);
}
소스를 수정후, 실행 해보자.
버튼1을 누르면 현재 시간의 시간이 증가한다. 버튼2을 누르면 현재시간의 분이 증가한다.
버튼3을 누르면 알람시간의 시간이 증가한다. 버튼4을 누르면 알람시간의 분이 증가한다.
알람시간과 현재시간이 맞을 때, 액션을 추가한다.
텍스트 LCD로 현재시간을 출력한다.
댓글목록
등록된 댓글이 없습니다.