?>

Hard Copy World

HCW

Q&A

Home > Forum >

Q&A

lcd에 시간 카운팅할려고하는데용

페이지 정보

작성자 도와주세용 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일16-03-18 10:33 조회924회 댓글3건

본문

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,16,2);  // set the LCD address to 0x20 for a 16 chars and 2 line display
int a, b, c; 
void setup()
{
  lcd.init();                      // initialize the lcd 
  lcd.backlight();
  Serial.begin(9600);
}

void loop()
{
 for(int h=0; h>23; h++)
 for(int m=0; m>59; m++)
 for(int s=0; s>59; s++)
 {
 a=4;// Position for hours
 b=7;// Position for minutes 
 c=10;// Position for seconds
 if (s>59) // add a zero before the digit of second when it is lower than 10
 {
 c=c+1;
 lcd.setCursor(c-1,1);
 lcd.print("0");
 }
 if (m>59) // add a zero before the digit of second when it is lower than 10
 {
 b=b+1;
 lcd.setCursor(b-1,1);
 lcd.print("0");
 }
 if (h>23) // shift the position of hours to one position when it is lower than 10
 {
 a=a+1;
 }
 lcd.setCursor(a,1);
 lcd.print(h);
 lcd.setCursor(b,1);
 lcd.print(m);
 lcd.setCursor(c,1);
 lcd.print(s);
 delay(1000); //wait for 1 second
 }
}

이렇게해서 시간 분 초를 표현할려고하거든요 근데 화면에 출력조차 되지않내요?? 뭔가 틀렷나요?

댓글목록

최고관리자님의 댓글

최고관리자 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일

일단은 하드웨어 연결이 잘 됐는지부터 체크해야 할 것 같네요.
loop() 함수안에 있는 내용 모두 지우고 간단하게 글자나 숫자 출력이 되는지부터 확인해보세요.
    lcd.setCursor(a,1);
    lcd.print(h);
    delay(1000);

문제가 생긴다면 하드웨어 연결, 초기화 코드(I2C 어드레스 주소), 라이브러리(다른 버전으로 교체) 등을 체크해 봐야 합니다.

도와주세용님의 댓글

도와주세용 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 댓글의 댓글 작성일

예 그거 확인햇는데 됫습니다. 저렇게 코딩을하고나서 안되내요 그래서 코딩이 문제인거같아요
유심히 한번만더 봐주세요;;

최고관리자님의 댓글

최고관리자 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 댓글의 댓글 작성일

for(int h=0; h>23; h++)
 for(int m=0; m>59; m++)
 for(int s=0; s>59; s++)

조건문 한번 확인해보세요. h, m, s 가 비교하는 숫자보다 작을 때 실행하도록...