Вылезает ошибка exit status 1 expected initializer before 'boolean' ардуино должна включить светодиоды, а после нажатия второй кнопки должна выключить светодиоды через 10 минут Скетч #include <OneButton.h> boolean butt_flag1 = 0; boolean butt1 boolean butt_flag2 = 0; boolean butt2; boolean led_flag = 0; unsigned long last_press; void setup() { pinMode(LedPin1, OUTPUT); pinMode(LedPin2, OUTPUT); pinMode(LedPin3, OUTPUT); pinMode(LedPin4, OUTPUT); pinMode(3, INPUT_PULLUP); //кнопка pinMode(4, INPUT_PULLUP); //кнопка Serial.begin(9600); } void loop(){ butt = !digitalRead(3);//считать положение кнопки butt = !digitalRead(4);//считать положение кнопки if (butt1 == 1 && butt_flag1 ==0 && millis()-last_press > 50){ butt_flag1 = 1; } last_press = millis(); Serial.println("on"); led_flag = !led_flag; digitalWrite(pin,led_flag);//светодиод1 digitalWrite(pin,led_flag);//светодиод2 digitalWrite(pin,led_flag);//светодиод3 digitalWrite(pin,led_flag);//светодиод4 if (butt1 == 0 && butt_flag1 ==1){ butt_flag1 = 0; } Serial.println("off"); if (butt2 == 1 && butt_flag2 == 0 && millis()-last_press > 50){ delay(600000); butt_flag1 = 0; } last_press = millis(); Serial.println("sleep"); }
как сделать нормальным скетч? #include <OneButton.h> boolean butt_flag1 = 0; boolean butt1; boolean butt_flag2 = 0; boolean butt2; boolean led_flag = 0; unsigned long last_press; void setup() { pinMode(12, OUTPUT); pinMode(11, OUTPUT); pinMode(10, OUTPUT); pinMode(13, OUTPUT); pinMode(3, INPUT_PULLUP); //кнопка pinMode(4, INPUT_PULLUP); //кнопка Serial.begin(9600); } void loop(){ butt = !digitalRead(3);//считать положение кнопки butt = !digitalRead(4);//считать положение кнопки if (butt1 == 1 && butt_flag1 ==0 && millis()-last_press > 50){ butt_flag1 = 1; } last_press = millis(); Serial.println("on"); led_flag = !led_flag; digitalWrite(pin,led_flag);//светодиод1 digitalWrite(pin,led_flag);//светодиод2 digitalWrite(pin,led_flag);//светодиод3 digitalWrite(pin,led_flag);//светодиод4 if (butt1 == 0 && butt_flag1 ==1){ butt_flag1 = 0; } Serial.println("off"); if (butt2 == 1 && butt_flag2 == 0 && millis()-last_press > 50){ delay(600000); butt_flag1 = 0; } last_press = millis(); Serial.println("sleep"); }
Научиться программировать. Самостоятельно читать диагностику ошибок и исправлять их в своем скетче, а не бегать по каждой строчке на форум с элементарными вопросами.
Ааааартур, ответьте на такой вопрос - зачем вы занялись ардуино? Если для того, чтобы по-быстрому собрать какую-то поделку - робота или управление теплицей - лучше купите готовое. С вашими знаниями по-быстрому не получится. Если же ваша цель - НАУЧИТЬСЯ, то задавать элементарные вопросы на форуме - неверный путь. Сначала прочитайте хоть какое-то пособие по программированию, хотя бы раздел "Программирование" с сайта Ардуино.