Здравствуйте, использую дальномер HC-SR04 из Йодо стандартный код из описания библиотеки возвращает всё время. 0.4ххххх мм. попробовал уже два разных дальномера. подскажите, что может быть не так? var sonic = require('@amperka/ultrasonic') .connect({trigPin: P12, echoPin: P11}); sonic.ping(function(err, value) { if (err) { console.log('An error occurred:', err); } else { console.log('The distance is:', value, 'millimeters'); } }, 'mm'); trig, echo проверял ...
Попробовал у себя на IskraJS - такое же поведение. Сам дальномер работает, т.к. подключал его к ардуине. Надо в код модуля поглядеть. http://js.amperka.ru/modules/@amperka/ultrasonic.js Еще попробовал модуль от Espruino http://www.espruino.com/HC-SR04 - похожее поведение: всевремя выдается какое-то фиксированное значение Код (Javascript): var sensor = require("HC-SR04").connect(P0,P1,function(dist) { console.log(dist+" cm away"); }); setInterval(function() { sensor.trigger(); }, 2000); Выдает такое: Код (Text): 0.04479949909 cm away 0.04657476992 cm away 0.04427736038 cm away 0.04469507075 cm away 0.04532163681 cm away 0.04427735938 cm away 0.04469507075 cm away 0.04427735938 cm away 0.04469507175 cm away 0.04427735938 cm away 0.04469507075 cm away 0.04511278212 cm away 0.04928989084 cm away 0.04469507075 cm away 0.04469507075 cm away
Вроде получилось! Ультразвуковой датчик, похоже, работает только от 5V питания. (На IskraJS по умолчанию у меня 3.2)
Bingo! Вы абсолютно правы. Чтобы качать трансмиттер нужно 20+ В. На плате есть DC-DC бустер, но он работает где-то начиная с 4,5 В. Если вы подключаете дальномер к Troyka Shield, используйте пины 8-13 в комбинации с джампером питания в положении V2+5V. Это отправит нужные 5V на группы 8-13. Если на такой пин придёт обратно 5 вольт — ничего страшного: они толерантны к 5 вольтам на уровне микроконтроллера.