Помощь по програмке для сервы.

Тема в разделе "Arduino & Shields", создана пользователем Nikas, 20 ноя 2013.

  1. Nikas

    Nikas Нуб

    Разобравшись со схемой пытался накидать скетч для управления сервой.
    Цикл 300 градусов. 15о в одну и обратно 150 за нажатие кнопки.
    Точнее взял тест сервы. Пытался приладить его. Толком пока ничего.
    Да и правильно. Только начал все это осваивать. В командах пока не разобрался.

    В общем нужна помощь.

    Первое, это отработка цикла одной сервы.
    Нажатие. 150 туда обратно.
    Цикл закончен.
    Следующее нажатие. Снова туда-обратно. Закончен. ИТД.

    И второе.

    По сути тоже самое, только с добавлением еще одной сервы.
    У которой по прекращению цикла первой сервы, начинается такой же цикл с окончанием как и первой.
    И все это с одного нажатия кнопки.

    В будущем планируется за нажатие отрабатывать по 10 циклов. Но это когда разберусь с синхронизацией механики. А пока нужен старт. От чего плясать.

    Не прошу все целиком писать. Только В общих чертах. Или хотя бы подскажите с чего начать.
    Про вики и учебники не надо. Уже читаю и смотрю. Но последовательно. Пока до того что мне нужно не дошел.
     
    Последнее редактирование: 20 ноя 2013
  2. Megakoteyka

    Megakoteyka Оракул Модератор

    Для обработки нажатия кнопок используйте библиотеку bounce, она подавит дребезг контактов. Для библиотеки есть хороший пример, попробуйте со светодиодом сперва.
    Ловите нажатие кнопки и поворачивайте серву как душе угодно. Для управления сервой есть библиотека servo, она поставляется вместе с Arduino IDE.
    Что именно вызывает сложности? Выложите свой код, поглядим, подскажем.
     
  3. Nikas

    Nikas Нуб

    В коде особо и смотреть нечего. Гоняет серву туда сюда. bounce добавил. Плюс еще и кнопку через резистор провел.

    Не могу сообразить как это дело останавливать в конце цикла.
     

    Вложения:

    • Серв.txt
      Размер файла:
      195 байт
      Просмотров:
      486
  4. Megakoteyka

    Megakoteyka Оракул Модератор

    Код (Text):
    если(произошло_нажатие_кнопки)
      выполнить_цикл;
    Тогда следующий цикл выполнится только после следующего нажатия.
     
  5. Nikas

    Nikas Нуб

    Спасибо. Мозг сломал, но по подсказкам нашел и переделал под себя что мне нужно.

    На плате работает как надо.

    Теперь все это надо сбросить на контроллер Attiny45.
    Подскажите по схемке. Как это все скоммутировать на макетке, чтобы прошить.
    С сервой вроде как понятно 9 пин на 7ю ногу. С питанием и землей, тоже ясно. Непонятно куда кидать кнопку, диод и остальное.


    Если криво пишу, не обессудьте. Я за токарником стою. В пневматическом оружии, неплохо разбираюсь. Если надо проконсультирую, помогу. Есть своя мастерская по его ремонту и апгрейду. Газодинамика, механика, кинематика. Это я еще кое как знаю. А в схемотехнике, программировании, пока очень слаб.
    Тапками не кидайтесь.
     

    Вложения:

    • Серв2.txt
      Размер файла:
      748 байт
      Просмотров:
      484
    Последнее редактирование: 25 ноя 2013
  6. Nikas

    Nikas Нуб

    Имел ввиду что непонятны мне следующие моменты,что и куда присоединять.

    pin name: not-mega: mega(1280 and 2560)
    // slave reset: 10: 53
    // MOSI: 11: 51
    // MISO: 12: 50
    // SCK: 13: 52