суббота, 9 октября 2010 г.

Кнопка

Кнопка или выключатель соединяет две точки цепи когда Вы нажимаете на кнопку или перемещаете движок выключателя. В этом примере мы включим светодиод на цифровом контакте 13 платы Arduino при нажатии кнопки и выключим его при отпускании кнопки.
Соедините 3 провода с платой Arduino. Первых два – черный и красный – подключите к двум длинным вертикальным линиям на беспаечной плате подвести питание и «землю» к беспаечной плате. Третий провод идет от цифрового контакта 2 платы Arduino к первому контакту кнопки. Это же контакт кнопки соединяется через резистор (10 кОм, подтягивающий к «земле»). Второй контакт кнопки соединяется с шиной питания +5В.




Когда кнопка не нажата, соединение между её двумя контактами отсутствует, таким образом, цифровой контакт 2 платы Arduino соединяется с «землей» (через резистор, подтягивающий к «земле»), и мы считываем низкий уровень LOW. Когда кнопка нажата, она соединяет два своих контакта соединяя цифровой контакт 2 платы Arduino с 5 вольтами, и мы считываем высокий уровень HIGH.
Можно также соединить эту схему противоположным образом, с подтягивающим резистором, поддерживающим высокий уровень на цифровом контакте 2 Arduino, и меняющимся на низкий уровень при нажатии кнопки. В этом случае, поведение проекта будет инвертировано, нормально светящийся светодиодом будет выключаться при нажатии кнопки.
Если Вы отключите цифровой контакт 2 от всех цепей, светодиод может беспорядочно мигать. Это происходит потому, что вход "плавает" - то есть, он в произвольном порядке принимает или высокий или низкий уровень. Вот зачем нужен подтягивающий резистор (к «земле» или шине питания) в этой схеме.

Схема соединений
Arduino. Цифровой ввод данных
Arduino. Цифровой ввод данных
Программа

/*
Кнопка

Включаем и выключаем светодиод, подключенный к контакту 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);
}
}

Комментариев нет:

Отправить комментарий