Добавьте в схему кнопку  к данной плате. Попробуйте сделать это самостоятельно, не читая текст дальше. Любая простая схема является "маленьким кирпичиком" для создания всё больших и больших проектов. Если вам потребовалось заглянуть вперёд, не расстраивайтесь, самое важное - это то, что вы потратили некоторое время на обдумывание того, как может выглядеть такая схема.

 

Чтобы решить эту задачу, вам надо соединить схему, которую вы только-что построили (рисунок 5) со схемой с кнопкой, показанной на рисунок 9. Если хотите, можете просто собрать отдельно обе эти схемы на плате; у вас на ней достаточно места. Однако, одно из преимуществ монтажной платы - это то, что в ней есть пара шин, которые проходят горизонтально поверху и понизу. Одна из них отмечена красным (плюс), а вторая - синим (минус).

 Эти шины используются для подвода питания и общей земли, когда потребуется. В случае схемы, которую надо собрать для данного примера, у вас есть два компонента (оба - резисторы), которые надо подключить в выводу GND (земля) платы Arduino. Так как у Arduino есть два вывода GND, вы можете просто соединить эти две схемы в точности как показано на обоих рисунках, а затем взять провода, подключённые на иллюстрациях к GND, и соединить их вместе. Если вы не готовы сделать это, не расстраивайтесь: просто подключите схемы к Arduino как показано на рисунках 5 и 9.

Возвращаясь к нашему следующему примеру, если у нас есть только одна кнопка, как мы будем управлять лампой? Мы изучим ещё одно действие в технике создания: определение того, как долго была нажата кнопка. Чтобы сделать такое, нам надо изменить пример 4-5 , чтобы добавить плавную регулировку. Идея состоит в том, чтобы создать "интерфейс", в котором нажатие и отпускание кнопки приводит к включению и выключению света, а нажатие и удерживание той-же кнопки изменяет яркость.

 Давайте рассмотрим скетч:

 Пример 5-2. Включить светодиод при нажатии кнопки, оставить включённым после её отпускания с использованием простого антидребезга. Если кнопка нажата, изменять яркость.

 #define LED 9     // the pin for the LED

#define BUTTON 7  // input pin of the pushbutton

 int val = 0;      // stores the state of the input pin

 int old_val = 0;  // stores the previous value of "val"

int state = 0;    // 0 = LED off while 1 = LED on

 int brightness = 128;         // Stores the brightness value

unsigned long startTime = 0;  // when did we begin pressing?

 void setup() {

  pinMode(LED, OUTPUT);   // tell Arduino LED is an output

  pinMode(BUTTON, INPUT); // and BUTTON is an input

}

 void loop() {

   val = digitalRead(BUTTON); // read input value and store it

                             // yum, fresh

   // check if there was a transition

  if ((val == HIGH) && (old_val == LOW)) {

     state = 1 - state; // change the state from off to on

                       // or vice-versa

     startTime = millis(); // millis() is the Arduino clock

                          // it returns how many milliseconds

                          // have passed since the board has

                          // been reset.

    // (this line remembers when the button

   // was last pressed)

   delay(10);

}

// check whether the button is being held down

  if ((val == HIGH) && (old_val == HIGH)) {

     // If the button is held for more than 500ms.

    if (state == 1 && (millis() - startTime) > 500) {

       brightness++; // increment brightness by 1

      delay(10);    // delay to avoid brightness going

                    // up too fast

       if (brightness > 255) { // 255 is the max brightness

         brightness = 0; // if we go over 255

                        // let's go back to 0

      }

    }

  }

   old_val = val; // val is now old, let's store it

   if (state == 1) {

    analogWrite(LED, brightness); // turn LED ON at the

                                 // current brightness level

  } else {

    analogWrite(LED, 0); // turn LED OFF

  }

}

 Попробуйте скетч. Как видно, наша модель взаимодействия обретает форму. Если вы нажмёте и немедленно отпустите кнопку, вы включите или выключите лампу. Если держать кнопку нажатой, яркость светодиода будет изменяться. Просто отпустите кнопку, когда установите желаемую яркость.