BASIC4MCU | 질문게시판 | 답변 : LED, LCD, 버튼, 부저
페이지 정보
작성자 master 작성일2022-11-24 20:13 조회3,351회 댓글0건본문
// I2C LCD 라이브러리 설정
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
//
int ledPin=13,buttonPin=7,buzPin=12;
//
int day=0,hour=0,minute=0,second=0; // 일,시,분,초
//
void setup(){
pinMode(ledPin,OUTPUT); pinMode(buzPin,OUTPUT);
pinMode(buttonPin,INPUT_PULLUP);
lcd.init(); lcd.clear(); lcd.backlight(); lcd.print("Hello");
Serial.begin(9600);
}
//
unsigned long t,t1;
bool btn_flag=0,run=0;
//
void time_disp(){
lcd.setCursor(0,0); lcd.print("JuHyun's Timer!");
lcd.setCursor(0,1); lcd.print("Time:: "); lcd.print(hour); // 시
lcd.print(':'); lcd.print(minute); // 분
lcd.print(':'); lcd.print(second); // 초
}
//
void loop(){
t=millis();
//--------------------
if(digitalRead(buttonPin)==0){
if(btn_flag==0){ btn_flag=1;
run=1; digitalWrite(ledPin,1); minute=10,second=0; t1=t; time_disp(); delay(50);
}
}
else{
if(btn_flag){ btn_flag=0; delay(50); }
}
//--------------------
if(run){
if(t-t1>=1000){ t1=t;
time_disp();
//
if(--second<0){ second=59;
if(--minute<0){
lcd.clear(); lcd.print("Complete");
digitalWrite(buzPin,1);
delay(5000);
digitalWrite(ledPin,0);
digitalWrite(buzPin,0);
lcd.clear();
run=0;
}
}
}
}
}
}
void button(){
if(button_hold==true){
if(millis()- button_delay >=100){
button_hold=false;
}
}
}
댓글 0
조회수 3,351등록된 댓글이 없습니다.