Im пытается выяснить, как сгладить светодиод с течением времени (время определяется пользователем, позволяет называть его rampUp). Im использованием Arduino с Adafruit прорыве ШИМ-сервопривод (http://www.adafruit.com/products/815) с библиотекой: https://github.com/adafruit/Adafruit-PWM-Servo-Driver-LibraryDim LED со временем в равномерном потоке с использованием Arduino
этот прорыв имеет 4095 шагов (0-4095), так что теперь моя проблема:
Я хочу, чтобы быть в состоянии принять переменную (int minutes) и отправить ее методу, который уменьшит светодиод от 0 до 4095 при равном увеличении интенсивности света за период минут. Я хочу, чтобы увеличение увеличивалось на 1 каждый раз, когда оно увеличивается.
Как я могу написать метод без использования задержки()?
void dimLights(int rampUp){
// some code to regulate the increase of the third value in setPWM one step at a time over a period of rampUp(int in minutes)
led.setPWM(0,0,4095);
}
Причина, по которой не требуется использовать delay(), заключается в том, что она остановит/остановит остальную часть программы.