아두이노

본문 바로가기
사이트 내 전체검색


아두이노
아두이노

5. 알람시계 만들기(2)

페이지 정보

작성자 관리자 댓글 0건 조회 2,697회 작성일 18-11-24 23:04

본문

5. 알람시계 만들기(2)

 

알람시계를 시리얼 모니터로 먼저 구현해 보자




(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);

}


시리얼 모니터를 통해 먼저 확인한다.


그림입니다.
원본 그림의 이름: CLP000006606ae5.bmp
원본 그림의 크기: 가로 431pixel, 세로 186pixel



(2) 버튼을 통해 알람시간 설정하기


그림입니다.
원본 그림의 이름: CLP000006600002.bmp
원본 그림의 크기: 가로 573pixel, 세로 629pixel



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을 누르면 알람시간의 분이 증가한다.


그림입니다.
원본 그림의 이름: CLP000006600003.bmp
원본 그림의 크기: 가로 407pixel, 세로 181pixel


알람시간과 현재시간이 맞을 때, 액션을 추가한다.


텍스트 LCD로 현재시간을 출력한다.

댓글목록

등록된 댓글이 없습니다.


개인정보취급방침 서비스이용약관 모바일 버전으로 보기 상단으로

TEL. 063-469-4551 FAX. 063-469-4560 전북 군산시 대학로 558
군산대학교 컴퓨터정보공학과

Copyright © www.leelab.co.kr. All rights reserved.