L298P Motor Shield Board for Arduino
บอร์ดซีลด์ขับมอเตอร์ L298P สำหรับเสียบกับบอร์ด Arduino
- บอร์ดซีลด์ขับมอเตอร์ L298P สำหรับเสียบกับบอร์ด Arduino
- L298P Motor Drive ตัวนี้สามารถใช้ขับ DC Motor ได้ 2 ตัว ที่กระแส 2A
- แรงดัน VIN รับค่าได้ตั้งแต่ 6.5-12 Vdc,
- แรงดัน PWRIN: รับค่าได้ตั้งแต่ 4.8-35 Vdc
- ขับมอเตอร์ 2 ตัว แบบหมุนกลับทางได้
- ขนาด 68x53 มม
Technical Specifications:
1. logical part of the input voltage VD: 5V
2.-driven part of the input voltage VS: VIN Input 6.5 ~ 12V, PWRIN 4.8 ~ 35V input
3. logical part of the work current Iss: <36mA
4.-driven part of the operating current Io: <2A
5. maximum power dissipation: 25W (T = 75 Celsius)
6. control signal input level: High 2.3V low -0.3V
7. Working temperature: -25 + 130 Celsius
8. hardware interface: 5.0mm pitch terminal
9. belt clip and can be controlled via front row access signal
10. Drive Type: Dual power H-bridge driver
11. Pin occupancy: D4 ~ D7 direct drive motor
12. supports PWM / PLL mode motor speed control
13. Size: 68 * 53mm
ตัวอย่างการใช้งาน
โค้ดตัวอย่าง
/*
Robot with Arduino UNO + L298P
For more details visit:
https://robotsiam.blogspot.com/2017/12/uno-l298p.html
*/
/*-------definning Outputs------*/
int MA1 = 12; // Motor A1
int MA2 = 3; // Motor A2
int PWM_A = 10; // Speed Motor A
int MB1 = 13; // Motor B1
int MB2 = 8; // Motor B2
int PWM_B = 11; // Speed Motor B
int SPEED = 200; // Speed PWM สามารถปรับความเร็วได้ถึง 0 - 255
void setup() {
//Setup Channel A
pinMode(12, OUTPUT); //Motor A1
pinMode(3, OUTPUT); //Motor A2
pinMode(10, OUTPUT); //Speed PWM Motor A
//Setup Channel B
pinMode(13, OUTPUT); //Motor B1
pinMode(8, OUTPUT); //Motor B2
pinMode(11, OUTPUT); //Speed PWM Motor B
}
void loop() {
Stop(2000);
Forward(400);
Stop(200);
Backward(400);
Stop(200);
turnLeft(300);
Stop(200);
turnRight(400);
}
void Forward(int time)
{
digitalWrite(MA1, LOW);
digitalWrite(MA2, HIGH);
analogWrite(PWM_A, SPEED);
digitalWrite(MB1, HIGH);
digitalWrite(MB2, LOW);
analogWrite(PWM_B, SPEED);
delay(time);
}
void Backward(int time)
{
digitalWrite(MA1, HIGH);
digitalWrite(MA2, LOW);
analogWrite(PWM_A, SPEED);
digitalWrite(MB1, LOW);
digitalWrite(MB2, HIGH);
analogWrite(PWM_B, SPEED);
delay(time);
}
void turnLeft(int time)
{
digitalWrite(MA1, HIGH);
digitalWrite(MA2, LOW);
analogWrite(PWM_A, SPEED);
digitalWrite(MB1, LOW);
digitalWrite(MB2, LOW);
analogWrite(PWM_B, 0);
delay(time);
}
void turnRight(int time)
{
digitalWrite(MA1, LOW);
digitalWrite(MA2, LOW);
analogWrite(PWM_A, 0);
digitalWrite(MB1, LOW);
digitalWrite(MB2, HIGH);
analogWrite(PWM_B, SPEED);
delay(time);
}
void Stop(int time)
{
digitalWrite(MA1, LOW);
digitalWrite(MA2, LOW);
analogWrite(PWM_A, 0);
digitalWrite(MB1, LOW);
digitalWrite(MB2, LOW);
analogWrite(PWM_B, 0);
delay(time);
}
ตัวอย่างโปรเจค