ได้รับส่งมอบฟรีในคําสั่งทั้งหมดมากกว่า 20 ปอนด์!

ใช้ L9110s กับ Arduino

Using the L9110S With the Arduino

โมดูลขับมอเตอร์ L9110S เป็นโซลูชันขนาดกะทัดรัดและมีประสิทธิภาพสำหรับการควบคุมมอเตอร์ DC และมอเตอร์สเต็ปเปอร์ในโปรเจกต์ Arduino ของคุณ ไม่ว่าคุณจะสร้างหุ่นยนต์ง่ายๆ หรือระบบออโตเมชันที่ซับซ้อนกว่า L9110S มอบวิธีที่เชื่อถือได้ในการจัดการการทำงานของมอเตอร์ด้วยการเดินสายและการเขียนโปรแกรมที่เรียบง่าย ในบทความบล็อกนี้ เราจะสำรวจคุณสมบัติของ L9110S โมดูลขับมอเตอร์ วิธีการเชื่อมต่อกับ Arduino และตัวอย่างโค้ดเพื่อให้คุณเริ่มต้นได้

คืออะไร L9110S?

โมดูล L9110S เป็นชิปขับมอเตอร์ 2 ช่องที่ออกแบบมาเพื่อควบคุมความเร็วและทิศทางของมอเตอร์ DC สองตัวหรือมอเตอร์สเต็ปเปอร์หนึ่งตัว มันทำงานด้วยช่วงแรงดัน 2.5V ถึง 12V ทำให้ใช้งานได้หลากหลายในแอปพลิเคชันต่างๆ L9110S เป็นที่รู้จักในเรื่องขนาดกะทัดรัด การใช้พลังงานต่ำ และการผนวกรวมกับไมโครคอนโทรลเลอร์อย่าง Arduino ได้ง่าย

ทำไมต้องเลือก L9110S?

  • การออกแบบกะทัดรัด: ขนาดเล็กทำให้เหมาะกับโปรเจกต์ที่มีพื้นที่จำกัด
  • ช่องคู่: ควบคุมมอเตอร์สองตัวแยกกัน ทำให้สามารถเคลื่อนไหวที่ซับซ้อนได้
  • ใช้งานง่าย: อินเตอร์เฟซเรียบง่าย พร้อมป้ายกำกับชัดเจนสำหรับการเชื่อมต่อที่สะดวก
  • คุ้มค่า: ราคาย่อมเยาโดยไม่ลดทอนฟังก์ชันการทำงาน

การเชื่อมต่อ L9110S กับ Arduino

การตั้งค่า L9110S กับ Arduino ทำได้ไม่ยาก ด้านล่างเป็นคู่มือทีละขั้นตอนสำหรับการเชื่อมต่อ:

  1. การเชื่อมต่อพลังงาน:
    • เชื่อมต่อขา VCC ของ L9110S เข้ากับขา 5V บน Arduino
    • เชื่อมต่อขา GND ของ L9110S เข้ากับขา GND บน Arduino
  2. การเชื่อมต่อมอเตอร์:
    • เชื่อมต่อมอเตอร์ตัวแรกกับขา OUT1 และ OUT2 pins.
    • หากใช้มอเตอร์ตัวที่สอง ให้เชื่อมต่อกับขา OUT3 และ OUT4 pins.
  3. ขาควบคุม:
    • เชื่อมต่อขา AIN1 และ AIN2 เข้ากับขาดิจิทัลสองขาบน Arduino (เช่น ขา 2 และ 3)
    • หากใช้มอเตอร์ตัวที่สอง ให้เชื่อมต่อ BIN1 และ BIN2 กับขาดิจิทัลอีกสองขา (เช่น ขา 4 และ 5)

ดูแผนผังด้านล่างเพื่อดูการแสดงภาพของการเชื่อมต่อ:

การเขียนโปรแกรมให้ Arduino

หลังจากตั้งค่าฮาร์ดแวร์ ขั้นตอนต่อไปคือการเขียนโปรแกรมให้ Arduino ควบคุมมอเตอร์ ด้านล่างเป็นตัวอย่างโค้ดที่แสดงการควบคุมทิศทางและความเร็วของมอเตอร์ DC โดยใช้โมดูลขับมอเตอร์ L9110S motor driver.


// Define motor control pins
const int AIN1 = 2;
const int AIN2 = 3;

// Setup function
void setup() {
  // Initialize the motor control pins as outputs
  pinMode(AIN1, OUTPUT);
  pinMode(AIN2, OUTPUT);
}

// Loop function
void loop() {
  // Rotate motor forward
  digitalWrite(AIN1, HIGH);
  digitalWrite(AIN2, LOW);
  delay(2000); // Run for 2 seconds

  // Stop the motor
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, LOW);
  delay(1000); // Stop for 1 second

  // Rotate motor backward
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, HIGH);
  delay(2000); // Run for 2 seconds

  // Stop the motor
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, LOW);
  delay(1000); // Stop for 1 second
}

