Подскажите с servo

Тема в разделе "Iskra JS, Espruino, Йодо", создана пользователем narm, 1 янв 2017.

Метки:
  1. narm

    narm Нуб

    Добрый день.
    Подскажите, пожалуйста, можно ли как-то использовать команду read для сервопривода?
    В инструкции для привода она есть, а в брошюре Йодо только одна команда write.
    Или ее только ардуино поддерживает?
    Как тогда можно обойти это, чтобы я мог повернуть привод не на определенную позицию, а на произвольную.
    Я придумал такую конструкцию:
    Код (Javascript):
    button.on('click', function(){
    step2 = step+10;
    step = step2;
    motor.write(step);        
    led.blink(0.2);        
    }       );
    Но в этом случае движение прекращается, как только привод доходит до упора.
     
  2. rkit

    rkit Гуру

    Не похоже, что есть такая функция. Но написать ее не составит труда.

    В чем разница?

    Вот уж действительно удивительно.
     
  3. narm

    narm Нуб

    Возможно, но с моими нулевыми познаниями в программировании я пока что не придумал, как это сделать.
    Разница в том, что мне надо подвинуть привод относительно его положения в данный момент времени, а как узнать это положение, я не понимаю. Хотя уже догадываюсь, что это как-то можно сделать через переменные.
     
  4. rkit

    rkit Гуру

    Ну в правильном направлении движетесь. Из переменной в переменную перекладывать не надо, достаточно написать
    step = step + 10;
    или сокращенно
    step += 10;
     
  5. narm

    narm Нуб

    Спасибо.
    Возвращать в начальное положение решил так:
    Код (Javascript):
    setInterval(function(){
    while (step == 180) {
    motor.write(0);}
    },300);
     
  6. narm

    narm Нуб

    Только теперь он у меня после возвращения к нулевой позиции перестает двигаться.
     
  7. rkit

    rkit Гуру

    Переменную тоже обнулять надо
     
  8. PANDAMAN

    PANDAMAN Нуб

    как сменить порт COM1 на порт COM3
     
  9. kajsat

    kajsat Нуб

    Доброго времени суток. Выполняю задание №10 из набора Йодо, и сталкнулся с тем что:
    1) Если подключать серво к пину 12, а не к 13 как в задании то серво "дергает" без остановок.
    2)Не получается элементарно сохранить командой (save() прошивку(из задания) в плату - серво делает какой-то небольшой поворот и перестает отвечать на вращение потенциометра...
    Когда нажимаю кнопку запустить программу в espruino ide все работает, не получается именно сохраниnь прошивку(ну например чтоб потом использовать плату от power-bank-а), до этого само собой все работало и вопросов не было, плату использовал много раз с множеством других модулей и питался от обычных АА и т.д., а тут пробежался по заданиям Йодо и наткнулся на неадекватное сохранение в память(другие прошивки сохраняет)...


    Тааак, вот теперь мне точно не понятно, но зато все заработало:
    Рассказываю, притащил я iskra js на работу и попробовал все тоже самое там, ничего не поменялось. Я вспомнил что у меня еще есть iskra js mini(эх жаль для нее нет платы расширения как на iskra mini(Arduino), если что они не совмещаются почемуто), я взял миниатюрного брата большой платы(микроконтроллера) и попробовал через хлебную доску все тоже самое(да да я знаю что нужно 5в), но она работала хотя и очень слабо, но работала и в память писалась. Стал дальше мучать iskra js-ку, и увидел в среде Espruino ide где кнопка RAM есть переключение на Flash и вот на флеш пишется все хорошо...
    Но прикол не в этом, я пришел домой и решил повторить этот трюк дома, а за одно и проверить всю туже ошибку что и была, но вуаля все стало работать как должно быть до этого, заодно я заметил что если в RAM и Flash писать через (save()), то пишет как будто в разные места, потому что у меня я сначала записал простой блинк на Flash через save(), а потом и на RAM через save() уже нужный код из Йодо), и после отключения питания от платы и включения его снова у меня и блинк LED1 был и серво работало корректно от потенциометра:confused::eek::)... Вот такие пироги.

    (предполагаю - что я случайно мог что-то сохранить на памяти Flash когда-то давно и это стало в этом задании конфликтовать с записью прошивки через RAM-кнопку)

    Прошу подсказать с решением проблемы. Ну я вроде как проблему для себя решил, ну просто теперь интересно ваше мнение.))
    Заранее благодарю.
     
    Последнее редактирование: 30 мар 2022