1 / 106

แนะนำแผงวงจรหลัก MicroBOX

แนะนำแผงวงจรหลัก MicroBOX. เครื่องมือในการพัฒนาโปรแกรมควบคุมการทำงาน MicroBOX

penda
Download Presentation

แนะนำแผงวงจรหลัก MicroBOX

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. แนะนำแผงวงจรหลัก MicroBOX

  2. เครื่องมือในการพัฒนาโปรแกรมควบคุมการทำงาน MicroBOX ประกอบด้วยชุดซอร์ฟแวร์พัฒนาโปรแกรมภาษา C สำหรับไมโครคอนโทรลเลอร์ AVR ในแบบโอเพ่นซอร์ส(Open Source) ซึ่งสามารถนำมาใช้งานได้โดยไม่มีค่าใช้จ่าย และอีกส่วนหนึ่งคือไลบรารีภาษา C สนับสนุนควบคุมการทำงาน MicroBOX เพื่อประยุกต์สร้างหุ่นยนต์ สำหรับในการติดเครื่องมือในการพัฒนาโปรแกรมควบคุมการ MicroBOX ในการประยุกต์สร้างหุ่นยนต์ผู้พัฒนาจำเป็นต้องติดตั้งเครื่องมือ 4 ตัวดังต่อไปนี้

  3. 1.AVR Studioทำหน้าที่เป็นเท็กซ์เอดิเตอร์สำหรับการสร้างไฟล์โปรเจ็กต์และไฟล์ซอร์สโค้ดภาษา C 2.WinAVRทำหน้าที่เป็นซอร์ฟแวร์ตัวแปลโปรแกรมภาษา C(C Compiler)เพื่อให้ได้ไฟล์นามสกุล .hex นำไปเขียนลงในหน่วยความจำโปรแกรมของไมโครคอนโทรลเลอร์ในแผงวงจรควบคุมหลักต่อไป

  4. หน้าตาของโปรแกรม AVR Studio

  5. 3.ไลบรารีภาษา Cสนับสนุนการทำงาน MicroBOX สำหรับประยุกต์สร้างหุ่นยนต์ซึ่งจะช่วยอำนวยความสะดวกในการพัฒนาโปรแกรม โดยปรับปรุงจากไฟล์ไลบรารีของชุดกล่องสมองกล IPST-MicroBOX โดยกลุ่มของไฟล์ไลบรารีเหล่านี้ถูกจัดเก็บไว้ในโฟลวเดอร์ robot_includeซึ่งบรรจุอยู่ใน CD-ROM ที่มาพร้อมกับชุดหุ่นยนต์ หรือดาวน์โหลดได้จาก www.ipst-microbox.com

  6. ชุดไลบรารีภาษา C สนับสนุนการทำงาน MicroBOX สำหรับชุดพัฒนาหุ่นยนต์

  7. 4.ไดเวอร์ USB สำหรับเครื่องโปรแกรม PX-4000 ซึ่งบรรจุอยู่ใน CD-ROM ที่มาพร้อมกับชุดหุ่นยนต์

  8. การเชื่อมต่อเครื่องโปรแกรม PX-4000 ระหว่างบอร์ดควบคุมหุ่นยนต์และคอมพิวเตอร์

  9. ทดสอบใช้งาน ZX-LED

  10. แผงวงจร LED: ZX-LED คุณสมบัติทางเทคนิค ใช้ LED กลมขนาดเส้นผ่านศูนย์ กลาง 10 มิลลิเมตร พร้อมวงจรขับ ใช้ไฟเลี้ยง +5V กระแสไฟฟ้าสูงสุด 20mA

  11. ไลบรารีและชุดคำสั่งที่แนะนำไลบรารีและชุดคำสั่งที่แนะนำ ไลบรารี in_out.h เป็นไลบรารีที่บรรจุชุดคำสั่งอ่านและเขียนข้อมูลอินพุตและเอาต์พุตของพอร์ตไมโครคอนโทรลเลอร์ ก่อนเรียกใช้งานฟังก์ชั่นที่บรรจุอยู่ภายในผู้พัฒนาจะต้องทำการผนวกไฟล์ไลบรารีไว้ที่ตอนต้นของโปรแกรมภาษา C ด้วยคำสั่ง #include <in_out.h>

  12. ฟังก์ชั่นที่แนะนำในหัวข้อนี้ฟังก์ชั่นที่แนะนำในหัวข้อนี้ ฟังก์ชั่นout_a : กำหนดค่าสัญญาณดิจิตอลที่พอร์ต A out_b: กำหนดค่าสัญญาณดิจิตอลที่พอร์ต B out_c : กำหนดค่าสัญญาณดิจิตอลที่พอร์ต C out_d : กำหนดค่าสัญญาณดิจิตอลที่พอร์ต D รูปแบบvoid out_a(char _bit,char _dat); void out_b(char _bit,char _dat); void out_c(char _bit,char _dat); void out_d(char _bit,char _dat);

  13. พารามิเตอร์_bitใช้กำหนดขาพอร์ตที่ต้องการในช่วง 0 ถึง 7 _datใช้กำหนดค่าข้อมูลดิจิตอลที่ต้องการอาจ มีค่าเป็น 0 หรือ 1

  14. ฟังก์ชั่น toggle_a: กลับค่าสัญญาณดิจิตอลที่พอร์ต A toggle_b : กลับค่าสัญญาณดิจิตอลที่พอร์ต B toggle_c : กลับค่าสัญญาณดิจิตอลที่พอร์ต C toggle_d : กลับค่าสัญญาณดิจิตอลที่พอร์ต D รูปแบบ void toggle_a(char _bit); void toggle_b(char _bit); void toggle_c(char _bit); void toggle_d(char _bit); พารามิเตอร์_bitใช้กำหนดขาพอร์ตที่ต้องการในช่วง 0 ถึง 7

  15. ไลบรารี sleep.h เป็นไลบรารีที่บรรจุชุดคำสั่งในการหน่วงเวลา ก่อนเรียกใช้งานฟังก์ชั่นที่บรรจุอยู่ภายใน ผู้พัฒนาจะต้องทำการผนวกไฟล์ไลบรารีไว้ที่ตอนต้นของโปรแกรมภาษา C ด้วยคำสั่ง #include <sleep.h> ฟังก์ชั่นsleep : สำหรับหน่วงเวลาในหน่วยมิลลิวินาที รูปแบบvoid sleep(unsigned int ms); พารามิเตอร์msใช้กำหนดค่าเวลาที่ต้องการหน่วงในหน่วย มิลลิวินาที(เป็นค่าประมาณ)

  16. การทดลองที่ 1-5 การเชื่อมต่อทางฮาร์ดแวร์ ต่อ ZX-LED เข้ากับพอร์ต PD7

  17. โปรแกรมการทดลองที่ 1(led_01.c) สั่งให้ LED ติด ที่พอร์ต PD7 #include <in_out.h> void main() { out_d(7,1); }

  18. โปรแกรมการทดลองที่ 2(led_02.c) สั่งให้ LED ดับ ที่พอร์ต PD7 #include <in_out.h> void main() { out_d(7,0); }

  19. โปรแกรมการทดลองที่ 3(led_03.c)สั่งให้ LED ที่พอร์ต PD7 ติดนานประมาณ 5 วินาที แล้วดับ #include <in_out.h> #include <sleep.h> void main() { out_d(7,1); sleep(5000); out_d(7,0); }

  20. โปรแกรมการทดลองที่ 4(led_04.c) สั่งให้ LED ที่พอร์ต PD7 กระพริบทุกๆ 0.5 วินาที #include <in_out.h> #include <sleep.h> void main() { while(1) { out_d(7,1); sleep(500); out_d(7,0); sleep(500); } }

  21. โปรแกรมการทดลองที่ 5(led_05.c)สั่งให้ LED กระพริบทุกๆ 0.5 วินาที ด้วยคำสั่ง toggle #include <in_out.h> #include <sleep.h> void main() { while(1) { toggle_d(7); sleep(500); } }

  22. ทดสอบใช้งาน ZX-SPEAKER

  23. แผงวงจรลำโพงเปียโซ: ZX-SPEAKER คุณสมบัติทางเทคนิค ใช้ลำโพงมีอิมพีแดนซ์ 32 โอห์ม มีค่าถี่เรโซแนนซ์ในย่าน 1 ถึง 3 kHz

  24. ไลบรารีและชุดคำสั่งที่แนะนำไลบรารีและชุดคำสั่งที่แนะนำ ไลบรารี sound.h เป็นไลบรารีที่บรรจุชุดคำสั่งเกี่ยวกับการกำเนิดสัญญาณโดยทำงานร่วมกับแผงวงจร ZX-SPEAKER ก่อนเรียกใช้งานฟังก์ชั่นที่บรรจุอยู่ภายในผู้พัฒนาจะต้องทำการผนวกไฟล์ไลบรารีไว้ที่ตอนต้นของโปรแกรมภาษา C ด้วยคำสั่ง #include <sound.h>

  25. ฟังก์ชั่น sound_a : เลือกกำเนิดเสียงที่ขาพอร์ตใดๆของพอร์ต A sound_b : เลือกกำเนิดเสียงที่ขาพอร์ตใดๆของพอร์ต B sound_c : เลือกกำเนิดเสียงที่ขาพอร์ตใดๆของพอร์ต C sound_d : เลือกกำเนิดเสียงที่ขาพอร์ตใดๆของพอร์ต D รูปแบบ void sound_a(char ch,int freq,int time); void sound_b(char ch,int freq,int time); void sound_c(char ch,int freq,int time); void sound_d(char ch,int freq,int time);

  26. พารามิเตอร์chใช้กำหนดขาพอร์ตที่ต้องการในช่วง 0 ถึง 7 freqใช้กำหนดค่าความถี่ค่าสัญญาณเสียง timeใช้กำหนดช่วงเวลาในการกำเนิด สัญญาณเสียงเป็นจำนวนต็มเท่าของ 0.1 มิลลิวินาที

  27. ฟังก์ชั่น beep_a : เลือกกำเนิดเสียงความถี่ 2 kHz นาน 10 มิลลิวินาทีที่ขาพอร์ตใดๆของพอร์ต A beep_b : เลือกกำเนิดเสียงความถี่ 2 kHz นาน 10 มิลลิวินาทีที่ขาพอร์ตใดๆของพอร์ต B beep_c: เลือกกำเนิดเสียงความถี่ 2 kHz นาน 10 มิลลิวินาทีที่ขาพอร์ตใดๆของพอร์ต C beep_d : เลือกกำเนิดเสียงความถี่ 2 kHz นาน 10 มิลลิวินาทีที่ขาพอร์ตใดๆของพอร์ต D

  28. รูปแบบ void beep_a(char ch); void beep_b(char ch); void beep_c(char ch); void beep_d(char ch); พารามิเตอร์chใช้กำหนดขาพอร์ตที่ต้องการในช่วง 0 ถึง 7

  29. การทดลองที่ 6-7 สร้างสัญญาณเสียงด้วยลำโพงเปียโซ การเชื่อมต่อทางฮาร์ดแวร์ ต่อ SPEAKER เข้ากับพอร์ต PA5

  30. โปรแกรมการทดลองที่ 6(sound_01.c) สร้างสัญญาณเสียงติ๊ดทุกๆ 1 วินาที #include <sound.h> #include <sleep.h> void main() { while(1) { beep_a(5); sleep(1000); } }

  31. โปรแกรมการทดลองที่ 7(sound_02.c) สร้างสัญญาณเสียงความถี่ 800 ช่วง 0.1 วินาที ทุกๆ 1 วินาที #include <sound.h> #include <sleep.h> void main() { while(1) { sound_a(5,800,100); sleep(1000); } }

  32. ทดสอบใช้งาน ZX-SWITCH

  33. แผงวงจรสวิตช์: ZX-SWITCH คุณสมบัติทางเทคนิค ที่ช่อง HIGH ถ้ากดสวิตช์จะส่งลอจิก “1” และไฟสีแดงติด ที่ช่อง LOW ถ้ากดสวิตช์จะส่งลอจิก “0” และไฟสีเขียวติด

  34. ไลบรารีและชุดคำสั่งที่แนะนำไลบรารีและชุดคำสั่งที่แนะนำ ไลบรารี in_out.h เป็นไลบรารีที่บรรจุชุดคำสั่งอ่านและเขียนข้อมูลอินพุตและเอาต์พุตของพอร์ตไมโครคอนโทรลเลอร์ ก่อนเรียกใช้งานฟังก์ชั่นที่บรรจุอยู่ภายในผู้พัฒนาจะต้องทำการผนวกไฟล์ไลบรารีไว้ที่ตอนต้นของโปรแกรมภาษา C ด้วยคำสั่ง #include <in_out.h>

  35. ฟังก์ชั่น in_a : อ่านค่าสัญญาณดิจิตอลจากขาพอร์ตใดๆของพอร์ต A in_b : อ่านค่าสัญญาณดิจิตอลจากขาพอร์ตใดๆของพอร์ต B in_c : อ่านค่าสัญญาณดิจิตอลจากขาพอร์ตใดๆของพอร์ต C in_d: อ่านค่าสัญญาณดิจิตอลจากขาพอร์ตใดๆของพอร์ต D รูปแบบ char in_a(char _bit); char in_b(char _bit); char in_c(char _bit); char in_d(char _bit);

  36. พารามิเตอร์ _bitใช้กำหนดขาพอร์ตที่ต้องการในช่วง 0 ถึง 7 การคืนค่า ฟังก์ชั่นจะทำการคืนค่าสัญญาณดิจิตอลของตำแหน่งขาพอร์ตที่อ่านซึ่งอาจมีค่าเป็น 0 หรือ 1 เท่านั้น

  37. การทดลองที่ 8-9 การเชื่อมต่อทางฮาร์ดแวร์ ต่อ ZX-LED เข้ากับพอร์ต PD7 ต่อ ZX-SWITCH จากช่อง LOW เข้ากับพอร์ต PB4

  38. โปรแกรมการทดลองที่ 8(switch_01.c) LED ติดเมื่อมีการกดสวิตช์/ดับเมื่อปล่อยสวิตช์ #include <in_out.h> #include <sleep.h> void main() { while(1) { if(in_b(4)==0) {out_d(7,1);} else {out_d(7,0);} } }

  39. โปรแกรมการทดลองที่ 9(switch_02.c) ทุกๆครั้งที่มีการกดสวิตช์ LED จะกลับสถานะการติด/ดับ #include <in_out.h> #include <sleep.h> void main() { while(1) { if(in_b(4)==0) { toggle_d(7); sleep(200); } } }

  40. แสดงผลในรูปแบบ 16 * 2 ทดสอบใช้งานโมดูล LCD บนแผงวงจร Display-Motor

  41. แผงวงจรแสดงผลและควบคุมการขับมอเตอร์: Display-Motor

  42. ไลบรารีและชุดคำสั่งที่แนะนำไลบรารีและชุดคำสั่งที่แนะนำ ไลบรารี lcd.h เป็นไลบรารีที่บรรจุชุดคำสั่งเกี่ยวกับการแสดงข้อความที่โมดูล LCD บนแผงวงจร Display-Motor ก่อนเรียกใช้งานฟังก์ชั่นที่บรรจุอยู่ภายในผู้พัฒนาจะต้องทำการผนวกไฟล์ไลบรารีไว้ที่ตอนต้นของโปรแกรมภาษา C ด้วยคำสั่ง #include <lcd.h>

  43. ฟังก์ชั่น lcdหรือ LCD : แสดงข้อความที่โมดูล LCD แบบ 16 ตัวอักขระ 2 บรรทัด รูปแบบ void lcd(char *p,…); พารามิเตอร์ pใช้กำหนดรูปแบบการแสดงผลที่โมดูล LCD โดยสามารถกำหนดรูปแบบการแทรกสัญลักษณ์พิเศษเพื่อร่วมแสดงผลค่าข้อมูลตัวเลขชนิดต่างๆได้

  44. รหัสบังคับการทำงาน %c หรือ %Cแสดงผลอักขระ 1 ตัว %d หรือ %Dแสดงผลตัวเลขฐานสิบช่วง -32,768 ถึง +32,767 %l หรือ %Lแสดงผลตัวเลขฐานสิบช่วง -2,147,483,648 ถึง +2,147,483,647 %f หรือ %Fแสดงผลตัวเลขจำนวนจริงทศนิยม 3 หลัก #c คีย์คำสั่งพิเศษเพื่อสั่งเคลียร์ข้อความก่อน แสดงผลในครั้งถัดไป #n คีย์คำสั่งพิเศษเพื่อนำข้อความไปแสดงผลใน บรรทัดที่ 2(บรรทัดล่าง)

  45. การทดลองที่ 10-14 แสดงข้อความที่หน้าจอ LCD การเชื่อมต่อทางฮาร์ดแวร์ ต่อแผงวงจร Display-Motor เข้ากับบอร์ด IPST(ให้ทำการย้ายจุดจ่ายไฟมาที่บอร์ด Display-Motor ด้วย)

  46. โปรแกรมการทดลองที่ 10(lcd_01.c) แสดงข้อความ “Hello World!” #include <lcd.h> void main() { lcd("Hello World!"); }

  47. โปรแกรมการทดลองที่ 11(lcd_02.c) แสดงผลลัพธ์เมื่อตัวอักขระติดกันเกิน 16 ตัวอักษร #include <lcd.h> void main() { lcd("abcdefghijklmnopqrstuvwxyz"); }

  48. โปรแกรมการทดลองที่ 12(lcd_03.c) แสดงผลลัพธ์ค่าข้อมูลตัวเลขจำนวนเต็ม(int) #include <lcd.h> void main() { int x=158; lcd("Value: %d ",x); }

More Related