我一直在为Arduino项目开发一些电机,并想知道是否有人可以帮助我。
我实际上是在尝试为数组中的事物指定HIGH
/ LOW
属性。
这就是我要实现到数组中的内容。
digitalWrite(in1,HIGH); // Motor 2
digitalWrite(in2,LOW);
digitalWrite(in3,HIGH); // Motor 2
digitalWrite(in4,LOW);
digitalWrite(in5,HIGH); // Motor 3
digitalWrite(in6,LOW);
digitalWrite(in7,HIGH); // Motor 4
digitalWrite(in8,LOW);
我已经通过使用LOW
标签使阵列工作,但是这告诉电机根本不旋转。
我希望能够将它们设置为这些值。
在我的代码中,我要编辑的数组使用motors
,mtrPin
和motorPin
属性。
You can see it for reference here.
// Array of PWM's
int pwmPin = 0;
uint8_t pwms[] = {3,5,6,11};
byte numberPwms = 4;
// Array for motors channels
int mtrPin = 0;
uint8_t motors[] = {4,2,8,7,12,13,9,10};
byte motorPin = 8;
void setup()
{
for (pwmPin = 0; pwmPin < numberPwms; pwmPin++){
for (mtrPin = 0; mtrPin < motorPin; mtrPin++){
pinmode(motors[mtrPin],OUTPUT);
pinmode(pwms[pwmPin],OUTPUT);
};
};
}
void motorLoop(){
// setting the direction to turn and speed
// digitalWrite(in1,HIGH); // Motor 2
// digitalWrite(in2,LOW);
// digitalWrite(in3,HIGH); // Motor 2
// digitalWrite(in4,LOW);
// digitalWrite(in5,HIGH); // Motor 3
// digitalWrite(in6,LOW);
// digitalWrite(in7,HIGH); // Motor 4
// digitalWrite(in8,LOW);
// Set the speed for the Motors
for(int pwmPin = 0; pwmPin < numberPwms; pwmPin++){
for (mtrPin = 0; mtrPin < motorPin; mtrPin++){
pinmode(motors[mtrPin],LOW);
analogWrite(pwms[pwmPin],200);
};
};
};
void loop()
{
motorLoop();
delay(500);
}