а новую схему можно увидеть (не фото, а схему)
Схема проекта нормальная, а код?
Код сейчас выглядит вот так. Подскажите, что в нем не так на данный момент. Как вы до этого советовали поправил.
int R_LedPin = 2; // Подключаем красный светодиод к порту 2
int Y_LedPin = 3; // Подключаем зеленый светодиод к порту 3
int ButPin = 7; // Подключаем кнопку 1 к выходу 7
int ButPin2 = 8; // Подключаем кнопку 2 к выходу 8
int ButPin3 = 6; // Подключаем кнопку 3 к выходу 6
int flag = 0; // флаг состояния
int regim = 0; // Переключалка
void setup()
{
pinMode(R_LedPin, OUTPUT);
pinMode(Y_LedPin, OUTPUT);
// Установили тип пина
pinMode(ButPin, INPUT_PULLUP);
pinMode(ButPin2, INPUT_PULLUP);
pinMode(ButPin3, INPUT_PULLUP);
}
void loop()
{
if(digitalRead(ButPin) == LOW );
{
regim = 0;
}
if(digitalRead(ButPin2) == LOW );
{
regim = 1;
}
if(digitalRead(ButPin3) == LOW );
{
regim = 2;
}
// ======= Вполняем задачу при выборе режима =======
// РЕЖИМ 0: OFF
if(regim == 0)
{
digitalWrite(R_LedPin, LOW);
digitalWrite(Y_LedPin, LOW);
}
// РЕЖИМ 1: R
if(regim == 1)
{
digitalWrite(R_LedPin, HIGH);
digitalWrite(Y_LedPin, LOW);
delay(1000);
digitalWrite(R_LedPin, LOW);
digitalWrite(Y_LedPin, HIGH);
delay(1000);
}
// РЕЖИМ 2: Y
if(regim == 2)
{
digitalWrite(R_LedPin, HIGH);
delay(1000);
digitalWrite(R_LedPin, LOW);
delay(1000);
digitalWrite(Y_LedPin, HIGH);
delay(100);
digitalWrite(Y_LedPin, LOW);
delay(100);
}
// РЕЖИМ 3: RY
if(regim == 3)
{
digitalWrite(R_LedPin, HIGH);
digitalWrite(Y_LedPin, LOW);
delay(100);
digitalWrite(R_LedPin, LOW);
digitalWrite(Y_LedPin, HIGH);
delay(100);
}
}
Режима 3 нет. Остально то работает, чему там не работать
Режим 3 убрал. Но проблема не в этом. Светодиоды уже заведомо моргают, вот в чем беда вся. А на кнопки просто 0 реакции.
Нажми и держи 3 секунды, получилось?
Держу, не получилось, светодиоды мигают дальше.
Странно, тестер есть? Какое напряжение на входе МК когда нажимаешь кнопку.
Тестер увы не нашел.
а что у тебя в первой строчке написано?? точка с запятой откуда??
так напишите… учитывая delay в коде остальное лишнее
(вот, как из примера выше объяснили)
не надо с больной головы на здоровую! Точки с запятой @Гриша у вас скопировал, они появляются у вас в коде сообщения 21. Он просто не обратил внимание.
вам надо повторить синтаксис основыных операторов Си, чтобы не писать бредятину
блин, седня не мой день торможу…
Хорошо, допустим это я ошибся, поставил точки с запятой, я их убрал, ничего не изменилось, светодиоды также горят.
показывайте
Просто примите за правило - исправили что-то в коде - тут же новым сообщением в форум
Хорошо
ищите не контакт, должно работать. С дюпонтами вечно засада…
Отличный аватар!!!
int R_LedPin = 2; // Подключаем красный светодиод к порту 2
int Y_LedPin = 3; // Подключаем зеленый светодиод к порту 3
int ButPin = 8; // Подключаем кнопку 1 к выходу 7
int ButPin2 = 7; // Подключаем кнопку 2 к выходу 8
int ButPin3 = 6; // Подключаем кнопку 3 к выходу 6
int flag = 0; // флаг состояния
int regim = 0; // Переключалка
void setup()
{
pinMode(R_LedPin, OUTPUT);
pinMode(Y_LedPin, OUTPUT);
// Установили тип пина
pinMode(ButPin, INPUT_PULLUP);
pinMode(ButPin2, INPUT_PULLUP);
pinMode(ButPin3, INPUT_PULLUP);
}
void loop()
{
if(digitalRead(ButPin) == LOW )
{
regim = 0;
}
if(digitalRead(ButPin2) == LOW )
{
regim = 1;
}
if(digitalRead(ButPin3) == LOW )
{
regim = 2;
}
// ======= Вполняем задачу при выборе режима =======
// РЕЖИМ 0: OFF
if(regim == 0)
{
digitalWrite(R_LedPin, LOW);
digitalWrite(Y_LedPin, LOW);
}
// РЕЖИМ 1: R
if(regim == 1)
{
digitalWrite(R_LedPin, HIGH);
digitalWrite(Y_LedPin, LOW);
delay(1000);
digitalWrite(R_LedPin, LOW);
digitalWrite(Y_LedPin, HIGH);
delay(1000);
}
// РЕЖИМ 2: Y
if(regim == 2)
{
digitalWrite(R_LedPin, HIGH);
delay(1000);
digitalWrite(R_LedPin, LOW);
delay(1000);
digitalWrite(Y_LedPin, HIGH);
delay(100);
digitalWrite(Y_LedPin, LOW);
delay(100);
}
}