#define BUTTON_PIN 21 // Пин GPIO21, подключенный к кнопке
// Переменные будут изменяться:
int lastState = LOW; // Предыдущее состояние с пина ввода
int currentState; // Текущее считывание с пина ввода
void setup() {
// Инициализация последовательной связи на 9600 бит в секунду:
Serial.begin(115200);
// Инициализация пина кнопки как входа с подтяжкой вверх
// Пин с подтяжкой вверх будет иметь HIGH, когда переключатель открыт, и LOW, когда переключатель закрыт.
pinMode(BUTTON_PIN, INPUT_PULLUP);
}
void loop() {
// Считывание инвертированного состояния переключателя/кнопки:
currentState = !digitalRead(BUTTON_PIN);
if (lastState == HIGH && currentState == LOW)
Serial.println("Кнопка нажата");
else if (lastState == LOW && currentState == HIGH)
Serial.println("Кнопка отпущена");
// Сохранение последнего состояния
lastState = currentState;
}
// // GPIO-пин, к которому подключена кнопка
// const int buttonPin = 21;
// // Флажок, сигнализирующий о нажатии кнопки
// volatile bool buttonPressed = false;
// // Функция, выполняемая при нажатии кнопки
// void buttonPressedHandler() {
// // Пример действия: изменение цвета светодиода
// Serial.println("Кнопка нажата");
// digitalWrite(13, !digitalRead(13));
// }
// void setup() {
// // Настройка GPIO-пина кнопки
// pinMode(buttonPin, INPUT_PULLUP);
// Serial.begin(115200);
// // Настройка прерывания по нажатию кнопки
// attachInterrupt(buttonPin, digitalInterruptHandler, FALLING);
// // Настройка светодиода
// pinMode(13, OUTPUT);
// }
// void loop() {
// // Обработка флага нажатия кнопки
// if (buttonPressed) {
// buttonPressedHandler();
// buttonPressed = false;
// }
// }
// // Обработчик прерывания по нажатию кнопки
// void digitalInterruptHandler() {
// buttonPressed = true;
// }
#define pushButton_pin 33
#define LED_pin 32
void IRAM_ATTR toggleLED()
{
digitalWrite(LED_pin, !digitalRead(LED_pin));
// Serial.println("Кнопка нажата");
}
void setup()
{
Serial.begin(115200);
pinMode(LED_pin, OUTPUT);
pinMode(pushButton_pin, INPUT_PULLUP);
attachInterrupt(pushButton_pin, toggleLED, RISING);
}
void loop()
{
}
#define pushButton_pin 23
#define LED_pin 32
void toggleLED()
{
digitalWrite(LED_pin, !digitalRead(LED_pin));
Serial.println("Кнопка нажата");
}
void setup()
{
Serial.begin(115200);
pinMode(LED_pin, OUTPUT);
pinMode(pushButton_pin, INPUT_PULLUP);
attachInterrupt(pushButton_pin, toggleLED, RISING);
}
void loop()
{
}
// Одновременное нажатие кнопок на маке через command
#define pushButton_pin 33
#define button 21
void setup()
{
Serial.begin(115200);
pinMode(button, INPUT_PULLUP);
pinMode(pushButton_pin, INPUT_PULLUP);
// attachInterrupt(pushButton_pin, toggleLED, RISING);
}
void loop()
{
if(!pushButton_pin && !button){
Serial.println("yes");
}else{
Serial.println("no");
}
}