Сервошилд

Тема в разделе "Iskra JS, Espruino, Йодо", создана пользователем Самоделкин, 29 дек 2016.

  1. Вот сделал такую программку пробную для манипулятора. Управляться будет через джойстик А0-А2 (потом ещё один добавлю).
    Всё работает, но если джойстик не двигать то серваки подергиваются. Почему так? Откуда туда сигнал поступает?
    Так же джойстик очень чувствительный. Что с этим можно сделать. Его чуть коснешься он уже поварачивает на несколько градусов сервак.

    Вот программа:

    PrimaryI2C.setup({sda: SDA, scl: SCL, bitrate: 400000});

    var Servo = require('@amperka/multiservo').connect(PrimaryI2C);

    var s0 = Servo.connect(0, {valueMin:0, valueMax:1});

    var s1 = Servo.connect(1, {valueMin:0, valueMax:1});

    var s2 = Servo.connect(2, {valueMin:0, valueMax:1});

    setInterval(function() {
    s0.write(analogRead(A0,10,{soft:true}));
    s1.write(analogRead(A1,10,{soft:true}));
    s2.write(digitalRead(A2,10,{soft:true}));
    }, 100);
     
  2. rkit

    rkit Гуру

    Электрический шум, наводки. Снижайте чувствительность измерений. Самое простое - разделить число.
     
  3. Спасибо! Подскажите, какое именно значение разделить и на сколько?
     
  4. rkit

    rkit Гуру

    Значение, которое читаете с аналогового входа. Смотря какая вам точность достаточная. Я бы взял 17, например. И питание проверить не забудьте, кстати.
     
    Самоделкин нравится это.