我有一個小問題在這裏。我有16×2液晶顯示器與Arduino接口。在下面的眨眼中,我可以閃爍光標,但我想閃爍數字而不是光標。如何在這裏做arduino。 Keypad shield used 我想眨眼日期變量上面。如何操作液晶顯示屏上的閃爍字符
#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的第二行上的數字(第1行=「輸入密碼」)?或者只是打印任何數字並保持閃爍? –
最好的答案是:不要這樣做。從可用性的角度來看,這是一件可怕的事情。液晶顯示屏吸吮,如果你沒有從正確的角度看,他們會更糟。不要通過閃爍文字讓它變得更糟。由於這實際上不是答案,我選擇Ignacios的答案。 – krowe
你會有什麼建議。我有陣列。這些陣列應該與屏幕上的值顯示存儲。我想看看數組元素 – RKNAYAK