Arduino 电机斜坡
Arduino Motor Ramp
我的 arduino 斜坡电机代码需要一些帮助。
我正在制作遥控机器人。遥控器一键.
如果按钮为高:电机应使用pwm逐渐增加速度(从pwm=0
开始)。从静止速度到最大速度的时间应为1秒。一旦达到最大速度,它应该保持最大速度 (pwm=255
)。
松开按钮的那一刻,电机应该从当前速度逐渐降低到完全停止。
到目前为止,我已经设法编写了加速和保持速度部分的代码;该代码不包括按钮部分。
int motor;
int motorpwm=11;
int x=1;
int i;
void setup()
{
pinMode(11,OUTPUT);
Serial.begin(9600);
}
void loop()
{
for(int i=0;i<256;i=i+x)
{
analogWrite(motorpwm,i);
Serial.println(i);
if(i==255)
{
x=0;
Serial.println("PWM is maximum");
}
}
}
请附上完整的代码,包括代码的按钮控制部分。
我不向你保证你是否没有错误但你可以试试这个 和 post 你的结果在这里,这样 我可以为你调试 它。给你:
int motor;
int motorpwm = 11;
int x = 1;
int i;
int pwmValue;
void setup()
{
pinMode(11, OUTPUT);
pinMode(2, INPUT); //Button connected to Vcc and pulled down using a 10k resistor.
Serial.begin(9600);
}
void loop()
{
if (digitalRead(2)) //if button is pressed it will read High signal
{
if (pwmValue <= 255)
{
analogWrite(motorpwm, pwmValue++);
Serial.print("Going Up with value: ");
Serial.println(pwmValue);
}
else
{
Serial.println("PWM is maximum");
}
}
else
{
if (motorpwm > 0)
{
analogWrite(motorpwm, pwmValue--);
Serial.print("Going down with value: ");
Serial.print(pwmValue);
}
else
{
Serial.println("PWM is minimum");
}
}
}
我的 arduino 斜坡电机代码需要一些帮助。 我正在制作遥控机器人。遥控器一键.
如果按钮为高:电机应使用pwm逐渐增加速度(从pwm=0
开始)。从静止速度到最大速度的时间应为1秒。一旦达到最大速度,它应该保持最大速度 (pwm=255
)。
松开按钮的那一刻,电机应该从当前速度逐渐降低到完全停止。
到目前为止,我已经设法编写了加速和保持速度部分的代码;该代码不包括按钮部分。
int motor;
int motorpwm=11;
int x=1;
int i;
void setup()
{
pinMode(11,OUTPUT);
Serial.begin(9600);
}
void loop()
{
for(int i=0;i<256;i=i+x)
{
analogWrite(motorpwm,i);
Serial.println(i);
if(i==255)
{
x=0;
Serial.println("PWM is maximum");
}
}
}
请附上完整的代码,包括代码的按钮控制部分。
我不向你保证你是否没有错误但你可以试试这个 和 post 你的结果在这里,这样 我可以为你调试 它。给你:
int motor;
int motorpwm = 11;
int x = 1;
int i;
int pwmValue;
void setup()
{
pinMode(11, OUTPUT);
pinMode(2, INPUT); //Button connected to Vcc and pulled down using a 10k resistor.
Serial.begin(9600);
}
void loop()
{
if (digitalRead(2)) //if button is pressed it will read High signal
{
if (pwmValue <= 255)
{
analogWrite(motorpwm, pwmValue++);
Serial.print("Going Up with value: ");
Serial.println(pwmValue);
}
else
{
Serial.println("PWM is maximum");
}
}
else
{
if (motorpwm > 0)
{
analogWrite(motorpwm, pwmValue--);
Serial.print("Going down with value: ");
Serial.print(pwmValue);
}
else
{
Serial.println("PWM is minimum");
}
}
}