โปรแกรมควบคุมหุ่นยนต์

Slides:



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

คำสั่งควบคุมในโปรแกรม Interactive C
โปรแกรมทดสอบที่1 ทดสอบการแสดงผลข้อความ
บทที่ 2 รหัสควบคุมและการคำนวณ
บทที่ 2 รหัสควบคุมและการคำนวณ
โครงสร้างโปรแกรมภาษา C
อัลกอริทึ่มทำงานวนซ้ำ
สรุปคำสั่ง if(เงื่อนไข)
โดยอาจารย์ศิริพร ศักดิ์บุญญารัตน์ ครูชำนาญการ โรงเรียนมหิดลวิทยานุสรณ์
การเขียนโปรแกรมด้วยคำสั่งเบื้องต้น
ครั้งที่ 8 Function.
การแสดงผล และการรับข้อมูล การแสดงผล และการรับข้อมูล.
ปฎิบัติการที่ ห้า.
Control Statement if..else switch..case for while do-while.
หลักการโปรแกรม 1 Lecture 3: ตัวแปร, นิพจน์คณิตศาสตร์, การคำนวณทางคณิตศาสตร์,การดำเนินการกับสายอักขระ.
การควบคุมทิศทางการทำงาน
LAB # 8 Computer Programming 1
LAB # 4.
Week 15 C Programming.
คำสั่งเพื่อการกำหนดเงื่อนไข
รับและแสดงผลข้อมูล.
NUMBER SYSTEM เลขฐานสิบ (Decimal Number) เลขฐานสอง (Binary Number)
คำสั่งวนซ้ำ (Looping)
คำสั่งควบคุมการทำงาน
การประกาศตัวแปร “ตัวแปร” คือสิ่งที่เราสร้างขึ้นมาเพื่อใช้เก็บค่าต่างๆและอ้างอิงใช้งานภายในโปรแกรม ตามที่เรากำหนดขึ้น การสร้างตัวแปรขึ้นมาเราเรียกว่า.
C Programming Lecture no. 6: Function.
การควบคุมทิศทางการทำงานของโปรแกรม
1 นายทินวัฒน์ พงษ์ทองเมือง. 2 การเปิดให้ Program ทำงาน 3  p:\xampplite\ xampplite-control.exe  Start Apache.
หน่วยที่ 1 พื้นฐานภาษา C
แผงวงจรพ่วง (Peripheral Board)
หน่วยที่ 4: คำสั่งควบคุมโปรแกรม (Control Flow Command)
คำสั่งควบคุมการทำงาน
Flow Control.
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 15 มิถุนายน 2550 Structure Programming มหาวิทยาลัยเนชั่น.
การเขียนโปรแกรมภาษาซี
Chapter 5 คำสั่งควบคุมการทำซ้ำ
Chapter 4 คำสั่งควบคุมทิศทาง
Chapter 6 Decision Statement
ตัวแปรกับชนิดของข้อมูล
การสร้างฟังก์ชั่นเพื่อพัฒนาโปรแกรม Interactive C
ฟังก์ชั่น digital ทำหน้าที่อ่านค่าลอจิกจากเซนเซอร์
ครูรัตติยา บุญเกิด.
ตอนที่ 4 ความรู้พื้นฐานทางดิจิตอล
คำสั่ง while และ do…while
การใช้คำสั่ง เงื่อนไข การเขียนเว็บเพจโดยใช้ ภาษาสคริปต์ ศูนย์คอมพิวเตอร์โรงเรียนปลวกแดงพิทยาคม.
ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
คำสั่ง for ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
การใช้บอร์ดควบคุมสำหรับ Robot 35 in 1
การต่อวงจรบนแผ่นโพโตบอร์ด
การรับและพิมพ์ข้อมูลเบื้องต้น
โดย อ. นัฐพงศ์ ส่งเนียม Do Loop Until โดย อ. นัฐพงศ์ ส่งเนียม
ทบทวน กันก่อน .....กระบวนการแปลโปรแกรม
การประมวลผลสายอักขระ
Week 7 การเขียนโปรแกรมเบื้องต้น
คำสั่งควบคุมขั้นตอน Flow control statements
2 /* ข้อความนี้เป็นเพียงคำอธิบาย ไม่มีผลต่อขั้นตอนการ ทำงานของโปรแกรม */ /* A simple program to display a line of text */ #include void main ( ) { printf.
การใช้คำสั่งเงื่อนไข
โครงสร้างภาษาซี #include <stdio.h> void main() {
อัลกอริทึ่มทำงานวนซ้ำ
โครงสร้างโปรแกรมภาษาซี
หลักสูตรการบำรุงรักษาระบบโทรศัพท์
บทที่ 5 ขับเคลื่อนหุ่นยนต์ IPST-BOT
หลักการเคลื่อนที่ของหุ่นยนต์
บทที่ 7 เงื่อนไขในภาษาซี
CONDITION Computer Programming Asst. Prof. Dr. Choopan Rattanapoka.
บทที่ 5 รหัสควบคุมและ การคำนวณ C Programming C-Programming.
บทที่ 6 IPST-BOT กับการหลบหลีก สิ่งกีดขวางแบบสัมผัส
ตัวแปร และชนิดข้อมูล.
การเขียนโปรแกรม (ภาษาซี)
Powerpoint Templates Page 1 Powerpoint Templates Selection Structure โครงสร้างการทำงานแบบทางเลือก.
ใบสำเนางานนำเสนอ:

