Оглавление:
Видео: Простой и практичный секундомер Arduino: 4 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Найдите в Интернете секундомер Arduino. Вы, наверное, только что это сделали, если вы здесь. По личному опыту могу сказать, что любой секундомер в Интернете либо слишком сложен (код для начинающих), либо слишком упрощен и непрактичен, как те, которые просто продолжают отсчитывать секунды без сброса.
Вы тоже так думаете, а? Ну угадайте, что. Я сделал это, и более того, я напрямую получаю данные от функции millis () - бесконечной строки чисел (до 49 дней или чего-то еще). Лучшая часть? Это всего одна строчка.
Сброс - это самая сложная часть секундомера. Для программистов среднего уровня, если вы еще этого не сделали, попробуйте сделать это самостоятельно, используя секунды, минуты и часы вместе. Вы поймете, о чем я говорю.
Для новичков читайте дальше и наслаждайтесь гениальностью моего ума.
Шучу, но решение, которое я придумал, довольно изящное. Вот что это такое:
Шаг 1: решение
Так что проблема в сбросе. Нам нужен непрерывный, повторяющийся цикл чисел из бесконечного вывода последовательных чисел (millis () - он в основном считает миллисекунды, или на самом деле 1,024 миллисекунды, но что угодно).
Первое, что приходит в голову, это использование разницы, например time1 -time2 и delay. Забудь это. Для загрузки требуется не менее шести строк кода и оператор if.
Итак, вот как это сделать. У нас есть предел (59). Мы хотим, чтобы все от 0 до 59 повторялось снова и снова. Как?
Что, если… мы возьмем остаток… миллис-функции, разделенный на 59…. Бинго!
Итак, должно быть так:
(60 [в качестве начального значения, так как ограничение составляет 59] + миллис () / 1000 [1000 миллисекунд - секунда])% 60
Хорошо, позволь мне объяснить. (%) или модуль - это, по сути, оператор типа (+), который находит остаток. Вроде 9% 2 = 1.
Так:
- остаток от (60 + 0)% 60 = 0
- остаток от (60 + 1)% 60 = 1
- остаток от (60 + 58)% 60 = 58
- остаток от (60 + 59)% 60 = 59
- остаток от (60 + 60)% 60 = 60
- остаток от (60 + 61)% 60 = 1
Видеть!
Теперь по частям.
Шаг 2: Детали
Совсем немного
- Любой ардуино
-
Любой дисплей (я использовал 0,96-дюймовый OLED-экран, но вы можете использовать все, что у вас есть, просто убедитесь, что вы указали правильные переменные в функциях отображения вашего дисплея).
Вот и все.
Шаг 3: Код
Вот и все. Он довольно четко прокомментирован, так что проблем возникнуть не должно. Библиотеки и init для 0,96-дюймового OLED находятся в коде. Замените его собственным дисплеем, если он другой.
// 0,96-дюймовые библиотеки OLED
#включают
#включают
#включают
#включают
// 0,96-дюймовый OLED-экран
#define OLED_RESET 4
Дисплей Adafruit_SSD1306 (OLED_RESET);
int секунды;
int минут;
int часы;
void setup () {
// Еще 0,96 OLED Init
display.begin (SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay (); display.setTextSize (2); display.setTextColor (БЕЛЫЙ); }
void loop () {
секунды = (60 + миллис () / 1000)% 60;
минут = (60 + миллис () / 60000)% 60; часы = (25 + миллис () / 3600000)% 25;
display.clearDisplay ();
display.setCursor (0, 22); // выводим количество часов с момента сброса display.print (hours); display.print ("ч:");
// выводим количество минут с момента сброса
display.print (минуты);
display.print ("м:");
// выводим количество секунд с момента сброса display.print (seconds); display.print ("s");
display.setCursor (0, 0);
display.print («Секундомер»); display.drawLine (0, 18, 128, 18, БЕЛЫЙ); display.display ();
}
Шаг 4: Завершение…
Итак, это все! А теперь иди делай с ним, что хочешь. Приготовьте яйца или займите свой район.
Привет, Аруш
Рекомендуемые:
Секундомер Arduino Leonardo: 3 шага
Секундомер Arduino Leonardo: Предоставлено: https://www.instructables.com/id/Arduino-Stopwatch… Этот секундомер возник по ссылке выше, которая представляет собой секундомер, который отсчитывает от 1, а этот отсчитывает от 60 секунд. . Большая часть кода, который я использовал, соответствует оригиналу
Практичный контроллер светодиодной ленты для беспроводной настенной розетки Arduino ESP32: 6 шагов
Практичный контроллер светодиодной ленты для беспроводной настенной розетки Arduino ESP32: это очень практичный контроллер для беспроводной настенной розетки DIY для недорогих светодиодных лент. Он заменяет дешевые контроллеры Wi-Fi, продаваемые на EBay. Они хорошо работают с полосами RGB Led. Контроллер EBay Wifi плохо сконструирован и легко ломается. Еще
(Простой) простой способ получить аналоговый / pwm-звук от Raspberry PI Zero, а также подключиться к Crt TV: 4 шага
(Простой) легкий способ получить аналоговый / pwm-звук из Raspberry PI Zero, а также подключиться к Crt TV: здесь я использовал простейший метод для передачи звука на телевизор вместе с композитным видео
Практичный робот: 11 шагов (с изображениями)
Практичный робот: я называю его практическим роботом по ряду причин. Это можно сделать, используя повседневные инструменты, которые есть у большинства людей, которые работают по дому. Стоимость снижается за счет использования многих излишков. Рука робота может поднимать объект весом 2 фунта с
Практичный ремешок для мобильного телефона: 7 шагов
Практичный ремешок для мобильного телефона: хотите ремешок для мобильного телефона, который действительно сделает ваш телефон более полезным? Этот ремешок не только прочен и безопасен для вашего телефона, он достаточно длинный, чтобы свешиваться из карманов для легкого доступа, а на конце есть магнит, достаточно мощный, чтобы