控制汽车使用Adafruit®电机盾V2

这个例子展示了如何使用MATLAB®支持包Arduino®硬件控制伺服电机,直流电机万博1manbetx和步进电机使用Adafruit电机屏蔽V2。

硬件设置

1.将Adafruit的发动机罩到您的Arduino硬件。

2.将一个FS5106B电机伺服马达端口1,标记为“伺服1”上盾。

3.连接的DC玩具/爱好电机马达端口1,标记为“M2”在屏蔽。

4.连接一个六导线Portescap的步进电机马达端口2,标记为“M3”和“M4”上盾。连接于步进电机的端口的中心的两个中间线到地在一起。如果使用的是四线,五线式步进电机,检查你的硬件规格为每根线的适当的连接。

5.连接的电池组,其具有三个AA电池的DC插孔,标有功率和删除标记的Vin的跳线上引脚的跳线。这一步是可选的,如果你的步进电机不需要高功率电源。

创建屏蔽对象

默认情况下,Adafruit的\ MotorShieldV2库不包含在主板上的服务器代码。创建一个Arduino对象,包括Adafruit的\ MotorShieldV2库硬件。

一个= arduino (“COM4为”“乌诺”“图书馆”'Adafruit的\ MotorShieldV2'
上板乌诺(COM4)更新服务器代码。这可能需要几分钟的时间。
A = Arduino的具有属性:港口: 'COM4' 板: '乌诺' AvailablePins:{ 'D2-D13', 'A0-A5'} AvailableDigitalPins:{ 'D2-D13', 'A0-A5'} AvailablePWMPins:{”D3' , 'D5-D6', 'D9-D11'} AvailableAnalogPins:{ 'A0-A5'} AvailableI2CBusIDs:[0]库:{ 'Adafruit的/ MotorShieldV2', 'I2C', '伺服'}

通过指定所需的库名参数来创建附加组件屏蔽对象:

屏蔽=插件(一,'Adafruit的\ MotorShieldV2'
屏蔽= motorshieldv2与属性:SCLPin: 'A5' SDAPin: 'A4' I2CAddress:96( '0x60的')PWMFrequency:1600(Hz)的

盾牌的I2CAddress设为0X60默认情况下,如果没有指定。搜索可用I2C地址总线0上指定一个不同的地址。

addr = scanI2CBus (0)
addr =2×1单元阵列{' 0 x60} {0 x70的}

控制伺服在屏蔽马达

有每个屏蔽提供了两个伺服电机端口。在端口1创建一个伺服电机对象。

S =伺服(屏蔽,1)
S =伺服与属性:MotorNumber:1引脚: 'D10' MinPulseDuration:5.44e-04(秒)MaxPulseDuration:2.40e-03(秒)

将伺服电机的轴至最大位置的位置。

writePosition (s, 1);

看到控制伺服电机示例学习如何使用伺服对象。

在屏蔽控制DC电动机

每个屏蔽上有四个直流电机端口。在端口2创建一个直流电机对象。

DCM = DCMOTOR(屏蔽,2)
dcm = dcmotorv2,其性能:电机数量:2 (M2)速度:0.00运行:0

首先,改变电机的转速来0.2。值的符号指示的电动机旋转也取决于电机的布线的方向。

dcm.Speed = 0.2;

起动电机在运行时改变速度。停止电机,当你完成。

开始(DCM);dcm.Speed = 0.3;暂停(2);dcm.Speed = -0.2;暂停(2);停止(DCM);

控制步进电机在屏蔽上

有每个屏蔽提供了两种步进电机端口。在端口2上创建一个步进电机对象,每转200步。

SM =步进(屏蔽,2200)
SM =步进具有属性:MotorNumber:2 StepsPerRevolution:200 RPM:0步骤类型:单( '单', '双', '交错', '​​微步')

设定电机的转速,每分钟转数e.g,〜10和移动或步骤电动机在一个方向200倍的步骤,然后在相反的方向上的另一200步。

sm.RPM = 10;移动(SM,200);暂停(2);举动(SM,-200);释放(SM);

清理

一旦不再需要连接,就清除关联的对象。

清晰的小号扩张型心肌病SM屏蔽一个