โปรแกรมควบคุมหุ่นยนต์ AX-11 Board โปรแกรมควบคุมหุ่นยนต์ ครูศิริขวัญ วงค์ชุมพันธ์ (ครูดุ่ย) http://www.chiangkham.ac.th/krudui

บอร์ด AX-11, โปรแกรม Interactive C

การดาวน์โหลดโปรแกรมควบคุมหลักหรือเฟิร์มแวร์ (firmware) หนังสือสีม่วง หน้า 15 - 19 (ทำเมื่อต้องการ reset โปรแกรมใหม่ หรือเมื่อขาดไฟเลี้ยงที่บอร์ดหรือแบตเตอร์รี่หมด)

ฟังก์ชั่นแสดงผลที่โมดูล LCD ใช้ฟังก์ชั่น printf แสดงผลได้เพียง 2 บรรทัดเท่านั้น หากตั้งการขึ้นบรรทัดใหม่ \n ใช้งานร่วมกับอักขระพิเศษ %d รับค่าและแสดงผลเป็นตัวเลข int ฐานสิบ (decimal) %x รับค่าและแสดงผลเป็นตัวเลข int ฐานสิบหก (hexadecimal) %b รับค่าและแสดงผลเป็นตัวเลข int ฐานสอง (binary) %c รับค่าและแสดงผลเป็นตัวอักขระ รหัสเอสกี (ASCII) %f รับค่าและแสดงผลเป็นจำนวนจริง (floating point) %s รับค่าและแสดงผลเป็นกลุ่มตัวอักขระ (อะเรย์) (string)

void main(void) { printf(“Hello World”); } ตัวอย่างโปรแกรม void main(void) { printf(“Hello World”); }

void main(void) { printf(“Hello World\n”); } ตัวอย่างโปรแกรม void main(void) { printf(“Hello World\n”); }

void main(void) { int x; x=26; printf(“Value is %d\n”,x); } ตัวอย่างโปรแกรม void main(void) { int x; x=26; printf(“Value is %d\n”,x); }

void main(void) { int x; x=26; printf(“Value is %x\n”,x); } ตัวอย่างโปรแกรม void main(void) { int x; x=26; printf(“Value is %x\n”,x); }

void main(void) { int x; x=26; printf(“Value is %b\n”,x); } ตัวอย่างโปรแกรม void main(void) { int x; x=26; printf(“Value is %b\n”,x); }

ฟังก์ชั่นสร้างสัญญาณเสียงและการหน่วงเวลา ฟังก์ชั่น beep void main(void) { beep(); } เป็นการสร้างสัญญาณเสียงความถี่ 500 Hz 1 ครั้ง นาน 0.3 วินาที

