บทที่ 5 ขับเคลื่อนหุ่นยนต์ IPST-BOT

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
1. ประกอบโครงสร้างหุ่นยนต์. (ใช้เวลาประมาณ 2 ชั่วโมง)
Advertisements

โปรแกรมภาษาโลโก (logo)
โปรแกรมทดสอบที่1 ทดสอบการแสดงผลข้อความ
การงานอาชีพและเทคโนโลยี เรื่อง อุปกรณ์คอมพิวเตอร์
โปรแกรมควบคุมหุ่นยนต์
การเขียนโปรแกรมด้วยคำสั่งเบื้องต้น
COE : Microcat.
นายนฤนารถ อออิงทรัพย์
Low-speed UAV Flight Control Phase II
Computer Programming 1 LAB Test 3
คำสั่ง while และ คำสั่ง do..while
การเรียงลำดับข้อมูล(Sorting)
Control Statement for while do-while.
การโปรแกรมควบคุมแบบทำงานซ้ำ
ขั้นตอนการฝึกความคิดด้านการคิดวิเคราะห์
COE : Microcat. ผู้พัฒนาโครงการ นาย สราวุฒิ สมญาติ อาจารย์ที่ปรึกษา อ. บุญฤทธิ์ กู้เกียรติ กูล อาจารย์ร่วมประเมิน อ. วสุ เชาว์พานนท์ อ. ดารณี หอมดี
เตรียมการก่อนเขียนโปรแกรมควบคุมหุ่นยนต์เดินตามเส้น
LAB # 4 Computer Programming 1 1. พิจารณาโปรแกรมต่อไปนี้
LAB # 4.
อสมการ.
บทที่ 2 หลักการแก้ปัญหา
คำสั่งเพื่อการกำหนดเงื่อนไข
รับและแสดงผลข้อมูล.
MAGNATICALLY COUPLED CIRCUITS
อ.อรวรรณ เชาวลิต For คำสั่งวนซ้ำ อ.อรวรรณ เชาวลิต
ฟังก์ชั่น function.
คำสั่งวนซ้ำ (Looping)
ปฏิบัติการครั้งที่ 9 ฟังก์ชัน.
บทที่ 1. พื้นฐานความรู้ทั่วไป
การประกาศตัวแปร “ตัวแปร” คือสิ่งที่เราสร้างขึ้นมาเพื่อใช้เก็บค่าต่างๆและอ้างอิงใช้งานภายในโปรแกรม ตามที่เรากำหนดขึ้น การสร้างตัวแปรขึ้นมาเราเรียกว่า.
DS30M DUAL FEED GUN.
การซ่อมบำรุงไมโครคอมพิวเตอร์ (Intro.)
การใช้ภาษาซี มาสั่งงานผ่านพอร์ตพริ้นเตอร์
ป้ายบังคับ หยุด ให้ทาง ให้รถสวนทางมาก่อน ห้ามแซง ห้ามเข้า ห้ามเข้า
หน่วยที่ 1 พื้นฐานภาษา C
การทดลองที่ 9 Loops (วงวน) การทดลองที่ 9 Loops (วงวน)
บทที่ 4 อัลกอริทึมแบบเรียงลำดับ (Sequential Algorithm)
การสร้างฟังก์ชั่นเพื่อพัฒนาโปรแกรม Interactive C
คำสั่ง while และ do…while
คำสั่ง for ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
หุ่นยนต์สุดฮิต 35 แบบ สร้างเองได้ทันที
การใช้บอร์ดควบคุมสำหรับ Robot 35 in 1
หน่วยที่ 15 การติดตั้ง จานรับสัญญาณ ดาวเทียม. ห.
การส่งกำลัง และการตรวจซ่อม กระปุกเกียร์ขับ 4 ล้อ
การควบคุมมอเตอร์ด้วยอุปกรณ์อิเล็กทรอนิกส์
การควบคุมหุ่นยนต์โดยใช้ตัวตรวจจับ
การต่อวงจรบนแผ่นโพโตบอร์ด
ภาษาโลโก เป็นภาษาคอมพิวเตอร์ระดับสูงที่เหมาะสำหรับใช้ในการเรียนรู้ พัฒนาสติปัญญา และความคิดสร้างสรรค์ ช่วยให้นักเรียนเข้าใจหลักการการเขียนโปรแกรม ผู้เขียนโปรแกรมจะสามารถลองผิดลองถูก.
หลักการโปรแกรมเบื้องต้น
Week 10 การเขียนโปรแกรมเบื้องต้น #2
Computer Programming for Engineers
Debugging in VC Computer Programming for Engineers.
วิชา COSC2202 โครงสร้างข้อมูล (Data Structure)
การโปรแกรมPLC.
ภาษาโลโก(Logo).
การตั้งค่า Mouse.
Software Packages in Business (Unit 5)
บทที่ 2 การวิเคราะห์อัลกอริทึม
งานเครื่องล่างรถยนต์
หลักการเคลื่อนที่ของหุ่นยนต์
บทที่ 9 การสร้างและใช้ งานฟังก์ชั่น C Programming C-Programming.
บทที่ 6 IPST-BOT กับการหลบหลีก สิ่งกีดขวางแบบสัมผัส
Microsoft Access Lesson 2 1 Microsoft Access (Lesson 2) อาจารย์อุทัย เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร วิทยาเขต สารสนเทศพะเยา.
บทที่ 3 การพัฒนาโปรแกรมภาษา C สำหรับชุดหุ่นยนต์ IPST-BOT
ผังงาน (Flow chart).
การรับและแสดงผลข้อมูล (Input/Output)
บทที่ 10 การจัดการไฟล์ อาจารย์ศศลักษณ์ ทองขาว สงวนลิขสิทธิ์ © 2547 มหาวิทยาลัยราช ภัฏสงขลา C Programming C-Programming.
การทำซ้ำ Pisit Nakjai.
หลักการโปรแกรมเบื้องต้น
ส่วนประกอบของคอมพิวเตอร์
ใบสำเนางานนำเสนอ:

บทที่ 5 ขับเคลื่อนหุ่นยนต์ IPST-BOT 208 บทที่ 5 ขับเคลื่อนหุ่นยนต์ IPST-BOT

การจัดการควบคุมมอเตอร์ไฟตรงของหุ่นยนต์ IPST-BOT 209 การจัดการควบคุมมอเตอร์ไฟตรงของหุ่นยนต์ IPST-BOT

การกำหนดตำแหน่งของมอเตอร์สำหรับหุ่นยนต์ IPST-BOT 210 การกำหนดตำแหน่งของมอเตอร์สำหรับหุ่นยนต์ IPST-BOT

การทดลองที่ 1 (ทดสอบการขับและทิศทางการหมุนของชุดเฟืองขับมอเตอร์ไฟตรง) 211 การทดลองที่ 1 (ทดสอบการขับและทิศทางการหมุนของชุดเฟืองขับมอเตอร์ไฟตรง) การเชื่อมต่อทางฮาร์ดแวร์ ต่อชุดเฟืองมอเตอร์ไฟตรงเข้ากับจุดต่อ M1 และ M2 ของแผงวงจร Display-MOTOR โดยมอเตอร์ที่ต่อกับจุด M1 เป็นมอเตอร์ทางซ้าย และมอเตอร์ที่ต่อกับจุด M2 เป็นมอเตอร์ทางขวา

#include <motor.h> void main() { motor(1,80); motor(2,80); } 212 โปรแกรมการทดลองที่ 1 (motor_test.c) ทดสอบการทำงานของวงจรขับมอเตอร์ไฟตรงของหุ่นยนต์ IPST-BOT #include <motor.h> void main() { motor(1,80); motor(2,80); } เมื่อทดสอบการทำงานของวงจรขับมอเตอร์ไฟตรงพบว่าหุ่นยนต์ไม่เคลื่อนที่ตรงไปข้างหน้า ให้ทดลองสลับขั้วสายสัญญาณของมอเตอร์แต่ละตัว จนกระทั่งหุ่นยนต์เคลื่อนที่ตรงไปข้างหน้า

