Показать сообщение отдельно
Старый 10.09.2016, 00:17   #27
Qvan22
Заглянувший
 
Регистрация: 26.01.2013
Адрес: Минск
Сообщений: 204
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 1 раз в 1 сообщении
Сказал(а) спасибо: 458
Поблагодарили 454 раз(а) в 135 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: - луч света в тёмном царстве (454)
По умолчанию

Цитата:
Сообщение от BR95009 Посмотреть сообщение
Очень просто:
Как вариант, со знакомым для BNSF9399 кодом...

Arduino код:
unsigned long previousMillis 0
unsigned long currentMillis 0
const 
long rowDelay 100;
unsigned long  time0 0;          

bool lcd_flag 0// флаг включения анимации
int r 11
char c '<'

void setup() 
{
  
pinMode(ir_leftINPUT);
  
pinMode(ir_rightINPUT);
  
lcd.begin();
  
lcd.backlight();
}

void loop() 
{
     
currentMillis millis(); 

      
//  при поднятом флаге вызывается анимация с периодом rowDelay
     
if(currentMillis previousMillis >= rowDelay && lcd_flag == 1)
     {
         
previousMillis currentMillis
         
lcd_reload(); // вызов функции для анимации
     
}
          
     if (
digitalRead(ir_left) == LOW && lcd_flag == 0// сработал левый датчик 
     

         
time0 millis(); 
         
lcd.setCursor(10); 
         
lcd.print("GO LEFT "); 
         
lcd_flag 1//включаем флаг
     
}     
      if (
digitalRead(ir_right) == LOW && lcd_flag == 1)  // сработал правый датчик 
      
{      
          
// расчет скорости и вывод на дисплей 
          
lcd_flag 0;   //выключаем флаг      
      


}


void lcd_reload()// рисуем бегущую строку 
{    
        
lcd.setCursor(r0); 
        
lcd.print(c); 
        
r--; 
        if(
1){ 
          
11
          if(
== '<') { 
            
' '
          } 
          else { 
           
='<'
          } 
        } 

Qvan22 вне форума  
Вверх
Пользователь сказал cпасибо: