1 让电机跑起来
#define pwm 6
#define dir 2
void setup() {
pinMode(dir, OUTPUT);
pinMode(pwm, OUTPUT);
}
void loop() {
digitalWrite(pwm, HIGH);
}
使用arduino uno设备,这里有pwm的引脚有5和6。(标有~符号代表pwm)。通电即可使电机旋转。注意Arduino自带的电压不够驱动电机,需要外接一个9V电源
2 控制电机速度
#define pwm 6
#define dir 2
void setup() {
pinMode(dir, OUTPUT);
pinMode(pwm, OUTPUT);
Serial.begin(9600);
}
void loop() {
if (Serial.available()){
int speed = Serial.parseInt();
if (speed >= 0 && speed <= 255) {
analogWrite(pwm, speed);
}
}
}
这里通过串口输入速度(值的范围在0和255之间)。使用analogWrite把模拟电压写入pwm即可控制速度。0为静止,255为最大速度
3 控制电机方向
#define pwm 6
#define dir 2
void setup() {
pinMode(dir, OUTPUT);
pinMode(pwm, OUTPUT);
Serial.begin(9600);
}
void loop() {
if (Serial.available()){
int speed = Serial.parseInt();
if (speed >= 0 && speed <= 255) {
analogWrite(pwm, speed);
digitalWrite(dir, LOW);
}
}
}
我这里引脚2可以用于控制方向(uno上还有引脚4可用)。使用digitalWrite控制该方向引脚。高低压和低电压分别对应不同方向。