Проєкт Ліхтарик
На 2-ому уроці ми навчилися керувати світлодіодом з кнопки. Давайте ускладнимо завдання і створимо пристрій схожий на ліхтарик. Світлодіоди на Дроні випромінюють світло і умовно їх можна було б використовувати як ліхтарик (хоч і не дуже яскравий). Попередня програма уже нагадує ліхтарик з єдиним нюансом, що там треба весь час тримати кнопку натиснутою, що не дуже зручно. Тому в наступному варіанті програми ми зробимо наступне:
- Щоб увімкнути наш ліхтарик треба один раз натиснути кнопку A, після чого ліхтарик залишається горіти
- Щоб вимкнути ліхтарик треба один раз натиснути кнопку 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 – вимикався. Тобто потрібно поміняти місцями функції кнопок.