작은 질문이 있습니다. 나는 arduino.In 아래의 깜박이 나는 커서를 깜박일 수있는 인터페이스가되는 16x2 LCD를 가지고있다. 그러나 나는 커서 대신에 숫자를 깜박 거리고 싶었다. arduino와 함께하는 법. Keypad shield used 위의 날짜 변수를 깜박이기를 원합니다. 그것을하는 방법LCD에 문자가 깜박임
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 7, 6, 5, 4);
int Blink_pos[6][2]={
{
5,0 }
,
{
8,0 }
,
{
11,0 }
,
{
5,1 }
,
{
8,1 }
,
{
11,1 }
};
enum _Screen_edit_item
{
EDIT_DAY,
EDIT_MONTH,
EDIT_YEAR,
EDIT_HOUR,
EDIT_MINUTE,
EDIT_SEC
};
typedef enum _Screen_edit_item EDIT_SCREEN_ITEM;
static int local_day=1;
static int local_month=3;
static int local_year=2014;
int local_s=12;
static int local_h=23;
static int local_m=1;
void setup(){
lcd.begin(16,2);
lcd.clear();
}
void loop()
{
Blink_LCD();
}
void Blink_LCD(){
int j=0;
for(int j=0; j<6;j++)
{
digitalClockDisplay();
lcd.setCursor(Blink_pos[j][0],Blink_pos[j][1]);
Serial.print(Blink_pos[j][0]);
Serial.print(" ");
Serial.println(Blink_pos[j][1]);
delay(300);
switch(j)
{
case EDIT_DAY:
lcd.print(local_day); goto LABEL;
break;
case EDIT_MONTH:
lcd.print(local_month); goto LABEL;
break;
case EDIT_YEAR:
lcd.print(local_year); goto LABEL;
break;
case EDIT_HOUR:
lcd.print(local_h); goto LABEL;
break;
case EDIT_MINUTE:
lcd.print(local_m); goto LABEL;
break;
case EDIT_SEC:
lcd.print(local_s); goto LABEL;
break;
}
LABEL: lcd.setCursor(Blink_pos[j][0],Blink_pos[j][1]);
lcd.print("_");
delay(300);
}
}
void digitalClockDisplay()
{
Serial.print(local_s);
lcd.begin(16,2);
lcd.setCursor(0,0);
lcd.print("Date:");
if((local_day>0) &&(local_day<10))
{
lcd.print("0");
lcd.print(local_day);
}
else{
lcd.print(local_day);
}
lcd.print("/");
if((local_month>0) &&(local_month<10))
{
lcd.print("0");
lcd.print(local_month);
}
else{
lcd.print("0");
lcd.print(local_month);
}
lcd.print("/");
lcd.print(local_year);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print("Time:");
if((local_h>0) &&(local_h<10)){
lcd.print("0");
lcd.print(local_h);
}
else{
lcd.print(local_h);
}
lcd.print(":");
if((local_m>0) &&(local_m<10)){
lcd.print("0");
lcd.print(local_m);
}
else{
lcd.print(local_m);
}
lcd.print(":");
if((local_s>0) &&(local_s<10)){
lcd.print("0");
lcd.print(local_s);
}
else{
lcd.print(local_s);
}
lcd.print(" ");
}
LCD의 두 번째 줄 (첫 번째 줄 = "암호 입력")에 숫자를 인쇄하고 깜박이지 않으시겠습니까 ?? 또는 단순히 숫자를 인쇄하고 깜박임을 계속합니까? –
가장 좋은 대답은 :하지 마십시오. 유용성의 관점에서 이것은 끔찍한 일입니다. LCD 화면이 빨고 올바른 각도에서 보지 않으면 더 나 빠지게됩니다. 깜박이는 텍스트로 더 악화시키지 마십시오. 이것은 실제로 대답이 아니기 때문에 Ignacios의 답변을 선택합니다. – krowe
당신은 무엇을 suggest.i 배열을 가지고있다.이 배열은 화면에 가치 디스플레이와 함께 저장해야합니다. 배열 요소에 무엇이 있는지보고 싶습니다. – RKNAYAK