วันพุธที่ 15 สิงหาคม พ.ศ. 2555

การขับเคลื่อนหุ่นยนต์เบื้องต้น


หุ่นยนต์จะประกอบด้วยมอเตอร์ 2 ตัวทำหน้าที่ในการขับเคลื่อนหุ่นยนต์
มอเตอร์ M1 จะอยู่ทางซ้ายของหุ่นยนต์  ,  มอเตอร์ M2 จะอยู่ทางขวาของหุ่นยนต์

ฟังก์ชั่นที่ใช้ในการควบคุมมอเตอร์
1.void motor(char _channel , int _power);
2.void motor_stop(char _channel);

1.void motor(char _channel , int _power);

พารามิเตอร์ _channel     ทำหน้าที่กำหนดช่องของมอเตอร์ที่ต้องการขับ
                                       ช่องที่ 1 มอเตอร์ทางซ้ายของหุ่นยนต์
                                       ช่องที่ 2 มอเตอร์ทางขวาของหุ่นยนต์
                _power       ทำหน้าที่กำหนดกำลังขับมอเตอร์  มีค่า -100  ถึง 100
                                       ถ้ากำหนด 1 ถึง 100 จะทำให้มอเตอร์หมุนไปข้างหน้า    แต่ถ้ากำหนดค่า _power ให้มีค่าเป็นลบ (-1 ถึง -100)จะทำให้มอเตอร์หมุนไปข้างหลัง

2.void motor_stop(char _channel);
พารามิเตอร์ _channel     ทำหน้าที่กำหนดช่องของมอเตอร์ที่ต้องการจะหยุด
                          1   หยุดมอเตอร์ M1
                          2   หยุดมอเตอร์ M2
                          0   หยุดมอเตอร์ M1 และ M2


ตัวอย่าง 1 สร้างฟังก์ชั่น go เพื่อสั่งให้หุ่นยนต์เดินหน้าด้วยพลังงาน 50 % และเวลา 1000 มิลลิวินาที
รูปแบบดังนี้













วิดีโอตัวอย่าง

4 ความคิดเห็น:

  1. ไม่ระบุชื่อ22 พฤษภาคม 2557 05:20

    ทำตามแล้วมันไม่ไปคับ

    ตอบลบ
  2. ไม่ระบุชื่อ11 พฤศจิกายน 2557 23:36

    ใช่คับไม่ขยับเลย

    ตอบลบ
  3. ขอโทษนะครับ ไม่ได้อัพเดตมานาน จากตัวอย่างนี้เป็นตัวอย่างการเขียนแบบเก่าซึ่งเป็นโครงสร้างซีทั่วไป
    แต่ตัวโปรแกรมที่ให้ดาวน์โหลดเป็นเวอร์ชั่นใหม่ ใช้รูปแบบการเขียนเป็น C แบบ Arduino ครับ จากตัวอย่าง
    แปลงรูปแบบโค๊ดได้ดังนี้ครับ

    void setup()
    {
    go(50,1000);
    }
    void loop()
    {

    }

    void go(int p , int t)
    {
    motor(1,p);
    motor(2,p);
    sleep(t);
    }

    ตอบลบ

...