Ви не увійшли.
Я про это и говорю.
Да действительно UL стот ставить сразу первому множителю, потому как 24*60*60 уже не вмещается в int
const ulong period_1= 24UL*60*60*1000; // 24 часа
А если идет речь о минутах то возможно вывести в отдельную константу.
Тут другое дело может ли быть переполнение, что может произойти, насколько критично.
Avazart пише:Странная статья и код, так и не сказано откуда взято такое заключение.
Это может показаться, для вас, странным но некоторые люди умеют соображать сами.
А еще читать чужие мысли ... а есть еще Божий промысел и НЛО.
Шутки шуточками, но обработчик прерывания не стоит так нагружать.
Странная статья и код, так и не сказано откуда взято такое заключение.
Можно писать более человеко-читаемо:
typedef unsigned long ulong;
const ulong period_1= 24*60*60*1000UL; // 24 часа
const ulong period_2= 30*60*1000UL; // 30 мин
Как по мне это придирка это не существенно ибо точность такого метода замера все равно желает лучшего.
Там где нужна точность ms стоит использовать реальный таймер + прерывания.
Да new кажется в Arduino не стоит использовать.
Думаю есть более серьезные вещи достойные критики.
Например Си стайл кода, когда пишем то на С++.
Библиотека для кнопок и энкодера у меня вызывает улыбку. Лично я не считаю что для таких вещей стоит писать библиотеки.
Уж больно их обработка может разнится от проекта к проекту.
Естественно что бы не было нагромождения можно выводить код в отделньные модули / классы но что бы презентовать как ....
Kaka, Вы что имеете ввиду?
Если Вы посмотрите во внутрь https://github.com/jfturcot/SimpleTimer/blob/master/SimpleTimer.cpp
То увидите там тот же millis() и еще не совсем понятный код.
А вообще лучше использовать часы реального времени придать большую точность и возможно учесть ту вероятность что электричество может пропадать
Тогда прямой вопрос Вы сами эти микрухи покупали ? Сами использовали?
Нет? Так какого ...
Не нравится Алекс Гайвер на которого ссылался ТС легко можете найти отзывы других людей.
К примеру Home Made: https://www.youtube.com/watch?v=tS_tfTk6v_g
Касательное кода проекта Алекс Гайвер я вроде его раньше смотрел, там остались непонятны некоторые моменты, если не ошибаюсь он читает тупо в цикле с помощь analogRead() я же ожидал чтение по таймеру и "через порты".
Задача еще актуальна?
2. Из личного опыта, Ethernet на Atmega328p очень тупит работу системы
В данном проекте скорость работы не критична (задержка в 1-2 секунды особой роли не сыграет), но если мерять временные параметры, то будут проблемы.
Во первых зависит от модуля, во вторых от кода и в том числе от html+css+js.
Почему бы не брать ESP и использовать для всего?
Есть так же варианты брать Arduino Mega и SD карту.
Для начала бы стоило попробовать подключить через SPI и дергать Chip Select (CS).
Возьми готовый, копеечный (полтора доллара за корпус) эквалайзер MSGEQ7 на 7 диапазонов и получай в ардуине уже готовый оцифрованный уровень на каждом диапазоне.
Пишут что он редкостное УГ. От такого варианта сразу стоит отказаться.
Если не ошибаюсь Алекс Гайвер про это говорит тоже.
Могу посоветовать конструктор. Вам нужен микрофон с усилителем, вроде такого: https://arduino.ua/prod2619-modyl-datchika-zvyka
Ваша ардуина. И три драйвера на полевиках.
Нет просто усилитель думаю тоже не вариант.
Нужен с динамическим диапазоном.
Да и главное осторожно с фьюзами, не меняйте их, а то можно залочить.
Сомнительный код. Править нет смысла.
Плохая идея хранить файлы сервера в коде С++.
Файлы сервера(html,css,js ...) лучше хранить в отдельной папке и загружать во флеш память с помощью специального плагина (SPIFFS) тогда выходит порядок.
"""Пробывал перепрошивать с другой ARDUINO https://forum.arduino.ua/upfiles.phpUNU (как програматор ISP), не получилось."""
Это штука на данный момент не работает из Arduino IDE.
Нужно купить ISP программатор (штука дешевая, но полезная) и перепрошить через SPI используя другое ПО например AVRDUDEPROG hex файлом с генеренным ардуиной.
Вы взяли не лучший пример кода из сети.
Используйте пример из самой библиотеки. Разбирайте их по кирпичикам и тогда сможете сами писать код.
Контакты:
Icq: 673574224
E-mail: avazart.fl@gmail.com
Отзывы:
Kwork (мой профиль)
Киберфорум(моя тема с отзывами)
Клуб программистов(моя тема с отзывами)
300 грн это ~ 11$ явно это мало.
Если поднять хотя бы 30$ то есть смысл попробовать обсудить.
Тут вся сложность именно c фигней которая mqtt зовется, c брокером и прочим - это требует уточнения.
Непонятно зачем оно Вам нужно. Если хотите сделать нормально Вам нужен сервер/сайт сразу ему передавать без посредников
что бы данные не утекали.
Разрабатываю ПО для декстоп, а так же для код для плат Arduino и ESP.
Использую С++Qt/ C++Builder / MSVC / Python(PyQt) / Delphi / Lazarus
Специализируюсь на прикладных программах (в основном для автоматизации: боты, парсеры, постеры объявлений, накрутчики, клиент БД ипр).
Работаю напрямую - только по предоплате, а так же через известный cервис kwork (гарантирующий безопасность сделки).
Есть отзывы на форумах cyberforum.ru, programmersforum.ru, а так же сервисе kwork
Kwork (мой профиль)
Киберфорум(моя тема с отзывами)
Клуб программистов(моя тема с отзывами)
Контакты:
Icq: 673574224
E-mail: avazart.fl@gmail.com
Задание еще актуально?