Кнопка (Button)

Алгоритмы
Кнопка (Button)



Кнопки или переключатели соединяют две точки в схеме, когда Вы нажимаете их. Этот пример включает встроенный диод на 13-ом pin-е, когда Вы нажимаете кнопку.

Соедините три провода с платой Arduino. Первые два, красный и черный, соединяются с двумя длинными вертикальными рядами на макетной стороне, чтобы обеспечить доступ к поставке к 5 В и земле. Третий провод идет от цифрового pin-а 2 к одной ножке кнопки. Та же самая ножка заземляется через резистор со спуском (в данном случае 10 К Ом). Другая ножка соединяется к 5 В.

Когда кнопка открыта (не нажата) между двумя ножками кнопки нет связи, таким образом pin заземлён (с помощью резистора со спуском) — это LOW. Когда кнопка закрыта (нажата), она соединяет свои две ножки, соединяя pin с 5 В, так, что это — HIGH.
Вы можете также собрать эту схему противоположным способом. Таким образом, получаем реверс, т.е. при нажатой кнопке диод выключается.
Если Вы разъединяете от всего цифровой вход/выход, светодиод может мигать беспорядочно. Это потому, что вход «плавает» — то есть он то высокий, то низкий. Именно поэтому Вам нужен резистор в схеме.



Код

/*
   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 <http://www.0j0.org>
  modified 17 Jun 2009
  by Tom Igoe
  
   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); 
   }
 }


Оригинал
technik 07.12.2009 в 14.52 комментарии 0 0

комментарии(0)

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

Для добавления комментария авторизируйтесь.
Последние комментарии:
© 2012 pobot.ru