Arduino Project 030B - MX1508 H-Driver Motor
MX1508 H-BridgeDual Motor Driver
The driver can drive up to two motors. The H-Bridge dual motor driver module is connected to the arduino where it receives signals. The signal pins on the driver are four, two for each motor. One signal pin makes the motor move in a particular direction of rotation but the other one makes it move the opposite way. This same principle works for the other motor. The driver receives an input voltage from 5v to 12v . There is a voltage regulator that sets the voltage down. This power source can be used to power the arduino board.



/*
MX1508 DC MOTOR DRIVER MODULE
One Motor Project
*/
void setup() {
pinMode(8, OUTPUT); //IN2
pinMode(9, OUTPUT); //IN1
}
void loop() {
// Full speed forward
digitalWrite(8, HIGH);
digitalWrite(9, LOW);
delay(3000);
// Full speed backward
digitalWrite(8, LOW);
digitalWrite(9, HIGH);
delay(3000);
// 0 to 100% speed in forward mode
for (int i=0;i<256;i++)
{ digitalWrite(8, HIGH);
analogWrite(9, i);
delay(30);
}
delay(60);
// 0 to 100% speed in backward mode
for (int i=255;i<0;i--)
{ digitalWrite(8, LOW);
analogWrite(9, i);
delay(30);
}
delay(60);
}

/*
MX1508 DC MOTOR DRIVER MODULE
Dual motor project
*/
int motor1clockwise=3; // motor one clockwise signal connected to pin 3
int motor1anticlockwise=4; //motor one anticlockwise signal connected to pin 4
int motor2clockwise=5; //motor two clockwise signal connected to pin 5
int motor2anticlockwise=6; // motor two anticlockwise signal connected to pin 6
void setup(){
Serial.begin(9600);
// declare all motor pins as OUTPUTS
pinMode(motor1clockwise,OUTPUT);
pinMode(motor1anticlockwise,OUTPUT);
pinMode(motor2clockwise,OUTPUT);
pinMode(motor2anticlockwise,OUTPUT);
}
void loop(){
digitalWrite(motor1clockwise,HIGH); //move motor one clockwise
delay(1000);
digitalWrite(motor1clockwise,LOW); //stop motor one clockwise
digitalWrite(motor1anticlockwise,HIGH); //move motor one anticlockwise
delay(1000);
digitalWrite(motor1anticlockwise,LOW); //stop motor one anticlockwise
digitalWrite(motor2clockwise,HIGH); //move motor two clockwise
delay(1000);
digitalWrite(motor2clockwise,LOW); // stop motor two clockwise
digitalWrite(motor2anticlockwise,HIGH); //move motor two anticlockwise
delay(1000);
digitalWrite(motor2anticlockwise,LOW); // stop motor two anticlockwise
}版权声明:本文为原创文章,版权归donstudio所有,欢迎分享本文,转载请保留出处!





