Използвайте Бутон, за да Контролирате Светодиод (LED)

Източник:   arduino.cc

Превел:  Т.Б

 

БУТОН:

Функцията на „бутона без задържане“ или ключа е да свърже две точки (два възела) в схемата, когато го натиснете. Този пример показва как да засветнете вграденият в Arduino платформата светодиод на Извод №13 (pin 13), когато натиснете бутон.

НЕОБХОДИМ ХАРДУЕР:

+ Arduino платформа
+ Бутон без задържане или ключе
+ Резистор 10k
+ Breadboard Учебна платка
+ Мостов проводник (тънък)

СХЕМА:

КЛИКНЕТЕ, ЗА ДА УВЕЛИЧИТЕ ...

Изображението е разработено с помоща на Fritzing. За повече примерни схеми, моля погледнете официалната страница на проекта Fritzing.

Свържете три проводника към Arduino платформата. Първите два от тях, червеният и черния, свържете към двата дълги вертикални реда от страната на Breadboard учебната платка, за да осигурите достъп до захранващо напрежение със стойност 5V и маса. Третият проводник се свързва от „Цифровия Извод №2“ (digital pin 2) към един от изводите на бутона. Този същият извод на бутона се свързва през „изтеглящ резистор“ (в конкретната схема със стойност 10k) към маса. Другият извод на бутона се свързва към захранващо напрежение 5V.

Когато бутона е „отворен“ (т.е. не е натиснат), несъществува връзка между двата извода на бутона, затова извода е свързан към маса (през изтеглящия резистор) и съответно ние ще „прочетем чрез софтуера“, логическо ниво „НИСКО“ („логическа нула“). Когато бутона се затвори (т.е. натисне), той осъществява връзка между своите два извода, свързвайки същевременно извода към 5V, затова ние след това прочитаме „ВИСОКО“ ниво.

Вие бихте могли също така да свържете тази схема по обратният начин, с изтеглящ резистор към „ВИСОКОТО“ ниво, и при натискане на бутона да отивате в „НИСКО“ ниво. Ако предпочетете този вариант, вече описания начин на работа на схемата ще се инвертира (обърне по смисъл), с „нормално“ включен светодиод (LED) и изключвайки се, когато натиснете бутона.

Ако откачите/прекъснете „цифровият входно/изходен извод“ от всичко, оставяйки изтеглящия резистор към „ВИСОКО“ ниво, светодиода може да премигва хаотично. Това става така, тъй като входа „плава“ – това означава, че той през определен времеви интервал ще сменя своето ниво НИСКО -> ВИСОКО и обратно. Ето защо Вие се нуждаете от изтеглящ резистор (pull-up/pull-down) в схемата.

СХЕМА:
КЛИКНЕТЕ, ЗА ДА УВЕЛИЧИТЕ ...

КОД:
/*
Button

Turns on and off a light emitting diode(LED) connected to digital
pin 13, when pressing a pushbutton attached to pin 2.

The circuit:
* LED attached from pin 13 to ground
* pushbutton attached to pin 2 from +5V
* 10K resistor attached to pin 2 from ground

* Note: on most Arduinos there is already an LED on the board
attached to pin 13.

created 2005
by DojoDave
modified 30 Aug 2011
by Tom Igoe

This example code is in the public domain.

http://www.arduino.cc/en/Tutorial/Button
*/

// constants won’t change. They’re used here to
// set pin numbers:
const int buttonPin = 2; // the number of the pushbutton pin
const int ledPin = 13; // the number of the LED pin

// variables will change:
int buttonState = 0; // variable for reading the pushbutton status

void setup() {
// initialize the LED pin as an output:
pinMode(ledPin, OUTPUT);
// initialize the pushbutton pin as an input:
pinMode(buttonPin, INPUT);
}

void loop(){
// read the state of the pushbutton value:
buttonState = digitalRead(buttonPin);

// check if the pushbutton is pressed.
// if it is, the buttonState is HIGH:
if (buttonState == HIGH) {
// turn LED on:
digitalWrite(ledPin, HIGH);
}
else {
// turn LED off:
digitalWrite(ledPin, LOW);
}
}