Difference between revisions of "MCookie-Motor"
From Microduino Wiki
Line 5: | Line 5: | ||
[[File:motor-motor-rect.jpg|400px|thumb|right|mCookie-Motor]] | [[File:motor-motor-rect.jpg|400px|thumb|right|mCookie-Motor]] | ||
− | mCookie-Motor is a DC motor controller with PWM(Pulse Width Modulation). The speed of the motor can be controlled through PWM and | + | mCookie-Motor is a DC motor controller with PWM (Pulse Width Modulation) for various speed control. The speed of the motor can be controlled through PWM and direction (forward or backwards). This module needs to be powered with a sufficient power supply such as a [[MCookie-BM_shield|BM shield]] with a [[MCookie-BM|BM module]] or with [[MCookie-Battery|mBattery]]. |
− | |||
Line 15: | Line 14: | ||
*DC motor braking mode; | *DC motor braking mode; | ||
*Capable of controlling two DC motors. | *Capable of controlling two DC motors. | ||
+ | *Speed and direction control. | ||
+ | *Uses standard connectors: 2 pin, 1.25mm pitch JST connectors. | ||
==Specification== | ==Specification== |
Revision as of 22:17, 29 March 2017
Language: | English • 中文 |
---|
mCookie-Motor is a DC motor controller with PWM (Pulse Width Modulation) for various speed control. The speed of the motor can be controlled through PWM and direction (forward or backwards). This module needs to be powered with a sufficient power supply such as a BM shield with a BM module or with mBattery.
ContentsFeatures
Specification
Note:
DocumentDevelopmentDC Motor Wire Connection
//(D6, D8) controls motor (1A, 1B)
#define OUT1A 6
#define OUT1B 8
//(D5, D7) controls motor (2A, 2B)
#define OUT2A 5
#define OUT2B 7 PWM Rate ControlProject
#define OUT1A 6
#define OUT1B 8
#define OUT2A 5
#define OUT2B 7
void setup()
{
pinMode(OUT1A, OUTPUT);
pinMode(OUT1B, OUTPUT);
pinMode(OUT2A, OUTPUT);
pinMode(OUT2B, OUTPUT);
}
void loop()
{
head();
delay(2000);
back();
delay(1000);
stop();
delay(500);
}
void head()
{
digitalWrite(OUT1A, HIGH);
digitalWrite(OUT1B, LOW);
digitalWrite(OUT2A, HIGH);
digitalWrite(OUT2B, LOW);
}
void back()
{
digitalWrite(OUT1A, LOW);
digitalWrite(OUT1B, HIGH);
digitalWrite(OUT2A, LOW);
digitalWrite(OUT2B, HIGH);
}
void stop()
{
digitalWrite(OUT1A, LOW);
digitalWrite(OUT1B, LOW);
digitalWrite(OUT2A, LOW);
digitalWrite(OUT2B, LOW);
}
//(D6, D8) controls motor (1A, 1B)
#define OUT1A 6
#define OUT1B 8
//(D5, D7) controls motor (2A, 2B)
#define OUT2A 5
#define OUT2B 7
void setup()
{
pinMode(OUT1A, OUTPUT);
pinMode(OUT1B, OUTPUT);
pinMode(OUT2A, OUTPUT);
pinMode(OUT2B, OUTPUT);
}
void loop()
{
for (int fadeValue = 0; fadeValue <= 255; fadeValue += 5)
//Loop statement. Along with PWM rate increases, you can change brightness level by controlling fadeValue.
{
analogWrite(OUT1A, fadeValue); //Write rate level into the motor
digitalWrite(OUT1B, LOW);
analogWrite(OUT2A, fadeValue);
digitalWrite(OUT2B, LOW);
delay(100); //Delay time of rate. (The unit is ms)
}
for (int fadeValue = 255; fadeValue >= 0; fadeValue -= 5)
// Loop statement. Along with PWM rate decreases, you can change brightness level by controlling fadeValue.
{
digitalWrite(OUT1A, LOW);
analogWrite(OUT1B, fadeValue); // Write rate level into the motor
digitalWrite(OUT2A, LOW);
analogWrite(OUT2B, fadeValue);
delay(100); // Delay time of rate. (The unit is ms)
}
delay(1000);
} Other Projects: PurchaseHistoryPicturesVideo |