คำอธิบาย:

  • AIN1 และ AIN2 ถูกใช้เพื่อควบคุมทิศทางของมอเตอร์
  • ตั้งค่าให้ AIN1 เป็น HIGH และ AIN2 เป็น LOW จะทำให้มอเตอร์หมุนไปข้างหน้า
  • ตั้งค่าให้ AIN1 เป็น LOW และ AIN2 เป็น HIGH จะทำให้มอเตอร์หมุนถอยหลัง
  • การตั้งค่าทั้ง AIN1 และ AIN2 เป็น LOW จะหยุดมอเตอร์

การควบคุมความเร็วด้วย PWM

โมดูล L9110S รองรับ PWM (Pulse Width Modulation) สำหรับการควบคุมความเร็ว โดยการปรับหน้าที่ของสัญญาณ PWM คุณสามารถปรับความเร็วของมอเตอร์ได้ นี่คือวิธีการแก้ไขโค้ดก่อนหน้าให้รวมการควบคุมความเร็ว:


// Define motor control pins
const int AIN1 = 2;
const int AIN2 = 3;
const int PWM_PIN = 9; // PWM pin for speed control

// Setup function
void setup() {
  // Initialize the motor control pins as outputs
  pinMode(AIN1, OUTPUT);
  pinMode(AIN2, OUTPUT);
  pinMode(PWM_PIN, OUTPUT);
}

// Loop function
void loop() {
  // Set speed to 150 out of 255
  analogWrite(PWM_PIN, 150);

  // Rotate motor forward
  digitalWrite(AIN1, HIGH);
  digitalWrite(AIN2, LOW);
  delay(2000); // Run for 2 seconds

  // Stop the motor
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, LOW);
  delay(1000); // Stop for 1 second

  // Rotate motor backward
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, HIGH);
  delay(2000); // Run for 2 seconds

  // Stop the motor
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, LOW);
  delay(1000); // Stop for 1 second
}

คำอธิบาย: ฟังก์ชัน analogWrite() ส่งสัญญาณ PWM ไปยังมอเตอร์ ทำให้คุณควบคุมความเร็วได้ ค่าสัญญาณมีช่วงตั้งแต่ 0 (หยุด) ถึง 255 (ความเร็วเต็ม)

การใช้งานของ L9110S กับ Arduino

การใช้งานร่วมกันระหว่างโมดูลขับมอเตอร์ L9110S และ Arduino เปิดโอกาสให้สร้างโปรเจกต์ได้หลากหลายประเภท:

  • หุ่นยนต์: ควบคุมการเคลื่อนไหวของแขนหุ่นยนต์หรือหุ่นยนต์เคลื่อนที่ด้วยการควบคุมมอเตอร์อย่างแม่นยำ
  • ระบบออโตเมชัน: ออโตเมชันงานต่างๆ เช่น เปิด/ปิดประตู ปรับวาล์ว หรือเคลื่อนย้ายชิ้นส่วนในสายประกอบ
  • โปรเจกต์ DIY: สร้างโปรเจกต์อิเล็กทรอนิกส์ตามต้องการ เช่น สไลเดอร์กล้องมอเตอร์ ระบบรดน้ำอัตโนมัติ หรือยานยนต์รีโมทคอนโทรล
  • เครื่องมือการสอน: สอนนักเรียนเกี่ยวกับการควบคุมมอเตอร์ อิเล็กทรอนิกส์ และการเขียนโปรแกรมผ่านการลงมือทำ

สรุป

โมดูลขับมอเตอร์ L9110S เป็นชิ้นส่วนที่หลากหลายและใช้งานง่ายสำหรับทุกคนที่ต้องการควบคุมมอเตอร์ด้วย Arduino ความสามารถแบบช่องคู่รวมกับความเรียบง่ายในการเดินสายและการเขียนโปรแกรม ทำให้เป็นตัวเลือกที่ยอดเยี่ยมทั้งสำหรับผู้เริ่มต้นและผู้ที่มีประสบการณ์ โดยการทำตามขั้นตอนที่อธิบายไว้ในบทความนี้ คุณสามารถผนวกรวมการควบคุมมอเตอร์เข้ากับโปรเจกต์ของคุณได้อย่างรวดเร็วและขยายฟังก์ชันการทำงานของระบบที่ใช้ Arduino

ทดลองปรับความเร็ว มุมหมุน และการประยุกต์ใช้งานต่างๆ เพื่อใช้ประโยชน์จากศักยภาพของโมดูลขับมอเตอร์ L9110S ให้เต็มที่ ขอให้สนุกกับการทดลอง!

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.

แสดงความคิดเห็น