项目四十二 电机-水泵驱动模块#

1.实验说明#

在生活中,经常需要驱动一个风扇转动或者或者一个小水泵。为了方便接线,特别设计了130电机-DC3-5V浇花小水泵驱动模块。使用时,只需要将水泵或130电机两端连接在模块的2pin接口上,同时,模块的4pin接口用于连接对应单片机,用于控制电机或水泵状态。

模块兼容各种单片机控制板,如arduino系列单片机。模块上自带的防反插白色端子兼具为2.54mm,使用时,可以利用杜邦线连接到单片机。为方便接线,还特别设计了一款完全兼容这模块和Arduino UNO R3单片机的扩展板,只需要将扩展板堆叠到UNO R3单片机,利用1根3P双头XH2.54插头线(防反)即可连接在扩展板上,简单方便。

实验中,让电机转动起来和小水泵抽水。

2.实验器材#

  • keyes brick电机-水泵驱动模块*1

  • keyes UNO R3开发板*1

  • 传感器扩展板*1

  • 4P双头XH2.54连接线*1

  • USB线*1

  • DC3-5V浇花小水泵+100MM连接线*1

  • 浇花水管 内径6MM 外径8MM 1米*1

  • 130电机+100MM连接线*1

  • 电机桨*1

3.接线图#

电机接线图:

水泵接线图:

4.测试代码#

电机:

void setup() 
{
  //设置电机引脚为输出
  pinMode(A2, OUTPUT);
  pinMode(A3, OUTPUT);
}

void loop()
 {
  //逆时针转
  digitalWrite(A2, LOW);
  digitalWrite(A3, HIGH);
  delay(2000);
  //停止
  digitalWrite(A2, LOW);
  digitalWrite(A3, LOW);
  delay(1000);
  //顺时针转
  digitalWrite(A2, HIGH);
  digitalWrite(A3, LOW);
  delay(2000);
  //停止
  digitalWrite(A2, LOW);
  digitalWrite(A3, LOW);
  delay(1000);
}

水泵:

void setup() 
{
  //设置水泵引脚为输出
  pinMode(A2, OUTPUT);
  pinMode(A3, OUTPUT);
}

void loop() 
{
  //开水泵
  digitalWrite(A2, HIGH);
  digitalWrite(A3, LOW);
  delay(3000);
  //关水泵
  digitalWrite(A2, LOW);
  digitalWrite(A3, LOW);
  delay(1000);
}

5.代码1说明#

将管脚设置为A2、A3,当A2输出为低电平,A3输出为高电平时,电机逆时针旋转;当A2输出为高电平,A3输出为低电平时,电机顺时针旋转;当两个管脚都设置为低电平时,电机停止转动。

6.代码2说明#

当A2输出为低电平,A3输出为高电平时,水泵工作(两个引脚的电平输出反过来也行,这个水泵没有正负极);当A2、A3都输出低电平时水泵停止工作。

7.测试结果#

烧录好测试130电机代码,按照接线图连接好线;上电后,风扇逆时针转动2秒;停止1秒;顺时针转动2秒;停止1秒;循环交替。

烧录好测试小水泵代码,按照接线图连接好线;将小水泵放入水中,上电后,水泵抽水3秒停止1秒,循环交替。