Не могу найти ошибку в коде

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

  1. Umnik

    Umnik Нуб

    Йодо №15, вот сам код:
    var sonik = require('@amperka/ultrasonic')
    .connect({trigPin: P10, echoPin: P11});

    setInterval(function() {
    sonik.ping(function(err, val) {
    if (err) {
    console.log(err.msg);
    } else {
    console.log(val.toFixed(0), 'mm');
    }
    }, 'mm');
    }, 100);
     
  2. ИгорьК

    ИгорьК Гуру

    Здравствуйте, уважаемый!
    Очень рады Вам! Не могли бы Вы, уважая ваших коллег, правильно оформить код и описать суть проблемы - что у Вас не получается, что не так.
    Попробуйте работать самостоятельно - хотя бы найти решение как правильно оформить здесь код. Самостоятельно. Решить что-то самостоятельно - это очень круто!
     
  3. Shazes

    Shazes Нерд

  4. Umnik

    Umnik Нуб

    Прошу прощения если кому-то помешал. Суть проблемы в том что консоль вечно выдаёт 0 и какие то знаки. Насколько я могу понять, непонятные знаки это реакция консоли на русские знаки, но вечное значение ноль- это не нормально.И если не сложно, то покажите пример правильного оформления кода. Насколько я понимая это должно выглядеть так:
    Код (Javascript):
    var servo = require('amperka/servo')
      .connect(P13);

      var pot = require('amperka/pot')
      .connect(A0);

      setInterval(function() {
       var angle = 180 * pot.read();
       servo.write(angle);
      }, 20);
     
  5. ИгорьК

    ИгорьК Гуру

    Разрыв и перенос не нужны:
    Код (Javascript):
    var servo = require('amperka/servo').connect(P13);
    var pot = require('amperka/pot').connect(A0);
     
    И дело здесь не в правильности оформления а в понимании того что значат эти строки.
     
  6. Umnik

    Umnik Нуб

    Данный код работает. К тому же этот код списан с буклета из набора Йодо. Вот код не рабочий
    Код (Javascript):
    var sonik = require('@amperka/ultrasonic')
    .connect({trigPin: P10, echoPin: P11});

    setInterval(function() {
    sonik.ping(function(err, val) {
    if (err) {
    console.log(err.msg);
    } else {
    console.log(val.toFixed(0), 'mm');
    }
    }, 'mm');
    }, 100);
    Возможно в наборе просто брак.
     
  7. Umnik

    Umnik Нуб

    Это ультразвуковая линейка(№15)
     
  8. ИгорьК

    ИгорьК Гуру

    Возможно. Но это не единственная причина не работоспособности.
    Вы в принципе понимаете как это работает то?
    Надо убедиться - брак в наборе или нет.
    Для этого следует понять как работает датчик и минуя библиотеку проверить его работоспособность.
    А запись с точкой в начале... БРРРРРРРРРРРР. Не встречал в тех книжках что читал.
     
  9. Umnik

    Umnik Нуб

    http://files.amperka.ru/store-media/products/yodo/media/yodo-book.pdf
     
  10. ИгорьК

    ИгорьК Гуру

  11. Umnik

    Umnik Нуб

    Это про точку в начале сторки... Ладно. Можете подсказать как проверить датчик?
     
  12. mcureenab

    mcureenab Гуру

    Это оформление кода из yodo-book. На самом деле хороший вариант. Сразу видно, что connect не сама по себе функция, а прицеп к предыдущей строке.
     
  13. ИгорьК

    ИгорьК Гуру

    У меня дурная привычка читать книжки... не встречал. А это не книжка.
    Понять как работает датчик. А работает он так:
    на одну ногу надо подать импульс определенной длины и значения - а другая его нога в ответ через некоторое время выдаст пачку импульсов с частотой, зависящей от дистанции.
    Вот и надо вручную дать импульс и смотреть ответ. Без библиотеки.
     
  14. Umnik

    Umnik Нуб

    Ох, как сложно. Просто я нуб. Прям очень.Буквально 2 дня назад первый набор (Йодо) приехал. Есть видео/ более подробный гайд?
     
  15. ИгорьК

    ИгорьК Гуру

    Думаю, подробного гайда нет.
    Купили два дня назад... Ну, две недели чтения http://learn.javascript.ru/first-steps а также сайта espruino и все станет понятно.
    Я не издеваюсь, поверьте, просто это Вы купили JS с нуля, а не я...
     
  16. Umnik

    Umnik Нуб

    Спасибо, я всё понимаю. И да, я осознавал что будет требоваться время когда покупал этот набор.