คำอธิบาย
บอร์ด Shield ใช้งานร่วมกับ Arduino UNO รองรับ PWM control ควบคุมความเร็วมอเตอร์ ได้โดย Pin D10, D11, D12, D13 ของ Arduino UNO
- Voltage in DC6.5 – 12V
- Voltage Motor DC4.8 – 24V
- Drive working current Io ≤ 2A
- Maximum power dissipation 25W
- High level DC 2.3V ≤ Vin ≤ 5V
- Low level DC 0.3 V ≤ Vin ≤ 15V
Arduino Uno ในส่วนของฝั่ง Digital ใช้ควบคุม L298P Motor Shield
- Digital 10 PWM ควบคุมความเร็วมอเตอร์ A
- Digital 11 PWM ควบคุมความเร็วมอเตอร์ B
- Digital 12 Logic ควบคุมทิศทาง มอเตอร์ A
- Digital 13 Logic ควบคุมทิศทาง มอเตอร์ B
โดยปกติเราจะควบคุมทิศทาง Direction control โดยการป้อน Logic ที่ In1, In2 ของ L298 ให้มี Logic ที่ต่างกันซึ่งก็จะใช้ Digital Pin ของ Arduino Uno ถึง 2 Pin เราสามารถลด Pin ให้เหลือ 1 Pin โดยการต่อ 74HC04 Invert เพื่อกลับ Logic ให้ In1, In2 ของ L298 นอกจากนั้นเรายังสามารถสร้างเสียงเตือนด้วย Buzzer บนบอร์ด L298P Motor Shield โดยสั่ง (Digital Pin D4)
Download โค้ดตัวอย่างการใช้ L298P Motor Shield ควบคุมความเร็วแบบ PWM Arduino Uno + Potentiometer ตัวต้านทานปรับค่าได้ VR 10KB
int E1 = 10; // Motor A Speed
int E2 = 11; // Motor B Speed
int M1 = 12; // Motor A Direction
int M2 = 13; // Motor A Direction
int sensor_1 = A0; // Potentiometer ตัวต้านทานปรับค่าได้ VR 10KB
int sensorValue_1 = 0;
int outputValue_1 = 0;
int Direction = 0;
void setup()
{
pinMode(M1, OUTPUT);
pinMode(M2, OUTPUT);
}
void loop()
{
sensorValue_1 = analogRead(sensor_1);
outputValue_1 = map(sensorValue_1, 0, 1023, 0, 255);
if (Direction==1) // O หมุนซ้าย CCW , 1 หมุนขวา CW
{
digitalWrite(M1, LOW);
digitalWrite(M2, LOW);
}
else
{
digitalWrite(M1, HIGH);
digitalWrite(M2, HIGH);
}
analogWrite(E1, outputValue_1); // Motor A Speed follow Potentiometer
analogWrite(E2, outputValue_1); // Motor B Speed follow Potentiometer
}




รีวิว
ยังไม่มีบทวิจารณ์