18. แท่งต่อ 5 รู 3 ช้นิ 19. แท่งต่อ 12 รู 1 ช้ิน 20. ฉากยดึ ล้อประคอง 2 ชิ้น 21. ฉากโลหะ 2x1 2 ช้นิ 22. ฉากโลหะ 3x2 3 ชน้ิ 46
23. ฉากโลหะ 2x2 3 ชิน้ 24. เสารองพลาสติก 25. เสารองโลหะ 25 มม. 3 ชิน้ 26. เสารองพลาสตกิ 3 มม. 2 ชน้ิ 27. สกรูเกลียวปลอ่ ย 2 มม. 4 ช้นิ 47
28. สกรูหวั ตัด 3x8 มม. 6 ชิ้น 29. สกรมู อื หมนุ ยาว 1 ชิ้น 30. สกรู 3x10 มม. 25 ช้นิ 31. สกรู 3x15 มม. 4 ช้ิน 32. สกรู 3x25 มม. 2 ช้ิน 48
33. นอต 3 มม. 30 ชิน้ 34. ชิ้นตอ่ แนวตรง 1 ช้นิ 35. ชิ้นตอ่ มุมฉาก 4 ชิน้ 4.3 ข้ันตอนการสร้างหุน่ ยนต์ IPST-BOT 1. ยึดกะบะถ่าน 5 ก้อนเข้ากับแผ่นเพลต โดยใช้สกรูหัวตัด 3x8 มม. ขันยึดด้วยนอต 3 มม. (ใน ตาแหน่งดงั รปู ) โดยตอ้ งใชค้ วามพยายามขันยดึ เนื่องจากรเู จาะมีตาแหน่งเหล่ือมกนั เล็กนอ้ ย 49
2. นาฉากโลหะ 3x2 ยึดดว้ ยสกรหู ัวตดั 3x8 มม. และนอต 3 มม. โดยวางฉากโลหะไว้ดา้ นลา่ ง ดังรูป 3. นามอเตอร์อัตราทด 87 : 1 ยึดเข้าที่ปลายของฉากโลหะ โดยใช้สกรู 3x25 มม. ขันยึดด้วยนอย 3 มม. โดยหันด้านแกนหมุนของมอเตอร์ออกด้านนอก จากน้ันนาฉากยึดแกนล้อประคองยึดเข้าที่แผ่นเพลต ดว้ ยสกรู 3x10 มม. ในตาแหน่งดงั รูป 4. นาล้อพลาสติกยึดเข้ากบั แกนของชุดเฟืองขับมอเตอร์ จากน้ันใช้สกรูเกลียวปล่อยขนาด 2 มม. ขัน ยึด จากน้ันแกนลอ้ และล้อประคองเสยี บเข้ากับฉากยึดแกนล้อ แลว้ ใชด้ มุ ล้อล็อกประคองไวท้ ้ังสองด้าน 50
5. นาฉากโลหะ 2x1 ยึดเขา้ กับแผน่ เพลตบรเิ วณด้านหน้าของกะบะถา่ น แลว้ ใช้สกรู 3x10 มม. ขนั ยึด ดว้ ยนอต 3 มม. ทาทงั้ สองดา้ นของแผน่ ฐานเพอื่ ใชย้ ึดบอร์ดควบคมุ หลัก 6. นาเสารองโลหะ 30 มม. ยึดเข้าท่ีดา้ นหลังของหุ่นยนต์ในตาแหน่งกึ่งกลาง โดยรทู ่ีใช้ยดึ เสารองเป็น รทู ี่ 4 นับจากขอบของแผน่ ฐาน จากนัน้ ขันยดึ ดว้ ยสกรู 3x10 มม. 51
7. นาสายพานมาประกอบกันเป็นล้อสายพานสาหรับหุ่นยนต์ IPST-BOT โดยใช้สายพาน 30 ข้อต่อ 10 ข้อตอ่ และ 8 ขอ้ ต่อ อยา่ งละ 1 เส้น ทาเหมอื นกัน 2 เสน้ จากนั้นสวมเข้าท่ลี อ้ ของหุ่นยนต์ดงั รปู สังเกต ความตงึ ของสายพานจะตอ้ งไม่ตึงหรือหยอ่ นเกนิ ไป 8. นาช้ินต่อแนวตรงมายึดเข้ากับแผ่นรองของแผงวงจร MicroBOX ท่ีติดตั้งแผงวงจร Display- MOTOR แลว้ ที่ตาแหนง่ กึง่ กลางโดยใชส้ กรู 3x10 มม. และนอต 3 มม. ขนั ยดึ 52
9. จากน้ันยึดฉากโลหะ 2x2 เข้ากับรูยึดของแผ่นรองแผงวงจรควบคุม 2 รู ด้านตรงข้ามด้านที่ยึดชิ้น ตอ่ แนวตรงดังรูป แล้วขันยึดให้แน่นด้วยสกรู 3x10 มม. และนอต 3 มม. โดยให้ยึดสกรูเข้าท่ีรูซึ่งอยูใกล้กับ รอยพบั ของฉากโลหะ 10. นาล้อประคองเล็กสวมเข้ากับแกนล้อแล้วปิดปลายแกนด้านหน่ึงด้วยดุมล้อ ปลายอีกด้านหนึ่งให้ ปล่องวา่ งไว้กอ่ น 53
11. นาแผงวงจรควบคุมหลกั ทีย่ ึดฉากโลหะจากข้ันตอนท่ี 9 มาวางโครงหนุ่ ยนตจ์ ากข้ันตอนที่ 6 โดยจัด ให้ตาแหน่งรูของฉากโลหะที่แผงวงจรหลักตรงกับรูที่ฉากโลหะของโครงหุ่นยนต์ จากน้ันนาแกนล้อท่ีติดต้ัง ล้อประคองเลก็ และดุมล้อจากขั้นตอนท่ี 10 มาสอดเขา้ ไปในรูของฉากโลหะใหผ้ ่านไปยังอีกดา้ นหน่งึ 12. จากนั้นสวมลอ้ ประคองเล็กเขา้ ที่ปลายของแกนลอ้ ทีว่ ่างอยู่ แลว้ ยดึ ปดิ ใหแ้ นน่ ด้วยดุมล้อ 54
13. จากนขั้นตอนที่ 12 แกนล้อทาหน้าท่ีเสมือนเป็นบานพับสาหรับการเปล่ียนแบตเตอร่ี ในขณะท่ีล้อ ประคองเลก็ ใช้ประโยชน์ในการกดลอ้ สายพานใหม้ คี วามตงึ และกระชบั กบั ลอ้ กลมใหญ่ได้ดขี น้ึ 14. นาขั้วแบตเตอร่ีต่อเข้ากับจุดต่อ DC.INPUT โดยสายสีแดงต่อเข้าข้ัวบวก (+) และสายสีดาต่อเข้า กับข้วั ลบ (-) 55
15. นาแบตเตอร่ีขนาด AA จานวน 5 กอ้ นบรรจุลงในกะบะถา่ น จากนั้นพบั แผงวงจรควบคุมหลักลงมา ปิดกะบะถ่าน ตาแหน่งรูของช้ินต่อแนวตรงจะตรงกับรูของเสารองโลหะของโครงหุ่นยนต์พอดี ใช้สกรูมือ หมุนยาวขันยึดให้แน่น หากต้องการเปลี่ยนแบตเตอร่ีสามารถทาได้โดยการหมุนสกรูมือหมุนน้ีออก ยกแผง ควบคมุ ขึน้ 16. ตอ่ สายมอเตอรด์ า้ นซ้ายเข้าทจี่ ุดต่อ M1 และตอ่ สายมอเตอร์ด้านขวาเข้าที่จดุ ตอ่ M2 56
17. นาชิ้นต่อมุมฉากเสียบเข้ากับทางด้านหลังของชุดเฟืองขับมอเตอร์ เฟืองยกระดับให้ชุดเฟืองขับ มอเตอร์อยู่ในแนวระนาบ แล้วช่วยใหช้ ดุ เฟอื งขบั มอเตอร์ได้รับการตดิ ตั้งอย่ใู นตาแหน่งท่ีม่นั คงข้ึน 18. จากนั้นนาแผงวงจรลาโพงเปียโซติดต้ังเข้ากับโครงหุ่นยนต์ ในทางปฏิบัตสิ ามารถติดต้ังในตาแหน่ง ว่างท่ีใดก็ได้ สาหรับตัวอย่างน้ีติดตั้งไว้ในตอนหลังของโครงหุ่นยนต์โดยใช้สกรู 3x15 มม. และนอต 3 มม. ขันยึดให้แน่นตอ่ สายสญั ญาณของแผงวงจรสาหรบั ลาโพงเขา้ ท่จี ดุ ต่อ PB4 ของแผงวงจรควบคุมหลัก 57
รปู ท่ี 4.1 ห่นุ ยนต์ IPST-BOT 58
บทที่ 5 การพัฒนาโปรแกรมภาษา C สาหรับชุดหุน่ ยนต์ IPST-BOT ชุดหุ่นยนต์ IPST-BOT ได้รับการออกแบบให้รองรับกับการเรียนรู้ด้านเทคโนโลยีและฝึก กระบวนการคดิ ผา่ นทางการเขียนโปรแกรมควบคุมด้วยภาษา C เปน็ หลกั เพ่ือใช้เป็นแนวทางในการพัฒนา โปรแกรมสาหรับควบคมุ หนุ่ ยนต์ IPST-BOT 5.1 องคป์ ระกอบหลักทางฮารด์ แวร์ทีใ่ ชส้ ร้างห่นุ ยนต์ IPST-BOT 1. แผงวงจรควบคุมหลัก MicroBOX เป็นแผงวงจรหลักท่ีใช้ในการประมวลผลและควบคุมการ ทางาน 2. แผงวงจรแสดงผลและควบคุมพลังงาน Display-MOTOR เป็นแผงวงจรที่ตดิ ต้ังเข้ากบั แผงวงจร ควบคุมหลัก เพ่ือแสดงผลการทางาน จัดการไฟเล้ียงให้แก่แผงวงจรควบคุมอย่างมีเสถียรภาพ และขับ มอเตอร์ทง้ั แบบมอเตอร์ไฟตรงปกติและเซอร์โวมอเตอร์ 3. ชุดเฟืองขับมอเตอร์ไฟตรง มีอัตราทด 87 : 1 จานวน 2 ตัว ทาหน้าท่ีเป็นอุปกรณ์ขับเคลื่อนของ หุน่ ยนต์ 4. เซอรโ์ วมอเตอร์แบบมาตรฐาน แกนหมุนได้ 180 องศา 5. ตัวตรวจจบั ชนดิ ต่างๆ ทัง้ แบบดิจิตอลและอะนาลอก 6. ชุดโครงสรา้ งหุน่ ยนต์และอปุ กรณท์ างกล 5.2 องค์ประกอบหลักทางซอฟต์แวร์ที่ใช้ในการพฒั นาโปรแกรมควบคุมหุ่นยนต์ ประกอบด้วยชุดซอฟต์แวร์พัฒนาโปรแกรมภาษา C สาหรับไมโครคอนโทรลเลอร์ AVR ในแบบ มาตรฐาน และแบบ Open Source ท่ีสามารถนามาใชไ้ ดโ้ ดยไมต่ อ้ งเสยี คา่ ใช้จา่ ยซอฟต์แวรห์ ลักทใ่ี ชง้ าน 5.2.1 AVR Studio เป็นชุดซอฟต์แวร์ที่พัฒนาขึ้นโดย Atmel ผู้ผลิตไมโครคอนโทรลเลอร์ตระกูล AVR ซ่ึงนามาใช้กับอุปกรณ์หลักในการควบคุมการทางานของหุ่นยนต์ โดยในที่นี้จะใช้ AVR Studio ทา หน้าท่ีเป็น Text Editor สาหรับการสร้าง File Project และ Source Code ภาษา C โดยภายใน AVR Studio ไดบ้ รรจุเคร่อื งมอื ท่ีช่วยอานวยความสะดวกต่อการพัฒนาโปรแกรมภาษา C ท้ังยงั สามารถเช่ิอมโยง การทางานในสว่ นต่างๆ กับคอมไพเลอร์ (Compiler) ที่กาหนดไดด้ ว้ ย โดยคอมไพเลอรท์ ่ีนามาใช้ร่วมกันคือ WinAVR สามารถติดต่อกับไฟล์ไลบรารีนามสกุล .h ซึ่งบรรจุฟังก์ชันของโปรแกรมภาษา C สาหรับติตต่อ กับอุปกรณ์ต่างๆ ท้ังยังสามารถติดต่อกับซอฟต์แวร์สาหรับโปรแกรมข้อมูลลงในไมโครคอนโทรลเลอร์หลัก ของแผงวงจรควบคุมหลกั MicroBOX ในชดุ หุ่นยนต์ IPST-BOX ได้ด้วย ชุดซอฟต์แวร์ AVR Studio พัฒนา และเผยแพร่โดยไมคิดมูลค่าโดย Atmel ซึ่งเป็นผู้ผลิตไมโครคอนโทรลเลอร์ ATmega16 ท่ีใช้เป็น 59
ไมโครคอนโทรลเลอร์หลักของชุดหุ่นยนต์ IPST-BOT สาหรับเวอร์ชันท่ีนามาใช้ในท่ีน้ี คือ AVR Studio 4.13 และสามารถดาวน์โหลดเวอร์ชนั ท่ีอาจมีที่ www.atmel.com 5.2.2 WinAVR เป็นซอฟต์แวร์ตัวแปลโปรแกรมภาษา C (C Compiler) เพ่ือให้ได้ไฟล์ผลลัพธ์ นามสกุล .hex นาไปเขียนลงในหน่วยความจาโปรแกรมของไมโครคอนโทรลเลอร์ในแผงวงจรควบคุมหลัก ต่อไป โดย WinAVR เป็นซอฟแวร์แบบ Open Source พัฒนาต่อจาก GNU GCC Compiler สามารถดู ข้อมูลเพ่ิมเติมรวมทั้งดาวน์โหลดซอฟต์แวร์ได้จาก http://sourceforge.net/projects/winavr โดยในชุด หุ่นยนต์ IPST-BOT จะอ้างอิงการเขียนโปรแกรมภาษา C กับ WinAVR เวอร์ชัน 20070525 เม่ือทาการ ติดตั้ง WinAVR แล้วจะสามารถเช่ือมโยงการทางานเข้ากับ AVR Studio ได้ ดังน้ันจึงสามารถทาการเขียน โปรแกรมภาษา C บน AVR Studio แล้วทาการคอมไพล์โปรแกรมด้วย WinAVR ได้อย่างต่อเนื่อง โดย ผลลัพธ์ของการคอมไพล์จะได้ไฟล์นามสกุล .hex เป็นไฟล์ภาษาเคร่ืองหรือท่ีเรียกว่า “Machine Code” โดยไฟล์ผลลพั ธท์ ไี่ ด้จากการพัฒนาสามารถนาไปดาวนโ์ หลดลงส่ไู มโครคอนโทรลเลอร์ตอ่ ไปได้ทันที 5.2.3 ไฟล์ไลบรารี .h เป็นไฟล์สนับสนุนชุดคาสั่งหรือฟังก์ชันต่างๆ เพ่ืออานวนความสะดวกในการ สรา้ งโปรแกรมควบคุมการทางานของแผงวงจร MicroBOX อันเป็นแผงวงจรควบคมุ หลักของชุดกล่องสมอง กล IPST-MicroBOX และหุ่นยนต์ IPST-BOT อาทิ คาส่ังควบคุมอินพุต และเอาท์พุตท้ังแบบสัญญาณ ดิจิตอลและอะนาลอก คาสั่งติดต่อกลุม่ อุปกรณ์ตรวจจับหรือเซนเซอร์แบบต่างๆ คาส่ังส่งข้อมูลไปยังหน่วย แสดงผลโมดูล LCD เป็นตน้ 5.2.4 ซอฟต์แวร์สาหรับดาวนโ์ หลดโปรแกรม หลังจากท่คี อมไพลโ์ ปรแกรมภาษา C แลว้ ไฟล์ ผลลัพธท์ ไ่ี ด้เปน็ ไฟลน์ ามสกุล .hex ซงึ่ ต้องนาไปโปรแกรมลงในหนว่ ยความจาโปรแกรมของ ไมโครคอนโทรลเลอร์ ATmega16 สาหรบั ในชดุ หนุ่ ยนต์ IPST-BOT โดยใช้โปรแกรม AVRProg เป็นผลงาน ของ Atmel ใชก้ ับชดุ ดาวน์โหลดโปรแกรมผ่านพอร์ต USB โดย AVRProg ได้รบั การติดตั้งพร้อมกับการ ติดตงั้ ซอฟตแ์ วร์ AVR Studio 5.3 ไฟลไ์ ลบรารีสนบั สนนุ การทางานหุน่ ยนต์ ในการพฒั นาโปรแกรมภาษา C เพ่อื ควบคมุ หนุ่ ยนต์ IPST-BOR น้นั ทางผเู้ ขียนได้พฒั นาไฟล์ไลบรารี เพ่อื สนับสนุนการทางานและอานวยความสะดวกในการพัฒนาโปรแกรม โดยกลมุ่ ของไฟลไ์ ลบรารเี หล่านถี้ ูก จดั เก็บไว้ในโฟลเดอร์ robot_include ซึง่ บรรจุอยูใ่ นซีดรี อมทม่ี าพร้อมกบั ชดุ หนุ่ ยนตห์ รือดาวน์โหลดได้ จาก www.ipst-microbox.com 60
ไฟลไ์ ลบรารีของชุดหุ่นยนต์ IPST-BOT มดี ังน้ี Library คุณสมบัติ sleep.h สนบั สนุนชุดคาสั่งเกีย่ วกบั การหนว่ งเวลา in_out.h สนับสนุนชดุ คาส่งั เกย่ี วกบั การอ่านและเขยี นคา่ พอรต์ อนิ พุต/เอาท์พตุ sound.h สนับสนนุ ชดุ คาสั่งเกี่ยวกับการกาเนิดเสยี ง lcd.h สนบั สนุนชุดคาสั่งเกย่ี วกับการแสดงข้อความท่จี อ LCD analog.h สนับสนุนชดุ คาสง่ั เกย่ี วกบั การอ่านค่าอินพุตสญั ญาณอะนาลอก serial.h สนับสนุนชุดคาสง่ั เกีย่ วกบั การรบั ส่งขอ้ มูลผา่ นโมดูลส่ือสารข้อมลู อนกุ รม ทางานรว่ มกับแผงวงจร Display-MOTOR motor.h สนบั สนุนชุดคาสง่ั เกย่ี วกับการควบคุมมอเตอรไ์ ฟตรง ทางานรว่ มกับแผงวงจร ขบั มอเตอร์ ZX-DCM2 หรือใช้กับวงจรขบั มอเตอร์ไฟตรงบนบอรด์ Display- MOTOR servo.h สนับสนนุ ชดุ คาสงั่ เกย่ี วกบั การควบคมุ มอเตอรเ์ ซอรโ์ ว ทางานร่วมกับ แผงวงจร Display-MOTOR systick_timer.h สนบั สนนุ ชุดคาสง่ั เก่ียวกับการจบั เวลาเพอื่ การแปรผลลพั ธท์ างกายภาพของ ตวั ตรวจจบั แบบพิเศษเมอ่ื ใช้งานกบั หนุ่ ยนต์ gp2d120_lib.h สนบั สนุนชดุ คาสั่งเพื่อใชง้ านโมดูลตรวจจบั ระยะทางแบบอินฟราเรด เบอร์ GP2D120 srf05_lib.h สนับสนุนชุดคาสงั่ เพ่อื ใชง้ านโมดลู ตรวจจบั ระยะทางดว้ ยคลื่นอัลตร้าโซนกิ ร่นุ SRF05 cmps03_lib.h สนับสนนุ ชดุ คาสั่งเพ่อื ใชง้ านโมดูลเข็มทิศอเิ ล็กทรอนกิ สร์ ุน่ CMPS03 ในการ เชอ่ื มตอ่ แบบบัส 2 สายหรอื บัส I2C โดยให้ผลของคา่ มุม 0 ถึง 359 องศา cmps03_pwm_lib.h สนับสนนุ ชดุ คาสงั่ เพ่อื ใชง้ านโมดูลเขม็ ทิศอิเล็กทรอนิกส์รุ่น CMPS03 ในการ เชอื่ มต่อแบบบสั 1 สาย ผา่ นทางจดุ ต่อ PWM โดยใหผ้ ลของค่ามุมเป็น 0, 10, 20,…, 350 องศา sht11_lib.h สนับสนนุ ชุดคาสง่ั เพอ่ื อา่ นค่าอุณหภูมิและความชือ้ สัมพัทธ์ในอากาศจาก โมดูล SHT11 joystick.h สนับสนุนชุดคาสั่งเพือ่ ติดตอ่ กับจอยสติก๊ หรือชดุ ควบคมุ ของเครอื่ งเล่น play station 61
ตดิ ต้งั ซอฟตแ์ วร์ สร้างไฟล์ผงั งานหรือโปรเจก็ ต์ 1. สร้างไฟล์โปรเจก็ ต์ใหม่ - AVR Studio ซอฟตแ์ วรส์ าหรบั เขียนโปรแกรม 2. เลอื กสร้างโปรเจ็กต์ของโปรแกรมภาษา C 3. เลอื กไมโครคอนโทรลเลอร/์ ความถ่ีสัญญาณ/ - WinAVR ซอฟต์แวร์ตวั แปลโปรแกรมภาษา C รูปแบบไฟล์ผลลัพธ์ (Compiler) 4. ผนวกไฟลไ์ ลบรารีทตี่ ้องการ - ซอฟตแ์ วร์สาหรบั โปรแกรมไมโครคอน เขียนโปรแกรมภาษา C โทรลเลอร์ AVRProg กรณใี ชเ้ คร่ืองโปรแกรมผา่ นพอรต์ USB AVR OSPII กรณีใช้เคร่ืองโปรแกรมผ่านพอร์ต USB หมายเหตุ ตดิ ตงั้ ตวั ใดตัวหน่ึงหรอื ทง้ั สองตวั - ไดร์เวอรข์ องเคร่ืองโปรแกรมผา่ นพอร์ต USB คอมไฟล์ (.hex) ดาวนโ์ หลดโปรแกรม พอรต์ USB ดาวน์โหลดผ่านพอร์ต USB 1. ใช้โปรแกรม PX-4000 2. ตอ่ เครื่องโปรแกรมกับบอร์ดไมโครคอนโทรลเลอร์และพอร์ต USB 3. จ่ายไฟให้กับระบบ 4. ใชซ้ อฟต์แวร์ AVRProg หรอื AVR OSPII 5. เลอื กไมโครคอนโทรลเลอร์ทต่ี ้องการ 6. ทาการโปรแกรม รันโปรแกรม 1. ปดิ ไฟเลีย้ ง จากน้นั ปลดการเช่อื มต่อระหวา่ งเคร่ืองโปรแกรมกบั แผงวงจรควบคุมหุ่นยนต์ IPST-BOT ออก 2. จ่ายไฟให้กบั ระบบ เพื่อเรมิ่ ต้นการทางาน 62
5.4 ตดิ ตั้งโปรแกรม 5.4.1 ติดต้ังโปรแกรม AVR Studio มขี ั้นตอนโดยสรปุ ดงั น้ี 1. ดับเบิลคลิกที่ไฟลต์ ิดต้ังของโปรแกรม AVR Studio ดงั รูป 2. จากนัน้ จะเข้าสหู่ นา้ ต่างแรกของการตดิ ต้ังโปรแกรม AVR Studio ดังรูป 63
3. จากน้ันเข้าสู่หน้าต่างข้อตกลงเงื่อนไขลิขสิทธ์ิและการใช้งาน ซ่ึงมีรายละเอียดของคุณสมบัติ ของเคร่ืองคอมพิวเตอร์และระบบปฏิบัติการท่ีสามารถรองรับการทางานของ AVR Studio รวมไปถึงช่ือ บริษัทผู้ผลิตและอ่ืนๆ โดยให้เลือกช่อง I accept the terms of the license agreement จากน้ันคลิกท่ีปุ่ม Next 64
4. จากนั้นเข้าสู่หน้าต่างการติดตั้งในลาดับถัดไป ที่แสดงตาแหน่งท่ีต้องการติดตั้งโปรแกรม AVR studio ซึ่งผู้ติดตั้งสามารถเปล่ียนตาแหน่งได้โดยการคลิกท่ีปุ่ม Change แล้วกาหนดตาแหน่งใหม่ที่ต้องการ จากนั้นคลกิ ทป่ี ุม่ Next 5. จากนัน้ จะเขา้ สู่การตดิ ต้ังโปรแกรม AVR Studio ดงั รูป คลกิ ท่ปี ุ่ม Install 65
66
6. จากน้ันเข้าสู่หน้าต่างการอัพเกรดไดรเวอร์ USB ให้คลิกที่ปุ่ม Next เน่ืองจากไดรเวอรด์ ังกล่าว ไมม่ ีการใชง้ านใดๆ กับชุดกล่องสมองกล IPST-MicroBOX 67
68
7. เขา้ ส่หู น้าตา่ งเริ่มตน้ การติดตงั้ โปรแกรม คลิกทป่ี ุ่ม Install 8. จากนน้ั จะเร่ิมการตดิ ต้ังโปรแกรม AVR Studio รอจนกระท่ังการตดิ ต้ังเสร็จสมบูรณ์ 69
9. เมื่อการติดต้ังเสร็จสมบูรณ์ ให้คลิกที่ปุ่ม Finish เป็นอันเสร็จส้ินการติดตั้งโปรแกรม AVR Studio 10. ทดสอบผลการติดต้ัง โดยเปิดโปรแกรม AVR Studio โดยไปท่ี Start -> All Programs Atmel AVR Tools -> AVR Studio 4 70
หลงั จากนั้นจะปรากฎหนา้ ต่างหลกั ของโปรแกรม ดังรปู 5.4.2 การติดต้งั โปรแกรม WinAVR มีขั้นตอนโดยสรปุ ดังนี้ 1. ดับเบิล้ คลิกท่ไี ฟล์ติดต้ังโปรแกรม WinAVR 2. จากน้ันจะเข้าสู่หน้าต่างแรกของการติดต้ังโปรแกรม WinAVR เป็นการเลือกภาษาในการติดต้ัง คลิดทป่ี ุม่ OK 71
3. จากน้ันเข้าสู่หน้าต่างแสดงรายละเอียดการดาเนินการติดตั้งโปรแกรม WinAVR จากน้ันคลิกท่ี ปมุ่ Next 4. จากนั้นเข้าสู่หน้าต่างแสดงรายละเอียดและเงื่อนไขสาหรับการใช้งานโปรแกรม WinAVR จากน้ันคลิกที่ปมุ่ I Agree 72
5. จากน้ันเข้าสู่หน้าต่างแสดงตาแหน่งที่ต้องการติดต้ังโปรแกรม WinAVR ซึ่งผู้ติดต้ังสามารถ เปล่ยี นตาแหนง่ ได้โดยการคลิกที่ปุ่ม Browse… แล้วกาหนดตาแหน่งใหม่ที่ต้องการ จากนน้ั คลกิ ทปี่ ่มุ Next 6. จากนั้นเข้าสู่หน้าต่างการกาหนดคุณสมบัติพิเศษ ซ่ึงผู้ติดต้ังสามารถเลือกรายการที่ต้องการ คลิกท่ปี ุ่ม Install 73
7. จากนั้นจะเร่ิมกระบวนการติดตั้งโปรแกรม WinAVR และแสดงความคืบหน้าตามรูป หลังจาก น้ันให้ผู้ติดตั้งรอจนกระทงั่ การติดตั้งเสร็จสมบูรณ์ จากน้ันคลิกที่ปุ่ม Finish เป็นอันเสร็จสิ้นการตดิ ต้ังโปรแกรม WinAVR 74
8. ทดสอบผลการติดตั้ง โดยเปิดโปรแกรม WinAVR โดยไปที่ Start -> All Programs -> WinAVR-20100110 -> AVR Insight หลังจากน้ันจะปรากฎหน้าตา่ งหลักของโปรแกรม ดังรูป 75
5.5 ขัน้ ตอนการพัฒนาโปรแกรมภาษา C ของชดุ หุ่นยนต์ IPST-BOT 1. สร้างโปรเจ็กต์ (Project) โดยปกติเม่ือเปิดโปรแกรมคร้ังแรก โปรแกรมจะแสดงเมนูสาหรับการ เรียกใช้งานโปรเจ็กต์เดิมทเี่ คยใชง้ านกอ่ นหนา้ น้ี สาหรับการสร้างโปรเจ็กตใ์ หม่คลิกทป่ี มุ่ New Project 2. สาหรับกรณีท่ีซอฟตแ์ วร์ไม่ได้แสดงหน้าต่างขึ้นมา สามารถเรยี กคาสั่งการสรา้ งโปรเจ็กต์ได้จากเมนู Project New Project จะปรากฎหนา้ ตา่ งสาหรบั การสรา้ ง Project ข้นึ มาเชน่ เดียวกนั 76
3. จากน้ันจะปรากฎหนา้ ตา่ งสาหรบั การกาหนดคุณสมบตั ิของโปรเจก็ ต์ การพัฒนาโปรแกรมของชุดหุ่นยนต์ IPST-BOT จะใช้ภาษา C ดังน้ันการสร้างโปรเจ็กต์จะต้อง เลือกชนิดโปรเจ็กต์ (Project Type) เป็น AVR GCC จากน้ันต้ังชื่อโปรเจ็กต์ แล้วคลิกเครื่องหมายถูกหน้า หัวข้อ Create initial file เพื่อให้สร้างไฟล์ Source Code ข้ึนมา โดยช่ือของ Source Code จะเป็นชื่อ เดียวกับโปรเจ็กตโ์ ดยอัตโิ นมตั ิ จากนน้ั คลิกทีป่ มุ่ Finish 4. จะเข้าสหู่ น้าต่างหลกั ของ AVR Studio 77
5. กาหนดคุณสมบัติของไมโครคอนโทรลเลอร์ท่ีใช้ ไปท่ี Project Configuration Option จะปรากฎหนา้ ต่าง Project Option เลอื กาหนดคา่ ดังรูป 78
6. ผนวกโฟลเดอร์ robot_include ท่ีบรรจะไฟล์ไลบรารีนามสกุล .h จานวนมาก คลิกเลือกที่หัวข้อ Include Direactories จากนัน้ คลิก Insert เพ่อื ผนวกไฟลไ์ ลบรารี ดังรูป 79
7. เพ่ิมไลบรารีเกี่ยวกับการคานวณทางคณิตศาสตร์ โดยยังคงอยู่ท่ีหน้าต่าง Project Option เลือก Libraries แล้วเลือกไฟล์ไบลบรารี libm.a จากน้ันคลิก Add Library เพื่อเพ่ิมไลบรารีเข้าไปในไฟล์โปร เจก็ ต์ คลิก OK 8. เขยี นโปรแกรมทดสอบต่อไปน้ลี งในหน้าตา่ ง Editor #include <lcd.h> #include <sleep.h> void main( ) { while (1) { lcd(“Hello World”); sleep(200); } } 80
9. คอมไพลโ์ ดยกดที่ Bulid หรอื เมนู Bulid Bulid หรอื F7 (Short Key) ก็ได้ 10. โปรแกรมจะแสดงผลลัพธ์ที่เกิดขึ้นจากการคอมไพล์ท่ีหน้าต่าง โดยถ้าการคอมไพล์ผ่านโปรแกรม จะแสดงข้อความ Build Successed ที่บรรทัดสุดท้าย หรือ Bulid Successed with 8 Warnings… หมายถงึ การคอมไพลเ์ สร็จสน้ิ สมบรู ณ์แตม่ กี ารแจง้ เตือนใหร้ ะวังข้อผดิ พลาด 8 ตาแหนง่ 81
บรรทดั แจ้งเตือนเหลา่ น้ีจะข้นึ ตน้ บรรทดั ดว้ ยจดุ สีเหลือง สาหรบั กรณที ีท่ างานปกติจะขึ้นต้น บรรทัดด้วยจุดสเี ขยี ว และถา้ มขี อ้ ผดิ พลาดเกิดข้ึน ข้อผดิ พลาดนัน้ จะขึน้ ตน้ บรรทัดด้วยจุดสแี ดง 11. เมื่อคอมไพลผ์ ่านแลว้ ใหต้ รวจสอบผลการคอมไพล์โดยไปยงั ไฟลเดอรข์ องโปรเจก็ ต์ทสี่ ร้างขึ้นในที่น้ี คือ c:/IPST-BOT - เลือกเขา้ ไปในโฟลเดอร์ย่อย Test - เลือกเข้าไปในโฟลเดอร์ default จะพบไฟล์ Test.hex เป็นไฟล์ผลลัพธ์ที่จะนาไปใช้ในการ โปรแกรมลงในไมโครคอนโทรลเลอรบ์ นแผงวงจร MicroBOX 82
5.6 การดาวน์โหลดโปรแกรมเพ่อื ทดสอบการทางานของหนุ่ ยนต์ หลังจากได้ไฟล์นามสกุล .hex จากการคอมไพล์โปรแกรมภาษา C แล้ว ลาดับต่อไปคือการดาวน์โหลด หรือส่งข้อมูลของไฟล์ .hex ไปยังหน่วยความจาโปรแกรมของไมโครคอนโทรลเลอร์ ATmega16 บน แผงวงจรหลกั MicroBOX ของหุ่นยนต์ IPST-BOT ซ่งึ มีข้นั ตอน 2 ส่วนหลกั ดังน้ี 1. เตรยี มการเช่อื มตอ่ ระหว่างชดุ โปรแกรม PX-4000 กับคอมพวิ เตอร์ 2. วธิ กี ารใชง้ านชุดโปรแกรม PX-4000 รวมกับ AVR Prog เพ่อื โปรแกรมไมโครคอนโทรลเลอร์ 5.6.1 ขอ้ มูลทางเทคนิคท่คี วรทราบของ PX-4000 - เช่อื มตอ่ กบั พอรต์ USB ของคอมพวิ เตอรใ์ นการใชง้ าน - โปรแกรมไมโครคอนโทรลเลอร์ AVR ผ่าน ISP Connector สามารถอ่าน เขียน ลบและ ปอ้ งกันการอ่านได้ - ใช้ไฟเลี้ยง +5V จากบอร์ดไมโครคอนโทรลเลอร์ AVR - ทางานผ่านโปรแกรม AVR Prog ที่บรรจุมาภายในชุดซอฟต์แวร์ AVR Studio หรือใช้ AvrOspII 5.6.2 ข้ันตอนการเตรยี มการเช่อื มตอ่ ชุดโปรแกรมไมโครคอนโทรลเลอรผ์ ่านพอร์ต USB 5.6.2.1 ตดิ ต้ังไดรเวอรข์ อง PX-4000 มีขนั้ ตอนดังนี้ 1. ดับเบิลคลิกท่ีไฟล์ USBDriverInstallerV2.0.0.exe เพื่อเริ่มต้นการติดต้ัง จะปรากฎ Dialiog Box แจง้ การติดตงั้ เสรจ็ เรียบร้อย 2. เสียบสอบ USB ของ PX-4000 เข้าที่พอร์ต USB รอจนกระทั่งไฟสีน้าเงินแจ้งความ พร้อมในการเชอื่ มต่อตดิ สวา่ ง 83
3. ตรวจสอบตาแหน่งของพอร์ตอนุกรมเสมือนท่ีสร้างขึ้น คลิกท่ี Start Control Panal System แถบ Hardware Device Manager 4. ตรวจสอบรายการอุปกรณ์ท่ีหัวข้อ Port จะพบ USB Serial Port ให้ดูว่ามีการเลือก ตาแหน่งของพอร์ตอนุกรม USB Serial Port ไว้ท่ีตาแหน่งใด ปกติจะเป็น COM3 ขึ้นไป ให้ใช้ค่าตาแหน่ง ของพอรต์ อนุกรมเสมือนหรอื USB Serial Port นใี้ นการเชื่อมตอ่ กบั เคร่ืองโปรแกรมตอ่ ไป 84
5.6.2.2 การเตรยี มการใช้งาน PX-4000 กับ AVRProg ในการทางานปกติของ AVR Prog จะค้นหาอุปกรณ์ของชุดโปรแกรมท่ีต่อกับพอร์ต อนุกรมโดยอัตโนมัติ สาหรบั ชุดโปรแกรม PX-4000 ทีติดต่อกับคอมพิวเตอร์ผ่านทางพอร์ตอนกุ รมเสมือนท่ี สร้างขนึ้ จากไดรเวอรข์ องอปุ กรณ์แปลงสัญญาณพอร์ต USB เป็นพอร์ตอนุกรม ทาให้สามารถสร้างตาแหน่ง ของพอร์ตอนกุ รมได้หลายตาแหนง่ สาหรับ AVR Prog สามารถตรวจสอบตาแหนง่ ของพอร์ตอนุกรมเสมอื นที่สร้างข้ึนไม่เกิน ตาแหน่ง COM4 แต่หาก USB Serail Port ที่สร้างข้ึนมีค่าตาแหน่งสูงกวา่ COM4 จะต้องมีขั้นตอนเพิ่มเติม ในการเปลย่ี นคา่ ตาแหนง่ ของพอรต์ อนุกรมเสมือน ดงั น้ี 1. ต่อ PX-4000 เข้ากับพอร์ต USB รอจนกระทั่งไฟแสดงความพร้อมของ PX-4000 ติดสว่าง 2. คลิกท่ปี มุ่ Start แล้วเลอื ไปที่ Contral Panal 3. จากนัน้ ดับเบิลคลกิ เลือกที่ System 4. เลือกไปทีแ่ ถบ Hardware แล้วคลกิ ท่ี Device Manager 5. ตรวจสอบรายการฮาร์ดแวร์ที่หัวข้อ Port จะพบ USB Serial Port ให้ดูว่ามีการ เลือกตาแหน่งของพอรต์ อนุกรม USB Serial Port ไว้ท่ีตาแหน่งใด ถ้าหากเป็น COM5 ขึน้ ไป (จากตัวอย่าง เป็น COM10) ให้คลกิ เมาสป์ ุม่ ขวาทต่ี าแหน่ง USB Serial Port นัน้ แลว้ เลือก Properties 85
6. ปรากฎหน้าต่าง USB Serial Port (COM10) Properties (หมายเลข COM อาจ เปลี่ยนแปลงไดใ้ นคอมพวิ เตอร์แต่ละเครอ่ื ง) ให้เลือกไปที่แถบ Port Setting ซึ่งแสดงคา่ กาหนดรปู แบบการ ส่ือสารข้อมลู อนกุ รม ใหก้ าหนดค่าต่างๆ ดังรปู จากนั้นคลิกท่ีปุ่ม Advance 7. หน้ าต่าง Advance Setting for COM10 ปรากฎ ขึ้น (ห มายเลข COM อาจ เปล่ียนแปลงได้) คลิกทีช่อง COM Port Number เพ่ือเปลี่ยนเป็น COM4 (หรือหมายเลขอ่ืนระหว่าง COM1 ถึง COM4) 86
8. จากนั้นทาการกาหนดค่าต่างๆ ตามรูป โดยเฉพาะท่ีช่อง Latency Timer (msec) ควรกาหนดเปน็ 1 และทาเครื่องหมายทชี่ ่อง Serial Enumerator แลว้ คลิก OK 9. กลับมาท่ีหน้าต่าง USB Serial Port โดย Tital Bar หมายเลข COM Port จะ เปลี่ยนเป็น COM5 คลิก OK 87
10. ปลด PX-4000 ออกจากพอร์ต USB ของคอมพิวเตอร์ แล้วเสียบเข้าไปใหม่อีกคร้ัง จากนั้นทาการตรวจสอบตาแหน่งของพอร์ตอนุกรมเสมือนด้วยวิธีการเดิม จะพบว่าตาแหน่งของพอร์ต อนุกรมเสมือนจะเปลย่ี นเปน็ COM4 อย่างสมบูรณ์ จากน้ีสามารถนาชุดโปรแกรม PX-4000 มาใช้กับ AVR Prog สาหรับดาวน์โหลด โปรแกรมไปยังไมโครคอนโทรลเลอร์ AVR ไดแ้ ล้ว 88
5.6.2.3 วธิ กี ารใช้งานชดุ โปรแกรม PX-4000 รวมกับซอฟตแ์ วร์ AVR Prog 1. เชื่อมต่อชุด PX-4000 เข้ากับแผงวงจรควบคุมของหุ่นยนต์ IPST-BOT แล้วจ่ายไฟ ใหแ้ ก่ระบบ 2. เปดิ โปรแกรม AVRProg ไปทเี่ มนู Tool AVr Prog 3. สาหรับกรณีท่ีไม่ได้จ่ายไฟโปรแกรมจะแสดงข้อความว่า “ไม่สามารถตรวจพบเคร่ือง ปลายสาหรับดาวน์โหลดไฟล์ได้” จะต้องจ่ายไฟให้กับแผงวงจรไมโครคอนโทรลเลอร์ AVR และต่อสายเข้า กบั คอมพิวเตอร์ให้เรยี บรอ้ ยก่อนใช้งาน 89
4. สาหรับซอฟต์แวร์ AVR Prog ออกแบบมาเพ่ือใช้งานกับไมโครคอนโทรลเลอร์ AVR โดยเฉพาะ จงึ มีเมนูต่างๆ ที่ใช้งานง่าย 5. เริ่มต้นด้วยการคลิกทีปุ่ม Advanced… เพื่อเข้าสู่หน้าต่างการปรับตั้งค่าพิเศษก่อน โดยการปรบั ต้ังคา่ จะกระทาคร้ังเดยี ว 90
6. การกาหนดค่าต่างๆ ประกอบดว้ ย 6.1 กาหนดโหมดในการ Lock Bit เป็น Mode 1 เพ่ือเลือกไม่ต้องการป้องกันการ อ่านข้อมลู หลังจากทท่ี าการโปรแกรมเรยี บร้อยแล้ว (อาจกาหนดค่าใหม่เพ่อื เลอื กป้องกันการอ่านได้) 6.2 คลิกเลือกช่อง SPI Enable หากเลือกออกแล้วทาการโปรแกรมไมโคร คอนโทรลเลอร์ AVR Prog จะทาการโปรแกรมให้จนเสร็จส้ิน แต่จะไม่สามารถนาชิปตัวเดิมนั้นมาทาการ โปรแกรมใหม่ โดยใช้ AVR Prog ได้อีก ต้องนาไปแก้ไขด้วยกระบวนการโปรแกรแบบใช้แรงดันสูงด้วย เคร่ืองโปรแกรมเฉพาะ เชน่ ALL-11, AVR ISP Mark II เป็นตน้ 6.3 กาหนดโหมดความถี่ของออสซิลเลเตอร์ เป็นแบบ Ext XTAL, High frequency ในกรณีที่ไมโครคอนโทรลเลอร์ AVR ต่อคริสตอลภายนอกเพ่ือกาหนดสัญญาณนาฬิกา (ห้ามเลือกออกหรือ เปลยี่ นแปลงโดยเดด็ ขาด เวน้ แตจ่ ะจา่ ยสัญญาณนาฬิกาดว้ ยวิธอี น่ื ) 6.4 กดปุ่ม Write เพื่อบันทึกรปู แบบที่กาหนดไว้ ผ้ใู ชง้ านสามารถกดปุ่ม Chip Erase เพื่อลบข้อมูลในหน่วยความจาโปรแกรมภายในไมโครคอนโทรลเลอร์ แล้วกดปุ่ม Close เพอ่ื จบข้นั ตอนการ ตง้ั คา่ พิเศษ 7. เรยี กไฟลน์ ามสกุล .hex โดยคลกิ ที่ Browse… 8. กดปุ่ม Program เพื่อโปรแกรมข้อมูลไปยังไมโครคอนโทรลเลอร์ ไฟสีแดงของเคร่ือง โปรแกรม PX-4000 จะติดสว่างจนกว่าการโปรแกรมจะเสร็จส้ิน ในขณะท่ีแถบสถานะจะแสดงผลการ ทางานในขนั้ ตอนต่างๆ จนการโปรแกรมเสร็จสนิ้ ไมโครคอนโทรลเลอร์ AVR บนแผงวงจรจะทางานทันที 91
สาหรบั ไฟแสดงผลของ PX-4000 จะแจ้งสถานะการทางานดงั น้ี - สีเขียว : Ready คือ พร้อมทาจะทางาน และสถานะของไฟเลยี้ ง - สีแดง : Busy คือ ขณ ะนี้เครื่องโปรแกรมกาลังทาการติดต่อกับไมโคร คอนโทรลเลอร์และซอฟต์แวร์ที่ใช้ในการโปรแกรม ไม่ว่าจะติดต่อเพ่ืออ่าน เขียน ลบ หรือตรวจสอบข้อมูล ไฟสีแดงจะตดิ สว่างในขณะทไี่ ฟสเี ขยี วจะดบั ลง 5.6.2.4 การใช้งาน AVR Prog ผา่ นทาง AVR Studio โดยไมต่ ้องสร้างไฟลโ์ ปรเจ็กต์ ผู้ใชง้ านสามารถใช้งานซอฟต์แวร์ AVR Prog ไดโ้ ดยไม่ตอ้ งสรา้ งไฟลโ์ ปรเจก็ ต์ โดยปฏิบัติ ตามขั้นตอนดังนี้ 1. เช่ือมต่อ PX-4000 เข้ากับบอร์ดหลัก MicroBOX และพอร์ต USB ของคอมพิวเตอร์ (ตอ้ งแนใ่ จวา่ พอร์ตเชอื่ มต่อของ PX-4000 หรอื USB Serial Port ท่ีเกดิ ขนึ้ ตอ้ งมีตาแหนง่ ไม่เกิน COM4) 2. จ่ายไฟเล้ียงให้แกว่ งจร 3. เปิด Window Explorer ไปท่ี C:\\Program Files\\Atmel\\AVR Tools\\AvrProg จะ พบไฟล์ AvrProg.exe ดับเบิลคลิกท่ไี ฟล์เพื่อรันโปรแกรม เพียงเทา่ นี้ก็สามารถใช้งาน AVR Prog ตามขั้นตอนที่ 3 ถึง 8 ของหัวข้อ 5.6.2.4 ในการ โปรแกรมไมโครคอนโทรลเลอร์ AVR ได้ 5.7 ข้อควรปฏบิ ตั ใิ นการทดลองหนุ่ ยนต์ IPST-BOT เพ่ือให้เคร่ืองมือและอุปกรณ์อยู่ในสภาพที่พร้อมทางานตลอดเวลา ส่ิงท่ีควรกระทาทุกคร้ังท่ีใช้งานชุด ห่นุ ยนต์ IPST-BOT คือ 1. ปิดสวติ ช์ POWER ทกุ ครั้งท่ีมกี ารถอดหรือตอ่ สายเข้ากับคอมพิวเตอรแ์ ละชดุ โปรแกรม 2. ปดิ สวิตช์ POWER ทกุ คร้ังทมี ีการต่อหรือปลดสายของแผงวงจรตรวจจับสัญญาณหรืออุปกรณ์ใดๆ เขา้ กบั แผงวงจรควบคมุ MicroBOX 3. หลังจากที่ทดลองเสร็จในแต่ละการทดลอง ควรปิดสวิตช์ก่อนท่ีจะทาการปลดสายสัญญาณเพื่อต่อ แผงวงจรใหมเ่ ขา้ ไปเพือ่ ทาการทดลองในหวั ข้อใหม่ 4. ในกจิ กรรมการทดลองที่ต้องนาหนุ่ ยนต์มาทาการเคล่อื นที่ ควรปลดชุดโปรแกรมออกจากแผงวงจร MicroBOX กอ่ นเสมอ เพือ่ ปอ้ งกันการฉุดรง้ั สายกับพอร์ต USB ของคอมพิวเตอร์ 5. ไม่ควรปลดหรือต่อสายสัญญาณของแผงวงจรใดๆ เข้าไปในแผงวงจร MicroBOX ในขณะท่ี MicroBOX กาลังทางาน เว้นแต่มีขั้นตอนการปฏิบัติอ่ืนใดท่ีระบุเจาะจงว่าต้องต่อสายสัญญาณในขณะ ทางานของการทดลองนัน้ ๆ 6. หากมีความผิดพลาดใดๆ เกิดข้นึ ตอ้ งปดิ สวติ ช์ POWER ทันที 7. ไม่ใชอ้ ะแดปเตอรไ์ ฟตรงท่มี ีแรงดนั ขาออกเกนิ +18V กับแผงวงจร MicroBOX 92
8. เลือกใช้แหล่งจ่ายไฟระหว่างแบตเตอรี่หรืออะแดปเตอร์เพียงอย่างใดอย่างหน่ึง ห้ามใช้พร้อมกัน ท้ังสองแบบอย่างเด็ดขาด 9. หลังจากเสร็จส้ินการทดลองให้ปลดสายเช่ือมต่อคอมพิวเตอร์และสายของอะแดปเตอร์หรือ แหลง่ จ่ายไปออกจากแผงวงจร MicroBOX เสมอ 93
บทท่ี 6 ชุดคาสงั่ ในไลบรารขี่ องโปรแกรมภาษา C สาหรับชุดหนุ่ ยนต์ IPST-BOT เพ่ือให้การพัฒนาโปรแกรมภาษา C สาหรับควบคุมหุ่นยนต์ IPST-BOT เป็นไปอย่างสะดวกและ ง่ายต่อการพัฒนา ผู้ผลิตซอฟต์แวร์ได้จัดทาไฟล์ไลบรารีเพ่ือรองรับการติดต่อกับอุปกรณ์ภายนอก เช่น อุปกรณ์แสดงผล วงจรขับมอเตอร์ อุปกรณ์ตรวจจับสัญญาณหรือเซนเซอร์ เป็นต้น รวมทั้งไฟล์ไลบรารี เกี่ยวกับการทาหนดหรือสร้างฐานเวลา ในการใช้งานไฟล์ไลบรารีดังกล่าวจาเป็นต้องคัดลอกไฟล์ไลบรารีไว้ ในโฟลเดอร์เดียวกับซอร์สโปรแกรมหลักเพื่อความสะดวกในการตรวจสอบและเช่ือมโยงไฟล์ จากน้ันจึง ผนวกไฟล์ไลบรารีท่ีต้องการใช้งานเข้าไปในซอร์สโปรแกรมด้วยการประกาศใน Preprocessor Directive หรือ #include<library.h> 6.1 in_out.h เป็นไลบรารีท่ีบรรจุชุดคาส่ังการอ่านและเขียนค่ากับพอร์ตอินพุต / เอาท์พุตของไมโครคอนโทรลเลอร์ การเรยี กใช้งานฟงั ก์ชันภายในไลบรารตี อ้ งผนวกไลบรารีที่ตอนตน้ ของโปรแกรมด้วยคาส่ัง #include <in_out.h> 6.1.1 ฟงั กช์ นั in in_a : อ่านคา่ สัญญาณดิจิตอลจากพอรต์ A in_b : อา่ นคา่ สญั ญาณดิจติ อลจากพอรต์ B in_c : อ่านค่าสัญญาณดจิ ติ อลจากพอร์ต C in_d : อา่ นคา่ สัญญาณดิจติ อลจากพอร์ต D รูปแบบฟังก์ชนั char in_a(x); char in_b(x); char in_c(x); char in_d(x); โดยท่ี x คือ การกาหนดพอร์ตทต่ี ้องการ มีคา่ ต้งั แต่ 0 ถงึ 7 การคืนค่า 0 หรอื 1 94
ตัวอย่างที่ 6.1 // ประกาศตวั แปร x เพอื่ เกบ็ คา่ ผลลพั ธจ์ ากการอ่านค่าระดับสญั ญาณ char x; // อา่ นคา่ ระดับสัญญาณดิจิตอลจากพอรต์ PB2 แล้วเกบ็ คา่ ไวท้ ี่ x x = in_b(2); ตัวอยา่ งที่ 6.2 // ประกาศตัวแปร x เพื่อเก็บค่าผลลพั ธจ์ ากการอ่านค่าระดับสญั ญาณ char x; // อ่านคา่ ระดับสญั ญาณดิจิตอลจากพอร์ต PD4 แลว้ เก็บค่าไว้ท่ี x x = in_d(4); 6.1.2 ฟงั กช์ นั out out_a : กาหนดค่าสญั ญาณดจิ ิตอลท่ีพอร์ต A out_b : กาหนดคา่ สญั ญาณดิจิตอลที่พอร์ต B out_c : กาหนดค่าสญั ญาณดิจติ อลที่พอรต์ C out_d : กาหนดคา่ สญั ญาณดจิ ิตอลที่พอร์ต D รปู แบบฟงั กช์ ัน out_a (char bit, char dat); out_b (char bit, char dat); out_c (char bit, char dat); out_d (char bit, char dat); โดยที่ bit คือ การกาหนดพอรต์ ทตี่ ้องการ มีคา่ ต้งั แต่ 0 ถึง 7 dat คือ การกาหนดคา่ ของข้อมลู มคี ่าเปน็ 0 และ 1 ตวั อย่างท่ี 6.3 // กาหนดให้พอร์ต PA3 มีค่าเป็น 1 out_a (3, 1); // กาหนดให้พอร์ต PB6 มคี า่ เป็น 0 out_b (6, 0); // กาหนดใหพ้ อรต์ PD7 มคี า่ เป็น 0 out_d (7, 0); 6.1.3 ฟงั ก์ชัน toggle toggle_a : กลบั คา่ สญั ญาณดิจติ อลที่พอร์ต A toggle _b : กลบั คา่ สญั ญาณดิจิตอลที่พอร์ต B toggle _c : กลบั คา่ สัญญาณดิจติ อลท่ีพอร์ต C toggle _d : กลับคา่ สญั ญาณดิจิตอลที่พอรต์ D 95
Search
Read the Text Version
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189