การสร้างฟังก์ชั่น การขับเคลื่อนหุ่นยนต์พื้นฐาน 213 การสร้างฟังก์ชั่น การขับเคลื่อนหุ่นยนต์พื้นฐาน

1.ฟังก์ชั่นขับเคลื่อนหุ่นยนต์ให้เคลื่อนที่ตรงไปข้างหน้า 214 1.ฟังก์ชั่นขับเคลื่อนหุ่นยนต์ให้เคลื่อนที่ตรงไปข้างหน้า หลักการ เกิดจากล้อมอเตอร์ทั้งสองด้านถูกขับไปข้างหน้า ด้วยคำสั่ง motor กำลังเป็นบวกทั้งคู่ #define POW 70 void forward(unsigned int delay) { motor(1,POW); motor(2,POW); sleep(delay); }

2.ฟังก์ชั่นขับเคลื่อนหุ่นยนต์ถอยหลังตรง 215 2.ฟังก์ชั่นขับเคลื่อนหุ่นยนต์ถอยหลังตรง หลักการ เกิดจากล้อมอเตอร์ทั้งสองด้านถูกขับไปข้างหน้า ด้วยคำสั่ง motor กำลังเป็นลบทั้งคู่ #define POW 70 void backward(unsigned int delay) { motor(1,-POW); motor(2,-POW); sleep(delay); }

3.ฟังก์ชั่นขับเคลื่อนหุ่นยนต์เลี้ยวซ้าย 216 3.ฟังก์ชั่นขับเคลื่อนหุ่นยนต์เลี้ยวซ้าย หลักการ เกิดจากมอเตอร์ล้อด้านซ้ายถูกขับไปข้างหลัง และมอเตอร์ล้อด้านขวาถูกขับไปข้างหน้า #define POW 70 void turn_left(unsigned int delay) { motor(1,-POW); motor(2,POW); sleep(delay); }

4.ฟังก์ชั่นขับเคลื่อนหุ่นยนต์เลี้ยวขวา 217 4.ฟังก์ชั่นขับเคลื่อนหุ่นยนต์เลี้ยวขวา หลักการ เกิดจากมอเตอร์ล้อด้านซ้ายถูกขับไปข้างหน้า และมอเตอร์ล้อด้านขวาถูกขับไปข้างหลัง #define POW 70 void turn_right(unsigned int delay) { motor(1,POW); motor(2,-POW); sleep(delay); }

5.ฟังก์ชั่นหยุดหุ่นยนต์ 218 5.ฟังก์ชั่นหยุดหุ่นยนต์ หลักการ เกิดจากมอเตอร์ล้อด้านซ้ายและด้านขวาถูกหยุดขับพร้อมกันทั้งคู่ ด้วยคำสั่ง motor_stop #define POW 70 void pause() { motor_stop(1); motor_stop(2); }

การทดลองที่ 2 (ทดสอบขับเคลื่อนหุ่นยนต์ IPST-BOT แบบพื้นฐาน) 219 การทดลองที่ 2 (ทดสอบขับเคลื่อนหุ่นยนต์ IPST-BOT แบบพื้นฐาน) การเชื่อมต่อทางฮาร์ดแวร์ ต่อชุดเฟืองมอเตอร์ไฟตรงเข้ากับจุดต่อ M1 และ M2 ของแผงวงจร Display-MOTOR โดยมอเตอร์ที่ต่อกับจุด M1 เป็นมอเตอร์ทางซ้าย และมอเตอร์ที่ต่อกับจุด M2 เป็นมอเตอร์ทางขวา

220 โปรแกรมทดสอบหุ่นยนต์ที่ 2 (robo_basic.c) ทดสอบขับเคลื่อนหุ่นยนต์ไปข้างหน้า 2 วินาที แล้วเลี้ยวซ้าย 0.5 วินาที สลับไปมา #include <motor.h> #include <sleep.h> #include <in_out.h> #include <lcd.h> #define POW 70 void forward(unsigned int delay) { motor(1,POW); motor(2,POW); sleep(delay); } void turn_left(unsigned int delay) motor(1,-POW); void main() { lcd("Press SW1"); sw1_press(); while(1) forward(2000); turn_left(500); }