Добрый вечер нули,
Я объясняю свой проект: я хотел бы создать светодиодную полосу (в нашем случае 10), которая будет воспроизводить функцию цикла до получения другого заказа через модуль hc05 (bluetooth).
Пример:
Когда я посылаю 's', это заставляет меня моргать своим светодиодом и, как только я чувствую, что это происходит. И когда я посылаю 'a', функция меняется и чередуется, сохраняя мой нечетный и четный светодиод. и как только я отправляю 'q', я покидаю свое время, и мой цикл ожидает получения нового сигнала Bluetooth.
Вот мой код сейчас, я блокирую его на 3 дня и не вижу, как я могу это сделать:
const int LedPin[] = {2,3,4,5,6,7,8,9,10};
String inputString="";
int state = 0;
void setup(){
Serial.begin(9600);
for(int i = 0;i< sizeof(LedPin);i++){
pinMode(LedPin[i], OUTPUT);
}
}
void loop(){
char val;
if (Serial.available() > 0) {
val = tolower(Serial.read()); // in case the enter upper case
switch (val) {
case 's':
Ledsnake();
Serial.println("ledon");
break;
case 'a':
LedAltern();
break;
case 'q':
break;
}
}
}
void Ledsnake(){
for(int i=0;i< sizeof(LedPin);i++){
digitalWrite(LedPin[i],HIGH);
delay(500);
}
for(int i=0;i< sizeof(LedPin);i++){
digitalWrite(LedPin[i],LOW);
delay(500);
}
}
void LedAltern(){
bool pair = false;
if(pair)
{
for(int j = 0; j<sizeof(LedPin);j+=2)
{
digitalWrite(LedPin[j], HIGH);
}
delay(500);
for(int j = 0; j<sizeof(LedPin);j+=2)
{
digitalWrite(LedPin[j], LOW);
}
delay(500);
pair = false;
}
else
{
for(int j = 1; j<sizeof(LedPin);j+=2)
{
digitalWrite(LedPin[j], HIGH);
}
delay(500);
for(int j = 1; j<sizeof(LedPin);j+=2)
{
digitalWrite(LedPin[j], LOW);
}
delay(500);
pair = true;
}
}