Соедините 3 провода с платой Arduino. Первых два – черный и красный – подключите к двум длинным вертикальным линиям на беспаечной плате подвести питание и «землю» к беспаечной плате. Третий провод идет от цифрового контакта 2 платы Arduino к первому контакту кнопки. Это же контакт кнопки соединяется через резистор (10 кОм, подтягивающий к «земле»). Второй контакт кнопки соединяется с шиной питания +5В.
Когда кнопка не нажата, соединение между её двумя контактами отсутствует, таким образом, цифровой контакт 2 платы Arduino соединяется с «землей» (через резистор, подтягивающий к «земле»), и мы считываем низкий уровень LOW. Когда кнопка нажата, она соединяет два своих контакта соединяя цифровой контакт 2 платы Arduino с 5 вольтами, и мы считываем высокий уровень HIGH.
Можно также соединить эту схему противоположным образом, с подтягивающим резистором, поддерживающим высокий уровень на цифровом контакте 2 Arduino, и меняющимся на низкий уровень при нажатии кнопки. В этом случае, поведение проекта будет инвертировано, нормально светящийся светодиодом будет выключаться при нажатии кнопки.
Если Вы отключите цифровой контакт 2 от всех цепей, светодиод может беспорядочно мигать. Это происходит потому, что вход "плавает" - то есть, он в произвольном порядке принимает или высокий или низкий уровень. Вот зачем нужен подтягивающий резистор (к «земле» или шине питания) в этой схеме.
Можно также соединить эту схему противоположным образом, с подтягивающим резистором, поддерживающим высокий уровень на цифровом контакте 2 Arduino, и меняющимся на низкий уровень при нажатии кнопки. В этом случае, поведение проекта будет инвертировано, нормально светящийся светодиодом будет выключаться при нажатии кнопки.
Если Вы отключите цифровой контакт 2 от всех цепей, светодиод может беспорядочно мигать. Это происходит потому, что вход "плавает" - то есть, он в произвольном порядке принимает или высокий или низкий уровень. Вот зачем нужен подтягивающий резистор (к «земле» или шине питания) в этой схеме.
Схема соединений
Программа
/*
Кнопка
Включаем и выключаем светодиод, подключенный к контакту 13 платы Arduino при нажатии кнопки, подключенной к цифровому контакту 2.
Схема:
* Светодиод включен между цифровым контактом 13 и «землей»
* Кнопка подключена между цифровым контактом 2 и линией +5В
* Резистор 10кОм подключен между цифровым контактом 2 и «землей»
* Примечание: на большинстве плат Arduino уже впаян светодиод к контакту 13.
created 2005
by DojoDave
modified 17 Jun 2009
by Tom Igoe
Код этого примера размещен на официальном сайте Arduino
http://www.arduino.cc/en/Tutorial/Button
*/
// Константы используются для определения номеров контактов:
const int buttonPin = 2; // контакт, к которому подключена кнопка
const int ledPin = 13; // контакт, к которому подключен светодиод
// Изменяемые переменные:
int buttonState = 0; // переменная для хранения статуса кнопки
void setup() {
// инициализируем контакт светодиода в режим выхода:
pinMode(ledPin, OUTPUT);
// инициализируем контакт кнопки в режим входа:
pinMode(buttonPin, INPUT);
}
void loop(){
// считываем значение состояния кнопки:
buttonState = digitalRead(buttonPin);
// проверяем, нажата ли кнопка.
// если ДА, то устанавливаем переменную buttonState в состояние HIGH:
if (buttonState == HIGH) {
// включаем светодиод:
digitalWrite(ledPin, HIGH);
}
else {
// выключаем светодиод:
digitalWrite(ledPin, LOW);
}
}
Комментариев нет:
Отправить комментарий