Проєкт Ліхтарик

На 2-ому уроці ми навчилися керувати світлодіодом з кнопки. Давайте ускладнимо завдання і створимо пристрій схожий на ліхтарик. Світлодіоди на Дроні випромінюють світло і умовно їх можна було б використовувати як ліхтарик (хоч і не дуже яскравий). Попередня програма уже нагадує ліхтарик з єдиним нюансом, що там треба весь час тримати кнопку натиснутою, що не дуже зручно. Тому в наступному варіанті програми ми зробимо наступне:

  1. Щоб увімкнути наш ліхтарик треба один раз натиснути кнопку A, після чого ліхтарик залишається горіти
  2. Щоб вимкнути ліхтарик треба один раз натиснути кнопку B

Таким чином наш ліхтарик буде горіти допоки користувач не вимкне його. Це вже буде більш схоже на ліхтарик.

 1void setup() {
 2  pinMode(PA5, OUTPUT);
 3  pinMode(PA4, INPUT);
 4  pinMode(PC15, INPUT);
 5}
 6
 7void loop() {
 8  int pressedA = digitalRead(PA4);
 9  if (pressedA == 0) {
10    digitalWrite(PA5, 1);
11  }
12
13  int pressedB = digitalRead(PC15);
14  if (pressedB == 0) {
15    digitalWrite(PA5, 0);
16  }
17
18}
 1void setup() {          //Функція 'setup' починає виконуватися першою при запуску Дрона
 2  pinMode(PA5, OUTPUT); //Переводимо пін 1-го світлоідоду в режим роботи на вихід
 3  pinMode(PA4, INPUT);  //Переводимо пін кнопки А в режим роботи на вхід
 4  pinMode(PC15, INPUT); //Переводимо пін кнопки B в режим роботи на вхід
 5}
 6
 7void loop() {                     //Циклічна функція, яка виконується циклічно і безкінечно
 8  int pressedA = digitalRead(PA4);//Зчитуємо стан кнопки A у вигляді цифри: 0 - натиснута, 1 - ні
 9  if (pressedA == 0) {            //Якщо кнопка A натиснута
10    digitalWrite(PA5, 1);         //значить вмикаємо світлодіод
11  }
12
13  int pressedB = digitalRead(PC15);//Зчитуємо стан кнопки B у вигляді цифри: 0 - натиснута, 1 - ні
14  if (pressedB == 0) {             //Якщо кнопка B натиснута
15    digitalWrite(PA5, 0);          //значить вимикаємо світлодіод
16  }
17
18}
Завантажте програму на Дрон і спробуйте наш Ліхтарик на практиці.

Самостійна робота

Модифікуйте програму таким чином, щоб загорялися всі 5 світлодіодів Дрона. Таким чином наш ліхтарик буде хоч трохи яскравішим і зможе підсвітити темну кімнату вночі.

Модифікуйте програму наступним чином: тепер щоб при натисканні кнопки B ліхтарик вмикався, а натисканні кнопки A – вимикався. Тобто потрібно поміняти місцями функції кнопок.