ฟังก์ชั่นสร้างสัญญาณเสียงและการหน่วงเวลา ฟังก์ชั่น tone void main(void) { tone(800.0,0.1); } เป็นการสร้างสัญญาณเสียงความถี่ 800 Hz 1 ครั้ง นาน 0.1 วินาที

ฟังก์ชั่นสร้างสัญญาณเสียงและการหน่วงเวลา ฟังก์ชั่น sleep void main(void) { beep(); sleep(0.5); } เป็นการหน่วงเวลา 0.5 วินาที

ตัวอย่างโปรแกรมการสร้างเสียงที่ความถี่ต่างๆ void main(void) { float freq=100.0; while(!(freq>3000.0)) printf(“Freq .%f Hertz\n”,freq); tone(freq,0.1); freq += 100.0; sleep(1.0); } beep(); printf(“Stop\n”);

ฟังก์ชั่นเกี่ยวกับการขับมอเตอร์ไฟตรง ฟังก์ชั่น fd (forward) (จ่ายไฟแบบตรงขั้ว หรือเดินหน้า) void main(void) { fd(1); } เดินหน้า จ่ายไฟตรงขั้วเพื่อขับมอเตอร์ 1 ให้หมุน 50% ของกำลังขับสูงสุด LED สีเขียวจะติด (มอเตอร์มีได้ 4 ค่า คือ 0, 1, 2, 3

ฟังก์ชั่นเกี่ยวกับการขับมอเตอร์ไฟตรง ฟังก์ชั่น bk (backward) (จ่ายไฟแบบกลับขั้ว หรือถอยหลัง) void main(void) { bk(1); } ถอยหลัง จ่ายไฟกลับขั้วเพื่อขับมอเตอร์ 1 ให้หมุน 50% ของกำลังขับสูงสุด LED สีแดงจะติด (มอเตอร์มีได้ 4 ค่า คือ 0, 1, 2, 3

ฟังก์ชั่นเกี่ยวกับการขับมอเตอร์ไฟตรง ฟังก์ชั่น motor (ควบคุมความเร็วและทิศทางเอง) void main(void) { motor(0,100); } เดินหน้า จ่ายไฟตรงขั้วเพื่อขับมอเตอร์ 0 ให้หมุน 100% ของกำลังขับสูงสุด

ฟังก์ชั่นเกี่ยวกับการขับมอเตอร์ไฟตรง ฟังก์ชั่น motor (ควบคุมความเร็วและทิศทางเอง) void main(void) { motor(1,-50); } ถอยหลัง จ่ายไฟกลับขั้วเพื่อขับมอเตอร์ 1 ให้หมุน 50% ของกำลังขับสูงสุด

ฟังก์ชั่นเกี่ยวกับการขับมอเตอร์ไฟตรง ฟังก์ชั่น off (หยุดการขับมอเตอร์ไฟตรง) void main(void) { off(1); } หยุด หยุดการขับมอเตอร์ช่อง 1 (มีได้ 4 ค่า คือ 0, 1, 2, 3)

ฟังก์ชั่นเกี่ยวกับการขับมอเตอร์ไฟตรง ฟังก์ชั่น ao หรือ alloff (หยุดการขับมอเตอร์ทั้งหมด) void main(void) { ao(); } หยุดทุกช่อง หยุดการขับมอเตอร์ทุกช่องพร้อมกัน (ตั้งแต่ช่อง 0 ถึง 3)

ตัวอย่างโปรแกรมการขับมอเตอร์ไฟตรงอย่างง่าย void main(void) { printf(“Motor test\n”); while(1) fd(0); sleep(3.0); beep(); bk(0); }

ฟังก์ชั่นเกี่ยวกับอินพุตอะนาลอกและดิจิตอล ฟังก์ชั่น analog void main(void) { while(1) int result; result=analog(5); printf(“analog5 = %d\n”,result); sleep(0.1); } ต่อช่อง Al5 สามารถต่อเข้ากับช่องอินพุตอะนาลอกได้ทั้ง 21 ช่อง คือ Al2-Al6 และ Al16-Al31 ค่าที่ได้จะอยู่ระหว่าง 0-255 เท่านั้น

ฟังก์ชั่นเกี่ยวกับอินพุตอะนาลอกและดิจิตอล ฟังก์ชั่น knob (ตัวต้านทาน) void main(void) { while(1) int result; result=knob(); printf(“knob = %d\n”,result); sleep(0.1); } ค่าที่ได้จะอยู่ระหว่าง 0-255 เท่านั้น

ฟังก์ชั่นเกี่ยวกับอินพุตอะนาลอกและดิจิตอล ฟังก์ชั่น digital void main(void) { while(1) int result; result=digital (15); printf(“digital15 = %d\n”,result); sleep(0.1); } ต่อช่อง IN-15 สามารถต่อเข้ากับช่องอินพุตดิจิตอลได้ทั้ง 9 ช่อง คือ IN-7 ถึง IN-15 ค่าที่ได้มีแค่ 0 หรือ 1 เท่านั้น

ฟังก์ชั่นของสวิตซ์ START และ STOP ฟังก์ชั่น start_button void main(void) { while(1) while(!start_button()); beep(); sleep(0.1); } กด start ค้างไว้ ถ้าสวิตซ์ start ถูกกด มีผลลัพธ์เป็น 1 , ถ้าไม่ถูกกด มีผลลัพธ์เป็น 0

ฟังก์ชั่นของสวิตซ์ START และ STOP ฟังก์ชั่น start_button void main(void) { while(1) while(!start_button()); while(start_button()); beep(); sleep(0.1); } กด start แล้วปล่อย ถ้าสวิตซ์ start ถูกกด มีผลลัพธ์เป็น 1 , ถ้าไม่ถูกกด มีผลลัพธ์เป็น 0

ฟังก์ชั่นของสวิตซ์ START และ STOP ฟังก์ชั่น start_press void main(void) { while(1) start_press(); beep(); sleep(0.1); } กด start แล้วปล่อย ถ้าสวิตซ์ start ถูกกด มีผลลัพธ์เป็น 1 , ถ้าไม่ถูกกด มีผลลัพธ์เป็น 0

ฟังก์ชั่นของสวิตซ์ START และ STOP ฟังก์ชั่น stop_button void main(void) { while(1) while(!stop_button()); beep(); sleep(0.1); } กด stop ค้างไว้ ถ้าสวิตซ์ stop ถูกกด มีผลลัพธ์เป็น 1 , ถ้าไม่ถูกกด มีผลลัพธ์เป็น 0

ฟังก์ชั่นของสวิตซ์ START และ STOP ฟังก์ชั่น stop_button void main(void) { while(1) while(!stop_button()); while(stop_button()); beep(); sleep(0.1); } กด stop แล้วปล่อย ถ้าสวิตซ์ stop ถูกกด มีผลลัพธ์เป็น 1 , ถ้าไม่ถูกกด มีผลลัพธ์เป็น 0

ฟังก์ชั่นของสวิตซ์ START และ STOP ฟังก์ชั่น stop_press void main(void) { while(1) stop_press(); beep(); sleep(0.1); } กด stop แล้วปล่อย ถ้าสวิตซ์ stop ถูกกด มีผลลัพธ์เป็น 1 , ถ้าไม่ถูกกด มีผลลัพธ์เป็น 0

คำสั่งตรวจสอบเงื่อนไข คำสั่ง if ต่อช่อง IN-15 void main(void) { while(1) int x=digital(15); if(x==1) fd(0); sleep(0.1); } ต่อช่อง m-0 ถ้ามีการกดปุ่มสวิตซ์ เงื่อนไขเป็นจริง หรือ 1 มอเตอร์ 0 เดินหน้า ถ้าไม่กดออก

คำสั่งตรวจสอบเงื่อนไข คำสั่ง if-else ต่อช่อง IN-15 void main(void) { while(1) int x=digital(15); if(x==1) fd(0); sleep(0.1); }else bk(0); } ต่อช่อง m-0 ถ้ามีการกดปุ่มสวิตซ์ เงื่อนไขเป็นจริง หรือ 1 มอเตอร์ 0 เดินหน้า ถ้าไม่กดเงื่อนไขเท็จ ถอยหลัง