передача по блютуз сигналов для LED ленты

microms
microms аватар
Offline
Зарегистрирован: 22.03.2016

есть ардуино которе подключено к l298n драйверу с шим.
и есть несколько режимов реалезованых чере CASE.
проблема в том что надо заставить мигать ленту при отправки символа 4,она мигает но 2 раза ,а надо чтоб постоянно пока не отправлен другой символ. вот непойму почему она мигает всего пару раз?

int IN3 = 5;
int IN4 = 4;
int ENB = 3;
int n;
int b;
void setup()
{
  Serial.begin(9600);
 pinMode (ENB, OUTPUT); 
 pinMode (IN3, OUTPUT);
 pinMode (IN4, OUTPUT);
}
void loop()
{
  if (Serial.available() > 0) {
   n = Serial.read();  }   
  digitalWrite (IN3, HIGH);
  digitalWrite (IN4, LOW);    
       switch (n) {
    case '1':
       b= b + 1 ;
       if ( b > 255) { b = 0; } 
       Serial.println(b);        
      break;
    case '2':
      b = b - 1 ;
      if ( b < 0) { b = 0; } 
      Serial.println(b);       
      break;   
    case '3':
      b = 255;
      Serial.println(b);       
      break; 
    case '4':
   n=4;
   while( n==4){   
    b=255;
    analogWrite(ENB,b);
    delay(500);
     b=0;
     analogWrite(ENB,b);
    delay(500);
     if (Serial.available() >0 ) {
      
   n = Serial.read();  }     
  }    
      break; 
           } 
      analogWrite(ENB,b); 
      delay(3);  
}

 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

В соседней теме я уже указал Вам на ошибку, но Вы, похоже, не отреагировали.

Вопрос: что на самом деле принимает Ардуина, когда Вы считаете, что передаете ей символ '4'?