Тактовая кнопка
Характеристики тактовой кнопки (Модуль KY-004)
Наибольшее напряжение 12 В;
Наибольший ток 50 мА;
Сопротивление при замыкании кнопки 50 мОм;
Сопротивление при размыкании кнопки 100 MегаОм;
Количество циклов замыкания/размыкания 100 тысяч;
Температура эксплуатации от -25℃ до 105℃;
Габариты 25x16x10 мм;
Подтягивающий резистор 10 кОм.
Схема подключения подтягивающего резистора к кнопки KY-004

Распиновка кнопки KY-004
Arduino — схема подключения кнопки и светодиода

Скетч для Arduino — при нажатии на кнопку светодиод перестает светиться
const int pin_led_digital = 5;
const int pin_button_digital=6;
int button=0;
void setup ()
{
Serial.begin(9600);
pinMode(pin_led_digital, OUTPUT);
pinMode(pin_button_digital, INPUT);
}
void loop ()
{
int button=digitalRead(pin_button_digital);
// при нажатии на кнопку светодиод перестает светиться
if (button == HIGH)
{
digitalWrite(pin_led_digital, HIGH);
}
else
{
digitalWrite(pin_led_digital, LOW);
}
Serial.println("Состояние кнопки");
Serial.println(button);
delay(400);
}
Результат работы программы

Аналоговая кнопка
Схема подключения аналоговой кнопки и светодиода к Arduino

Скетч аналоговой кнопки для Arduino — при нажатии на кнопку светодиод перестает светиться
const int pin_led_digital = 5;
const int pin_button_analog=A1;
int button=0;
void setup ()
{
Serial.begin(9600);
pinMode(pin_led_digital, OUTPUT);
pinMode(pin_button_analog, INPUT);
}
void loop ()
{
int button=digitalRead(pin_button_analog);
// при включении светодиод мигает, при нажатие на кнопку
// светодиод перестает светиться
if (button == HIGH)
{
digitalWrite(pin_led_digital, HIGH);
}
else
{
digitalWrite(pin_led_digital, LOW);
}
Serial.println("Состояние кнопки");
Serial.println(button);
}
Сенсорная кнопка
Сенсорная кнопка (touch sensor)

Схема подключения сенсорная кнопка и светодиода к Arduino

Скетч сенсорной кнопки (touch sensor) для Arduino — при нажатии на кнопку светодиод загорается
const int pin_led_digital = 5;
const int pin_button_sensor_digital=6;
int button_sensor=0;
void setup ()
{
Serial.begin(9600);
pinMode(pin_led_digital, OUTPUT);
pinMode(pin_button_sensor_digital, INPUT);
}
void loop ()
{
int button_sensor=digitalRead(pin_button_sensor_digital);
// при нажатии на сенсорную кнопку загорается светодиод
if (button_sensor == HIGH)
{
digitalWrite(pin_led_digital, HIGH);
}
else
{
digitalWrite(pin_led_digital, LOW);
}
Serial.println("Состояние кнопки");
Serial.println(button_sensor);
delay(400);
}
