Вы наверняка в ваших проектах использовали кнопки и подключали их через резистор вот так:
А что, если я скажу, что есть способ проще - без резистора, используя всего 2 контакта для подключения, и при этом прекрасно работающий? Итак, подключаем кнопку:
Ну и конечно же код:
#include <Arduino.h>
void setup()
{
pinMode(2, INPUT_PULLUP);
pinMode(13, OUTPUT);
}
void loop()
{
int sensorVal = digitalRead(2);
if (sensorVal == HIGH) {
digitalWrite(13, LOW);
} else {
digitalWrite(13, HIGH);
}
}
Как это работает? Вы уже скорее всего заметили, что для пина, к которому подключена кнопка, используется режим INPUT_PULLUP. Все дело в том, что в плате Arduino уже есть встроенные подтягивающие резисторы, и режим INPUT_PULLUP как раз позволяет их использовать.
Кстати, есть более удобные для использования в поделках кнопки, чем классические кнопки из "наборов новичка", например, такие: