Ви не увійшли.
используйте вместо delay - millis.
как в примере на этой страничке
https://www.arduino.cc/en/Tutorial/BlinkWithoutDelay
пробовал так не выходит таймер не запускается
char incomingByte;
int LED1 = 13;
int LED2 = 3;
int LED3 = 4;
int LED4 = 5;
int LED5 = 6;
int LED6 = 7;
int LED7 = 8;
int LED8 = 9;
bool LED8on;
void setup() {
Serial.begin(9600);
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(LED4, OUTPUT);
pinMode(LED5, OUTPUT);
pinMode(LED6, OUTPUT);
pinMode(LED7, OUTPUT);
pinMode(LED8, OUTPUT);
LED8on = false;
}
void loop() {
if (Serial.available() > 0) {
incomingByte = Serial.read();
if(incomingByte == 'a') {
digitalWrite(LED1, LOW);
Serial.print("*1R0G255B0*\n");
}
if(incomingByte == 'b') {
digitalWrite(LED2, LOW);
Serial.print("*2R0G255B0*\n");
}
if(incomingByte == 'c') {
digitalWrite(LED3, LOW);
Serial.print("*3R0G255B0*\n");
}
if(incomingByte == 'd') {
digitalWrite(LED4, LOW);
Serial.print("*4R0G255B0*\n");
}
if(incomingByte == 'j') {
digitalWrite(LED5, LOW);
Serial.print("*R0G255B0*\n");
}
if(incomingByte == 'g') {
digitalWrite(LED6, LOW);
Serial.print("*R0G255B0*\n");
}
if(incomingByte == 'h') {
digitalWrite(LED7, LOW);
Serial.print("*7R0G255B0*\n");
}
if(incomingByte == 'j') {
digitalWrite(LED8, LOW);
Serial.print("*R0G255B0*\n");
}
if(incomingByte == 'L') {
digitalWrite(LED8, 1);
Serial.print("taiming");
LED8on = true;
LED8on = millis();
}
else {digitalWrite(LED8, 0);
}
if(incomingByte == '1') {
digitalWrite(LED1, HIGH);
Serial.print("*1R255G0B0*\n");
}
if(incomingByte == '2') {
digitalWrite(LED2, HIGH);
Serial.print("*2R255G0B0*\n");
}
if(incomingByte == '3') {
digitalWrite(LED3, HIGH);
Serial.print("*3R255G0B0*\n");
}
if(incomingByte == '4') {
Serial.print("*4R255G0B0*\n");
digitalWrite (LED4, HIGH);
}
if(incomingByte == '5') {
digitalWrite(LED5, HIGH);
Serial.print("R255G0B0*\n");
}
if(incomingByte == '6') {
digitalWrite(LED6, HIGH);
Serial.print("*R255G0B0*\n");
}
if(incomingByte == '7') {
digitalWrite(LED7, HIGH);
Serial.print("*7R255G0B0*\n");
}
if(incomingByte == '8') {
digitalWrite(LED8, HIGH);
Serial.print("*8R255G0B0*\n");
}
if(LED8on)
if(millis() - LED8on > 10000) {
digitalWrite(LED1, 1);
LED8on = false;
Serial.print("start\n");
delay(1000);
digitalWrite(LED1, 0);
Serial.print("oc\n");
}
}
}
пишу чтото типо управления по блютус. в дальнейшем хочу перейти на gprs но вот первая проблема когда ставлю delay ни на что другое он не реагирует пока не пройдет время, помогите , может както по другом это написать , програмирую только 3 дня так что не судите строго
char incomingByte;
int LED1 = 13;
int LED2 = 3;
int LED3 = 4;
int LED4 = 5;
int LED5 = 6;
int LED6 = 7;
int LED7 = 8;
int LED8 = 9;
void setup() {
Serial.begin(9600);
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(LED4, OUTPUT);
pinMode(LED5, OUTPUT);
pinMode(LED6, OUTPUT);
pinMode(LED7, OUTPUT);
pinMode(LED8, OUTPUT);
}
void loop() {
if (Serial.available() > 0) {
incomingByte = Serial.read();
if(incomingByte == 'a') {
digitalWrite(LED1, LOW);
Serial.print("*1R0G255B0*");
}
if(incomingByte == 'b') {
digitalWrite(LED2, LOW);
Serial.print("*2R0G255B0*");
}
if(incomingByte == 'c') {
digitalWrite(LED3, LOW);
Serial.print("*3R0G255B0*");
}
if(incomingByte == 'd') {
digitalWrite(LED4, LOW);
Serial.print("*4R0G255B0*");
}
if(incomingByte == 'j') {
digitalWrite(LED5, LOW);
Serial.print("*R0G255B0*");
}
if(incomingByte == 'g') {
digitalWrite(LED6, LOW);
Serial.print("*R0G255B0*");
}
if(incomingByte == 'h') {
digitalWrite(LED7, LOW);
Serial.print("*7R0G255B0*");
}
if(incomingByte == 'j') {
digitalWrite(LED8, LOW);
Serial.print("*R0G255B0*");
}
if(incomingByte == '1') {
digitalWrite(LED1, HIGH);
Serial.print("*1R255G0B0*");
}
if(incomingByte == '2') {
digitalWrite(LED2, HIGH);
Serial.print("*2R255G0B0*");
}
if(incomingByte == '3') {
digitalWrite(LED3, HIGH);
Serial.print("*3R255G0B0*");
}
if(incomingByte == '4') {
Serial.print("*4R255G0B0*");
delay(10000);
digitalWrite (LED4, HIGH);
Serial.print("start motor");
delay(1000);
digitalWrite(LED4, LOW);
Serial.print("motor ok");
}
if(incomingByte == '5') {
digitalWrite(LED5, HIGH);
Serial.print("R255G0B0*");
}
if(incomingByte == '6') {
digitalWrite(LED6, HIGH);
Serial.print("*R255G0B0*");
}
if(incomingByte == '7') {
digitalWrite(LED7, HIGH);
Serial.print("*7R255G0B0*");
}
if(incomingByte == '8') {
digitalWrite(LED8, HIGH);
Serial.print("*8R255G0B0*");
}
}
}