Официальный сайт компании Arduino по адресу arduino.cc
emergency stop
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Чт, 06/07/2017 - 15:31
Дорого времени суток, у меня возникла такая проблема. Когда я загружаю данный кодб он частично работает, тобиш выполняет только одну функцию, и это (regim == 1). Но (regim == 2) как будто отсутвует. А задумка вот в чем: должен быть так называемый "аварийный стоп", что бы остановился цыкл если что то пошло не так.
Помогите пожалуйста решить данную проблему, буду очень благодарен!
(вот код)
int redled=13; // пин 13, первый светодиод
int blueled=12; // пин 12, второй светодиод
int butpin=10; // пин 10, кнопка
int flag = 0; // флаг состояния
int regim = 0; // Переключалка
void setup()
{
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
}
void loop()
{
if(digitalRead(butpin) == HIGH && flag == 0)
{
{
regim ++;
flag = 1;
if (regim > 2)
{
regim = 1;
}
}
if(digitalRead(butpin) == HIGH && flag == 1)
{
flag = 0;
}
if (regim == 1)
{
digitalWrite(redled, HIGH); // 1 0
digitalWrite(blueled, LOW);
delay(1000);
digitalWrite(redled, LOW); // 0 1
digitalWrite(blueled, HIGH);
delay(1000);
digitalWrite(redled, HIGH); // 1 1
digitalWrite(blueled, HIGH);
delay(1000);
digitalWrite(redled, LOW); // 0 1
digitalWrite(blueled, HIGH);
delay(1000);
digitalWrite(redled, HIGH); // 1 0
digitalWrite(blueled, LOW);
delay(1000);
digitalWrite(redled, LOW); // 0 0
digitalWrite(blueled, LOW);
}
if (regim ==2)
{
digitalWrite(redled, HIGH);
digitalWrite(blueled, LOW);
}
}
}
Вставьте код как положено.
А теперь вразумительно опишите логику работы - что по-Вашему должно происходить. Из программы это никак неочевидно.
ой, спасибо большое, теперь всё работает так как надо! =)