Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 液晶显示器上的闪烁字符_C_Arduino_Lcd - Fatal编程技术网

C 液晶显示器上的闪烁字符

C 液晶显示器上的闪烁字符,c,arduino,lcd,C,Arduino,Lcd,我这里有个小问题。我有一个16x2的lcd,它是arduino的接口。在下面的闪烁中,我可以闪烁光标,但我想闪烁数字而不是光标。如何在这里与arduino合作。 我想在上面闪烁日期变量。怎么做 #include <LiquidCrystal.h> LiquidCrystal lcd(12, 11, 7, 6, 5, 4); int Blink_pos[6][2]={ { 5,0 } , { 8,0 } , { 11,0 } ,

我这里有个小问题。我有一个16x2的lcd,它是arduino的接口。在下面的闪烁中,我可以闪烁光标,但我想闪烁数字而不是光标。如何在这里与arduino合作。 我想在上面闪烁日期变量。怎么做

#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("    ");
}
#包括
液晶显示器(12,11,7,6,5,4);
int Blink_pos[6][2]={
{
5,0  }
,
{
8,0  }
,
{
11,0  }
,
{ 
5,1  }
,
{ 
8,1  } 
, 
{
11,1  }                          
}; 
枚举\u屏幕\u编辑\u项目
{ 
编辑日,
每月编辑一次,
编辑年,
编辑时间,
编辑每分钟,
编辑秒
};
typedef enum\u Screen\u edit\u item edit\u Screen\u item;
静态int local_day=1;
静态int本地_月=3;
静态int本地年=2014年;
int local_s=12;
静态int局部_h=23;
静态int局部μm=1;
无效设置(){
lcd.begin(16,2);
lcd.clear();
} 
void循环()
{   
闪烁液晶显示器();
}  
void Blink_LCD(){
int j=0;

对于(int j=0;j0)和(local_day0)和(local_month0)和(local_h0)和(local_m0)和(local_s),在适当的位置交替显示数字和显示空格。

使用lcd.display()和lcd.noDisplay();
在使用延迟功能时,在使文本闪烁的循环中

我无法理解并转到位置。显示数字。延迟。转到位置。显示空格。延迟。重复。我已按您所说的做了。但是IndigitalLockDisplay()我的意思是,如果no小于9.lcd.print 0和variable。那么当调用开关函数并将position设置为@5 printing 5而不是05时,是否要打印并闪烁第二行的数字(第1行=“输入密码”)或者简单地打印任何数字并保持闪烁?最好的答案是:不要这样做。从可用性的角度来看,这是一件可怕的事情。LCD屏幕很烂,如果你不从正确的角度看,它们会更糟。不要通过闪烁文本使情况更糟。因为这实际上不是一个答案,我会选择Ignacios的answer、 你的建议是什么。我有数组。这些数组应该存储在屏幕上并显示值。我想看看数组元素中有什么,因为你只有2行可以使用。你需要一个菜单系统。想想一个商务级打印机设置菜单。这是与这些类型的LCD屏幕之一交互的最实用的方式n、 我正在试图理解您的代码。您在哪里输入数组、
j
I
声明?不建议使用delay()函数