/*
Набор функций Serial служит для связи устройства Ардуино с компьютером или другими устройствами,
поддерживающими последовательный интерфейс обмена данными.
*/
/*
Определение: напряжение (разность потенциалов) – отношение работы,
выполняемой полем при переносе заряда из начальной точки в конечную, к величине этого заряда.
*/
/*
Подключить кнопку к Arduino очень просто, но нужно помнить,
что пин должен иметь два стабильных состояния – высокое и низкое, GND или VCC.
Для этого пин кнопки подтягивают резистором ~10 кОм противоположно подключению кнопки,
т. е. если кнопка подключена второй ногой к GND, пин подтягивают к VCC, и наоборот.
*/
/*
void setup(){
Serial.begin(9600);//работае для работы с консолью (монитором послед.интерфейса 9600 должны совпадать)
//кнопки:
pinMode(9, INPUT);
pinMode(8, INPUT);
pinMode(7, INPUT);
//диоды:
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
}
void loop(){
if (digitalRead(7) == 1){//digitalRead, читаем цифровой сигнал на 1, рег нажатие.
//синяя
Serial.println(digitalRead(7));
Serial.println("pressing_blue");
delay(1000); //задержка, на случай лагов с сигналом.
digitalWrite(10, HIGH);
digitalWrite(11, LOW);
digitalWrite(12, LOW);
delay(1000);}
if (digitalRead(8) == 1){//digitalRead, читаем цифровой сигнал на 1, рег нажатие.
//красная
Serial.println(digitalRead(8));
Serial.println("pressing_red");
delay(1000); //задержка, на случай лагов с сигналом.
digitalWrite(10, LOW);digitalWrite(11, HIGH);digitalWrite(12, LOW);delay(1000);
}
if (digitalRead(9) == 1){//digitalRead, читаем цифровой сигнал на 1, рег нажатие.
//зеленая
Serial.println(digitalRead(9));
Serial.println("pressing_green");
delay(1000); //задержка, на случай лагов с сигналом.
digitalWrite(10, LOW);digitalWrite(11, LOW);digitalWrite(12, HIGH);delay(1000);}
}
//Напишите функцию обрабатывающую работу кнопок и зажигание лампочек.
*/
//Нормальный код
void setup() {
Serial.begin(9600); // Работа с консолью (монитором последовательного интерфейса 9600 должны совпадать)
// Кнопки:
pinMode(9, INPUT);
pinMode(8, INPUT);
pinMode(7, INPUT);
// Диоды:
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
}
void handleButtonPress(int buttonPin, int ledPin, const char* color) {
if (digitalRead(buttonPin) == 1) { // Читаем цифровой сигнал на 1, регистрируем нажатие
Serial.println(digitalRead(buttonPin));
Serial.print("pressing_");
Serial.println(color);
delay(1000); // Задержка, на случай лагов с сигналом.
digitalWrite(10, LOW); // Выключаем все светодиоды
digitalWrite(11, LOW);
digitalWrite(12, LOW);
digitalWrite(ledPin, HIGH); // Включаем соответствующий светодиод
delay(1000);
}
}
void loop() {
handleButtonPress(7, 10, "blue"); // Обработка нажатия кнопки 7 (синяя)
handleButtonPress(8, 11, "red"); // Обработка нажатия кнопки 8 (красная)
handleButtonPress(9, 12, "green"); // Обработка нажатия кнопки 9 (зеленая)
}