Рис. А5. «Ардуино», подключенная к кнопке на контакте 10 и к светодиоду на контакте 11.
Рис. А5.
Кнопка имеет два контакта: один из двух соединен с землей через резистор на 10 кОм, а также к контакту 10. Другой контакт подключен к источнику питания на 5 В. Таким образом, вход «Ардуино» стабильно подключен к 0 В через резистор. Ток не протекает, таким образом, контакт 10 находится в низком уровне. Когда мы нажимаем кнопку, то подключаем 5 В к сопротивлению, то есть к контакту 10. Если бы не было сопротивления, нажав на кнопку, мы бы непосредственно соединили 5 В с землей, создав короткое замыкание!
Скетч в этом случае немного сложнее:
void setup() {
pinMode(10, INPUT);
pinMode(11, OUTPUT);
}
void loop() {
if (digitalRead(10) – HIGH) {
digitalWrite(11, HIGH);
delay(1000);
}
digitalWrite(11, LOW);
}
В setup мы должны указать, что контакт 10 выступает в качестве входного и что контакт 11 является цифровым выходом. В loop мы будем считывать состояние контакта 10 с помощью digitalRead. Функция digitalRead требует только одного параметра, номер контакта для чтения, и возвращает состояние контакта, которое может быть высоким или низким. Первая строка loop считывает состояние контакта и, если оно высокое, потому что кто-то нажал на кнопку, входит в блок инструкций между двумя фигурными скобками, включает контакт 11 и ожидает в течение одной секунды.