Если Вы заинтересованы в моих переводах и хотите меня отблагодарить, то кликните всего на одной ссылке в блоке Оплаченная Реклама

четверг, 29 сентября 2011 г.

Button


Button

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

Необходимое оборудование


  • плата Arduino
  • тактовая кнопка или переключатель
  • резистор 10 кОм
  • макетная плата
  • перемычки

  • Цепь

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

    Когда кнопка открыта (unpressed) нет никакой связи между этими двумя ногами кнопки, так что вывод подключен к земле (через выпадающее резистор), и мы читаем LOW. При нажатии на кнопку закрытия (нажата), это делает связь между его двумя ногами, подключением вывода до 5 вольт, так что мы читаем HIGH.

    Вы также можете проволоки эта схема в обратном направлении, с подтягивающий резистор соответствии вход HIGH, LOW и будет, когда нажата кнопка. Если так, то поведение эскиз будет пересмотрено, с светодиодной нормально и выключение при нажатии кнопки.

    Если вы отключите цифровой ввода / вывода по всему, индикатор может мигать беспорядочно. Это потому, что вход «плавающей» - то есть, он будет случайным образом возвращать либо высоким или низким. Именно поэтому вам нужно подтягивающий или выпадающее резистор в цепь.

    Схема


    Код

    const int buttonPin = 2;
    const int ledPin =  13;

    int buttonState = 0;

    void setup() {
      pinMode(ledPin, OUTPUT);
      pinMode(buttonPin, INPUT);  
    }

    void loop(){
      buttonState = digitalRead(buttonPin);

      if (buttonState == HIGH) {
        digitalWrite(ledPin, HIGH);
      }
      else {
        digitalWrite(ledPin, LOW);
      }
    }

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

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