Pull to refresh
62
0
Андрей Николаев @Dremkin

User

Arduino watchdog или автоматический RESET в случае зависания

Reading time 7 min
Views 240K

Речь пойдет о том, как держать Arduino всегда в работоспособном состоянии. Механизм watchdog встроен в контроллеры Atmega, но, к сожалению, не всякий загрузчик (bootloader) Arduino правильно обрабатывает эту функцию. Попробуем разобраться с этой проблемой.

Итак, что такое watchdog? Простыми словами — это встроенный таймер на определенное время (до 8 сек в зависимости от чипа), который можно запустить программно. Как только таймер «дотикает» до нуля, контроллер подает правильный сигнал сброса (RESET) и всё устройство уходит в hard перезагрузку. Самое главное, что этот таймер можно сбрасывать в начальное состояние также программным способом.

  • Правильный сигнал сброса — достаточный по длительности для того, чтобы контроллер начал перегружаться. Иногда есть соблазн подключить к RST входу какой-либо цифровой выход Arduino и устанавливать его в 0 когда надо перегрузиться. Это плохой подход к решению проблемы, т.к. такого сигнала может быть недостаточно по времени, хотя и не исключено, что в некоторых случаях это тоже будет работать..
  • hard перезагрузка это самая настоящая перезагрузка, которая происходит при нажатии на кнопку RESET. Дело в том, что есть еще понятие soft перезагрузки — это программный переход на 0-вой адрес. В принципе, это тоже полезная вещь, но с помощью нее невозможно перегрузить зависший контроллер Ethernet или взглюкнувший LCD.

Короче говоря, встроенный watchdog это как раз то, что нужно и без дополнительных схем, пайки и соединений.
Читать дальше →
Total votes 32: ↑29 and ↓3 +26
Comments 12

Мигающая строка из светодиодов для стоп-сигнала на Arduino Pro Mini

Reading time 8 min
Views 133K
Мигающая строка из светодиодов для стоп-сигнала на Arduino Mini Я просто не хотел наклеивать на заднее стекло автомобиля никаких наклеек — не известно кто по ночам проходит мимо машины и какая будет реакция на надпись. Решено было сделать надпись светодиодами под задним стеклом. В неактивное время ее не видно совсем (стекло сзади тонированное), к тому же можно выключать/включать когда нужно. Ну и чуть позже пришла идея включать надпись только когда загорается стоп-сигнал и сделать надпись из красных светодиодов — получается простое дублирование стоп-сигнала, но с дополнительной информацией. Вся работа заняла 3 вечера, вот что получилось.

Конечно, можно просто купить бегущую строку или световую доску и поставить под заднее стекло… Но быстро пробежавшись по ценам этих девайсов сразу стало как-то жалко денег и было решено все сделать своими руками.
Читать дальше →
Total votes 150: ↑95 and ↓55 +40
Comments 46

Information

Rating
3,551-st
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity