Можно ли сделать рестарт ардуино другими способами

Тема в разделе "Arduino & Shields", создана пользователем SuperArduino, 1 авг 2016.

  1. SuperArduino

    SuperArduino Нерд

    Можно ли сделать рестарт ардуино другими способами Подскажите как [​IMG]
     
  2. Securbond

    Securbond Гуру

    Слишком общий вопрос. Уточните как часто перегружать или по какому событию. Лучше описать для чего Вам это нужно, иначе ответ будете ждать долго.
     
  3. SuperArduino

    SuperArduino Нерд

    надо что бы при нажатии кнопки на макетке она делала рестарт
     
  4. 9xA59kK

    9xA59kK Гик

    Дак на ардуине есть такая кнопка RESET, продублируй и все.
     
  5. SuperArduino

    SuperArduino Нерд

    ну не представляю как
     
  6. Limoney

    Limoney Гик

    А зачем?
     
  7. SuperArduino

    SuperArduino Нерд

    вот описание:
    Я хочу показать Вам один из простейших проектов, который можно реализовать на Arduino - игра "Кости". Потребуется лишь несколько деталей.

    Сначала нам потребуется взять макетку. Для пайки или нет - кому как понравится! Надо взять текстовый экран. Лично я использую экран 16*2 Мэлт (MT-16S2H2YLG). Если у Вас другой экран, то можете прочитать datasheet и подключить свой дисплей.

    Затем подсоединяем каналы + и - к пинам Arduino: 5V и GND. Теперь подключаем экран к цифровым пинам как показано в даташите вашего экрана.

    Я в дополнение добавил два регулятора: контрастность и подсветка.
    [​IMG]
    Приступим к написанию скетча (кода)!

    Открываем Arduino IDE (Если Вы делаете это впервые, то настройте в программе какая у Вас плата и к какому порту она подключена) и пишем код:

    Код (C++):
    #include "LiquidCrystal.h"
    LiquidCrystal lcd(4, 5, 10, 11, 12, 13);
    void setup()
    {
      lcd.begin(16, 2); // Настраиваем количество символов по длине и ширине экрана
      lcd.print("BONES!");  // П<span>ечатаем сообщение на первой строке</span>
    }
    void loop()
    {
      lcd.setCursor(0, 1);
      lcd.print(random(1, 6));
      lcd.print("    ");
      lcd.print(random(1, 6));
    }
    а

    Надо чтобы нажимать кнопку на Breadboard,e
     
  8. ANV

    ANV Гуру

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

    Т.е. в начале программы:
    #define BUTTON1 2

    В setup():
    pinMode(BUTTON1, INPUT_PULLUP)

    В конце loop:
    if (!digitalRead(BUTTON1))
    {
    delay(200);
    while(digitalRead(BUTTON1));
    delay(200);
    }

    Кнопку повесить между пином BUTTON1 и землей.
     
    Securbond нравится это.
  9. SuperArduino

    SuperArduino Нерд

    кнопка вот такая
    [​IMG]
     
  10. TotCambIKoka

    TotCambIKoka Нерд

    на ардуино есть пин reset или rst называется, просто соединяете его с землей через кнопку
    и ваша ардуина перезагружает программу ( снова выполняется один раз сетап и потом лууп.. поэтому если хотите чтобы програама выполняла что-то только один раз при включении - все пишем в сетапе, а луп оставляем пустым)
     
  11. Limoney

    Limoney Гик

    Сброс не нужен
    Сбрасывайте переменные по нажатию кнопки в программе
     
  12. SuperArduino

    SuperArduino Нерд

    у меня res
     
  13. Airbus

    Airbus Радиохулиган Модератор

    Cамый русский способ выключить питание и потом секунд через 5 снова его включить
     
  14. Securbond

    Securbond Гуру

    Лучше всё что написано в лупе вынести в отдельную вункцию, только в начале добавить очистку экрана, и потом написать условие - по нажатии на кнопку вызывать функцию...
     
  15. acos

    acos Официальный гик Администратор

    Давайте так. Самое простое, что можно сделать: возьмите два провода, один воткните в пин reset (рядом с 3.3v на ардуино), а второй в пин GND. Вторые концы замкните между собой. Ура - вы только что вынесли reset) Кнопка - это то же самое. Воткните вашу кнопочку в макетку, а свободные концы подключите к выводам кнопки. Собственно, всё. Почитать про кнопку можно тут:
    http://wiki.amperka.ru/конспект-arduino:кнопка

    А вообще, рекомендую почитать хотя бы весь конспект хакера с самого начала
    http://wiki.amperka.ru/конспект-arduino
     
    SuperArduino нравится это.