- Необхідний матеріал
- Принципова схема таймера зворотного відліку Arduino
- Код таймера зворотного відліку Arduino та пояснення
Таймер - це тип годинника, що використовується для вимірювання інтервалів часу. Існує два типи таймера, один із яких відлічує від нуля для вимірювання минулого часу, який називається секундоміром. І, другий відлік здійснюється від заданої тривалості часу, наданої користувачем, зазвичай званої таймером зворотного відліку.
Тут, у цьому підручнику ми покажемо вам, як зробити таймер зворотного відліку за допомогою Arduino. Тут ми не використовуємо жоден модуль годинника реального часу (RTC) для отримання часу. Тривалість часу надається користувачем за допомогою клавіатури та РК-дисплея 16x2. А коли таймер досягне нуля, за допомогою зуммера буде видаватися звуковий сигнал.
Необхідний матеріал
- Arduino UNO
- РК-дисплей 16 * 2
- 4 * 4 матрична клавіатура
- Зумер
- Нажимна Кнопка
- Потенціометр (10k)
- Резистор (10k, 100 Ом)
- Підключення проводів
Принципова схема таймера зворотного відліку Arduino
Тут в якості основного контролера використовується Arduino Uno. Клавіатура використовується для подачі часу, а РК-дисплей 16 * 2 використовується для відображення зворотного відліку. Кнопка використовується для запуску часу. Перевірте тут, як поєднати клавіатуру 4x4 з Arduino та РК-дисплеєм 16x2 з Arduino.
Код таймера зворотного відліку Arduino та пояснення
Повний код таймера Arduino наведено в кінці цього проекту.
У цьому коді нижче ми ініціалізуємо бібліотеки для клавіатури та РК-дисплея та змінні, що використовуються в коді.
#включати
Тепер у наведеному нижче коді ми ініціалізуємо no. рядків і стовпців для визначення матриці для клавіатури.
const байт РЯДКИ = 4; // Чотири рядки const байт COLS = 4; // Клавіші char з трьома стовпцями = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', ' 8 ',' 9 ',' C '}, {' * ',' 0 ',' # ',' D '}};
Для підключення матричної клавіатури 4 * 4 до Arduino ми повинні визначити шпильки для рядків і стовпців. Отже, в коді нижче ми визначили шпильки для клавіатури, а також РК-дисплей 16x2.
byte rowPins = {6, 7, 8, 9}; // Підключіть клавіатуру ROW0, ROW1, ROW2 і ROW3 до цих шпильок Arduino byte colPins = {10, 11, 12, 13}; // Підключіть клавіатуру COL0, COL1 і COL2 до t рідкокристалічний рідкокристалічний (A0, A1, 5, 4, 3, 2); // Створює об'єкт LC. Параметри: (rs, enable, d4, d5, d6, d7)
Наведений нижче код використовується для виготовлення клавіатури, Клавіатура kpd = Клавіатура (makeKeymap (клавіші), rowPins, colPins, ROWS, COLS);
У коді функції void setFeedingTime () , після натискання кнопки ми можемо ввести час для таймера, потім після введення тривалості часу таймера, ми повинні натиснути D, щоб почати зворотний відлік.
void setFeedingTime () {feed = true; int i = 0; lcd.clear (); lcd.setCursor (0,0); lcd.print ("Встановити час подачі"); lcd.clear (); lcd.print ("HH: MM: SS"); lcd.setCursor (0,1); while (1) {key = kpd.getKey (); char j; if (ключ! = NO_KEY) {lcd.setCursor (j, 1); lcd.print (ключ); r = ключ-48; i ++; j ++; if (j == 2 - j == 5) {lcd.print (":"); j ++; } затримка (500); } if (key == 'D') {key = 0; перерву; }} lcd.clear (); }
У функції void setup () ми ініціалізували РК-дисплей та послідовний зв’язок та визначили виводи як INPUT та OUTPUT у наведеному нижче коді.
void setup () {lcd.begin (16,2); Serial.begin (9600); pinMode (A0, OUTPUT); pinMode (A1, OUTPUT); pinMode (A3, INPUT); pinMode (A4, OUTPUT); }
Робота з цим таймером зворотного відліку Arduino проста, але код трохи складний. Код пояснюється коментарями в коді.
Спочатку на РК-дисплеї буде друкуватися “Arduino Timer”, доки ви не натиснете кнопку. Як тільки ви натиснете кнопку, він попросить ввести тривалість зворотного відліку, викликавши функцію “ setFeedingTime ”. Потім ви можете ввести тривалість часу за допомогою клавіатури. Потім потрібно натиснути "D", щоб заощадити час і почати таймер зворотного відліку. Тут у функції void loop () ми зробили деякий розрахунок, щоб зменшити час секунду на секунду та показати правильні значення Години, Хвилин та Секунд (ЧЧ: ММ: СС) відповідно до часу, що залишився. Весь код добре пояснюється коментарями. Ви можете перевірити повний код та демонстраційне відео нижче.
Коли таймер досягає нуля, зумер починає подавати звуковий сигнал і подає звуковий сигнал лише 100 разів (відповідно до коду). Щоб зупинити зуммер, натисніть і утримуйте кнопку. Ви можете будь-коли використовувати кнопку, щоб зупинити таймер між підрахунком.