1. 主页
  2. 文档
  3. SNA41 Arduino PS2电机舵机驱动扩展板说明书
  4. 第五步:软件代码讲解
  5. 1、控制直流电机(DC motor)

1、控制直流电机(DC motor)

a)连接电机

1、控制直流电机(DC motor)

驱动器有4组电机接线柱分别为M1, M2, M3, 和 M4。

注意:请仔细查看电机参数,电机尺寸过大(功率太大)会使驱动器超负荷,导致驱动器损坏。(实测370电机可用)

b)直流电机(DC motor) 示例详解


#include <Wire.h>
#include "Adafruit_MotorShield.h"
#include "utility/Adafruit_MS_PWMServoDriver.h"

// Create the motor shield object with the default I2C address
Adafruit_MotorShield AFMS = Adafruit_MotorShield(); 

// Select which 'port' M1, M2, M3 or M4. In this case, M1
Adafruit_DCMotor *myMotor = AFMS.getMotor(3);

void setup() {
  AFMS.begin();  // create with the default frequency 1.6KHz
  
  // Set the speed to start, from 0 (off) to 255 (max speed)
  myMotor->setSpeed(150);
  myMotor->run(FORWARD);
  // turn on motor
  myMotor->run(RELEASE);
}

void loop() {
  myMotor->run(FORWARD);
  myMotor->setSpeed(150); 
  delay(3000);
  myMotor->run(RELEASE);
 
  myMotor->run(BACKWARD);
  myMotor->setSpeed(180); 
  delay(2000);

  myMotor->run(RELEASE);
  delay(1000);
}

创建一个MotorShield对象:

Adafruit_MotorShield AFMS = Adafruit_MotorShield();

从MotorShield创建DCMotor对象,对应M3端口的电机:

Adafruit_DCMotor *myMotor = AFMS.getMotor(3);

getMotor(port#)

port# :1~4,对应M1~M4接线柱

在setup() 函数里加入初始化代码:

AFMS.begin();

设置电机速度:

myMotor->setSpeed(100);

setSpeed(speed)

speed :0 (stopped) ~255 (full speed).

启动电机(正转、反转、停止)

myMotor->run(FORWARD);

run(direction)

direction : FORWARD, BACKWARD or RELEASE.

*注:电机旋转方向跟接线有关,如果转向不正确,请对调电机正负极接线柱。

这篇文章对您有用吗? 1

我们要如何帮助您?