我正在做一个项目,我需要根据开关位置调整映射值,但是我想在编写新的模拟数据时对其进行斜坡调整。
举个例子,假设我们想让一个按钮输出不同的电压(串行机器人控制器)。据我所知,它看起来像这样:
if( adjenpos == 1) {
boostbtnout = map(boostbtnin, 0, 1023, 0, 51);
}
else if( adjenpos == 2) {
boostbtnout = map(boostbtnin, 0, 1023, 0, 102);
}
else if( adjenpos == 3) {
boostbtnout = map(boostbtnin, 0, 1023, 0, 153);
}
else if( adjenpos == 4) {
boostbtnout = map(boostbtnin, 0, 1023, 0, 204);
}
else if( adjenpos == 5) {
boostbtnout = map(boostbtnin, 0, 1023, 0, 255);
}
现在使用选项 3,选择一个开/关值为 0 或 153 的按钮,我想将值 0 增加到 153 超过规定的速率,而不仅仅是开或关。
我的假设是在循环中做类似的事情:
boostramp = 1
boostbtnvalue = analogRead(boostbtnout)
analogWrite(boostbtn, boostbtnvalue);
if ( boostpwr <= boostbtnout){
boostpwr = boostpwr + boostramp;
我知道这是不正确的,但是如何将新的映射值注入到斜坡类型的函数中?
谢谢!