Сенсор высшего класса: потенциометр Ribbon
«Мягкий горшок» (укороченный для мягкого потенциометра - ленточный потенциометр по-французски) похож на обычный потенциометр в стиле, который мы видим в упражнении 8, с той разницей, что он плоский, действительно тонкий и гибкий и не имеет ручки. Потенциометр также известен как «переменное сопротивление», а для мягкого горшка подаваемое сопротивление определяется прилагаемым к нему давлением. Это давление можно приложить пальцем, стилусом или жесткой пластиковой пластикой. При нажатии на различные части ленты сопротивление колеблется от 100 до 10 кОм, что позволяет рассчитать относительное положение ленты. Это можно использовать для отслеживания перемещения по софтпоту или пространственных опор «стиль кнопки». В этой схеме она будет использоваться для контроля цвета светодиодного индикатора RGB.
КОМПОНЕНТЫ
- LED RGB.
- Ленточный потенциометр.
- Сопротивление 330 Ом (оранжево-оранжево-коричневый).
- Соединительный провод.
СХЕМА ЦЕПИ
МОНТАЖ ЦЕПИ
КОД
You can find this code in CIRC-14-code-softpot.js
var five = require("johnny-five"),
board, mySoftPot, myLed;
function getRGB(hue) {
var colors = [];
var r = five.Fn.constrain(five.Fn.map(hue, 0, 512, 255, 0), 0, 255);
var g = five.Fn.constrain(
five.Fn.map(hue, 0, 512, 0, 255), 0, 255) -
five.Fn.constrain(five.Fn.map(hue, 512, 1023, 0, 255),0,255);
var b = five.Fn.constrain(five.Fn.map(hue, 512, 1023, 0, 255), 0, 255);
colors[0] = r;
colors[1] = g;
colors[2] = b;
return colors;
}
board = new five.Board();
board.on("ready", function() {
myLed = new five.Led.RGB([ 9, 10, 11 ]);
mySoftPot = new five.Sensor({
pin: "A0",
freq: 250
});
mySoftPot.on("read", function( err, value ) {
console.log("read value",value);
var rgbColors = getRGB(value);
myLed.color(rgbColors);
});
});
АВАРИЙНЫЙ РЕМОНТ
Светодиод остается черным или имеет неправильный цвет
С четырьмя выводами светодиодного индикатора, так близко друг к другу, иногда легко разместить один из них. Попробуйте проверить, что каждый штырь находится там, где он должен быть.
Увидеть красный
Красный диод среди RGB LED может быть немного ярче двух других. Чтобы их цвета были более раскачанными, используйте транзистор с большим количеством омов или настройте значение красного в коде.
Странные результаты
Наиболее вероятная причина в том, что ты нажимаешь потенциометр сразу на несколько положений. Это нормально и фактически может быть использовано для создания некоторых оригинальных результатов.
РАСШИРЕНИЕ КОДА
Похожие кнопки
Благодаря тому, как работает ленточный потенциометр, он также может использоваться для создания произвольных кнопок. Для этого нужно задать ряд значений, соответствующих отдельной кнопке. Используйте консоль, чтобы определить нужные значения, и добавьте условие, чтобы проверить интервал каждой «кнопки», которую вы хотите создать, например:
if (value > minValue && value < maxValue) {
button1Action();
} else if (value > minValue2 && value < maxValue2) {
button2Action();
}
Ensuite recouvrez le ruban avec un schéma de bouton dessiné/imprimé.