Сделал такую программу (одно нажатие включает светодиод, длинное нажатие увеличивает яркость на максимум, серия коротких нажатий выключает) Спойлер Код (Javascript): var led = require('@amperka/led').connect(P1); var button = require('@amperka/button').connect(P3); var i = 0; led.turnOff(); function myCoolButtonHandler() { led.brightness(0.2); led.turnOn(); console.log('press'); i++; print (i); if (i > 2) led.turnOff(); } function Hand() { led.brightness(0.99); //led.turnOn(); console.log('Up'); } button.on('press', myCoolButtonHandler); button.on('hold', Hand); setInterval(function(){ (i = 0); }, 3000); И если в led.brightness(0.99); указать 1, то светодиод не меняет яркость. Из-за этого поставил 0.99 )
Это не баг. Функция brightness ожидает в параметре значение типа float (число с плавающей точкой), т.е. нужно указывать не «1», а «1.0»
Вот для ребенка сделал игрушку моргалик (светодиод моргает в такт звука и чем громче звук, тем ярче). Код (Javascript): var myLed = require('@amperka/led') .connect(P1) .turnOn(); var a = 0.52, b = 0.55; setInterval(function() { var x = analogRead(A0); x = (x - a)/(b-a); if (x < 0) x = 0.01; if (x > 1) x = 0.99; myLed.brightness(x); }); Так при присвоении x = 0 или 0.0 нестабильно работает светодиод. Если поставить 0.01 то светодиод в тишине стабильно выключен без микроморганий.