цифровая электроника
вычислительная техника
встраиваемые системы

 



Как использовать внешнюю кнопку сброса с Arduino

Автор: Mike(admin) от 29-01-2024, 03:55

У вас когда-нибудь пропадал интернет? Вы звоните провайдеру, и первое, что они говорят, это то, что вы должны отключить модем и беспроводной маршрутизатор, выключить компьютер и почесать клавиатуру 7 раз куриной ногой, и все это в течение волшебных 30 секунд, и в этот момент соединение должно сброситься? К счастью для нас, перезагрузить Arduino намного проще.


Как использовать внешнюю кнопку сброса с Arduino

Все, что вам нужно сделать, это нажать кнопку мгновенного действия, установленную в верхней части платы, и ваш Arduino перезагрузится. Но в некоторых случаях вам может потребоваться создать собственную внешнюю кнопку сброса.


Если в платах Arduino уже есть встроенный сброс, то зачем вам нужно создавать свой собственный? Все сводится к доступу. Иногда вы не можете дотянуться короткими пальцами до встроенной кнопки сброса. Два наиболее частых случая:


  • Вы используете шилд поверх Arduino, который ограничивает доступ к сбросу или делает его затруднительным
  • Ваш Arduino установлен в корпусе, который делает нажатие кнопки сброса недоступным или неудобным

К счастью для нас, многие платы Arduino оснащены кнопками сброса, поэтому нам не нужно тратить время на создание собственных. Но когда придет время, будет приятно узнать, как сделать внешний сброс самостоятельно. Итак, давайте посмотрим на схему, она очень легкая.


Как использовать внешнюю кнопку сброса с Arduino

Так что же происходит в этой схеме – и почему эта схема вообще работает? Согласно веб-странице Arduino: «Кроме того, некоторые контакты имеют специальные функции: Сброс (Reset). Подайте на линию низкий уровень напряжения, чтобы перезагрузить микроконтроллер. Обычно используется для добавления кнопки сброса к шилдам, которые блокируют доступ к кнопке на плате».


Итак, все, что нам нужно сделать, это перевести контакт в низкий (LOW) уровень, что так же просто, как подключить его к земле с помощью кнопки. Поэтому, когда кнопка не нажата, линия находится в нормальном состоянии. Когда кнопка нажата, вывод «видит» напряжение земли (т. е. 0 Вольт) и переходит в НИЗКИЙ уровень, что, согласно документации, приведет к сбросу нашего Arduino.


Ну что теперь? Вам нужно что-нибудь запрограммировать в Arduino IDE? Неа. Просто нажмите кнопку сброса (минимум 2,5 мкс). Все это работает без единого куска кода. Это просто то, как микроконтроллер настроен на плате Arduino, от конфигурации оборудования зависит то, что вывод RESET будет выполнять свою работу без какого-либо вмешательства с нашей стороны. Это все на самом деле весьма просто и легко.


Впрочем, с помощью кода можно узнать, как давно был перезагружен Arduino.



void setup(){
  
  Serial.begin(9600);
  
}
void loop(){
  
  int time = millis()/1000;
  
  Serial.print("I was reset ");
  Serial.print(time);
  Serial.println(" seconds ago.");
  delay(1000);
  
}

Еще есть способы перезагрузить Arduino с помощью программного обеспечения – это называется сторожевым таймером. Так что, если вы ищете вариант сброса без помощи рук, это может быть вашим выбором. Однако это выходит за рамки данного руководства.




© digitrode.ru


Теги: Arduino




Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий