ร้ ู จักไมโครคอนโทรลเลอร์ และการเขียนโปรแกรมพืน้ ฐาน รองศาสตราจารย์ธีรวัฒน์ ประกอบผล คณะวิทยาศาสตร์ สถาบันเทคโนโลยีพระจอมเกล้าเจ้าคุณทหารลาดกระบัง Email : kpteeraw@kmitl.ac.th
L/O/G/O
เนือ้ หา 1
ความรู้พนื ้ ฐานเกี่ยวกับการจัดกิจกรรม
2
รู้จักไมโครคอนโทรลเลอร์
3
การนาไมโครคอนโทรลเลอร์ ไปใช้ งาน
4
การเขียนโปรแกรมให้ ไมโครคอนโทรลเลอร์
5
การประยุกต์ ใช้ ไมโครคอนโทรลเลอร์ www.themegallery.com
ตัวอย่างการจัดกิจกรรม •
•
สร้ างกิจกรรมที่เน้ นการเรียนรู้ การรวมความคิด การแก้ ปัญหาจากหลากหลายรายวิชา เช่ น การ สร้ างหุ่นยนต์ จากไมโครคอนโทรลเลอร์ , การ ทดลองกับตัวตรวจวัด , การเชื่อมต่ อ คอมพิวเตอร์ เบือ้ งต้ น ใช้ ICT เป็ นตัวเชื่อมโยงกิจกรรม
www.themegallery.com
www.themegallery.com
ปั ญหาที่พบสาหรั บเด็กไทย อยากจะต่ ออย่ างเดียว • ไม่ คดิ แบบวิทยาศาสตร์ •
เป็ นเด็กเล็กไม่วา่ กัน ถ้ าคิดจะดีขึ ้น
www.themegallery.co
www.themegallery.com
ระบบควบคุมอัตโนมัติ ฟิ สิกส์ , เคมี, อื่น ๆ
อินพุต
เขียนโปรแกรมคอมพิวเตอร์
ระบบควบคุม อัตโนมัติ
เอาต์ พุต
วิชาพืน้ ฐานการสร้ างหุ่นยนต์ การสร้ างหุ่นยนต์ มีโครงสร้ างวิชาหลัก ๆ ดังต่ อไปนี ้ วิทยาศาสตร์ ประยุกต์
ระบบวัด
ระบบควบคุม คอมพิวเตอร์
www.themegallery.com
เล่นกับ LED ทาได้ ง่ายเมือ่ ใช้ uc
สร้ างวงจร Timer ควบคุมจังหวะเวลา
ขับหลอด LED ได้ มากขึน้ ต่ อกับพอร์ ตโดยตรง
www.themegallery.com
สร้ างโครงงานได้ ง่าย ๆ เครื่องวัดอุณหภูมิอย่ างง่ าย แสดงผลทาง LED 7 ส่ วน 2 หลัก ส่ งข้ อมูลแบบอนุกรม ใช้ สัญญาณน้ อย
วัด
ประมวลผล
แสดงผล www.themegallery.com
การใช้ งานไมโครคอนโทรลเลอร์
ตัวตรวจรู้
หน่ วยแสดงผล
สวิตซ์
LED / LCD
A/D Real Time clock
uC
หน่วยความจา ROM & RAM
พอร์ ตอินพุต เอาต์พตุ
D/A
ลาโพง
ตัวนับ ตัวจับเวลา หน่วยทางานพิเศษอื่น ๆ www.themegallery.com
คุณลักษณะของไมโครคอนโทรลเลอร์ • • •
• •
•
มีไมโครโปรเซสเซอร์ เป็ นส่ วนประกอบ มีหน่ วยความจาโปรแกรมและข้ อมูลอยู่ภายใน มีตัวนับตัวจับเวลา มีวงจรแปลง A/D และ D/A อยู่ภายใน สามารถโปรแกรมพอร์ ตให้ ใช้ งานเป็ นอินพุต หรื อเอาต์ พุตได้ เชื่อมต่ อกับอุปกรณ์ ดจิ ติ อลได้ ง่าย www.themegallery.com
ไมโครคอนโทรลเลอร์ ชนิดต่ าง ๆ ที่นิยมใช้ กันมีหลายตระกูล เลือกใช้ ได้ ตามความเหมาะสม
• • • • •
Z-80 ไมโครโปรเซสเซอร์ MCS-51 ไมโครคอนโทรลเลอร์ PIC มีให้ เลือกหลายเบอร์ หลายขนาด AVR มีความเร็วสู ง ARM นิยมใช้ ในโทรศัพท์ ,PDA , เครื่องคิดเลข
www.themegallery.com
ไมโครคอนโทรลเลอร์ ตระกูล PIC เป็ นอีกตระกูลหนึ่งที่น่าสนใจ
มีให้ เลือกหลายเบอร์ พิจารณาว่ าต้ องการพอร์ ตเท่ าไร หน่ วยความจาเท่ าไร มีwww.themegallery.com คาสั่งมากหรือไม่
มีเครื่องโปรแกรมและชุด พัฒนาเฉพาะ เขียนได้ หลายภาษา
www.themegallery.com
การนาไมโครคอนโทรลเลอร์ไปใช้งาน • ต่อไฟเลี้ ยง • ให้สญ ั ญาณนาฬิกา • วงจรรีเซต • ต่ออุปกรณ์ภายนอกเพิ่มเติม • เขียนโปรแกรม
วงจรรีเซต
ต่ อไปเลีย้ ง
สัญญาณนาฬิกา
ต่ ออุปกรณ์ ภายนอกเพิ่มเติม
การเขียนโปรแกรมสาหรั บไมโครคอนโทรลเลอร์
เขียนด้ วยภาษาแอสแซมบลี • เขียนด้ วยภาษาระดับสูง • แปลงเป็ นรหัสภาษาเครื่ อง • โปรแกรมลงไปบนชิป •
MOV R1 , 12H int x,y;MOV R2 , 23H x = 4; MOV A , R1 AA: y = 5; ADD A , R2 x011011001100110110101 = x+ y; 20H , A MOV P1 = x; 110011110010110010111 INC R2 P2 = y; 010111000001110110111 INC R1 JMP AA
ปั จจุบันไมโครคอนโทรลเลอร์ ใช้ หน่ วยความจา โปรแกรมประเภท Flash Memory ทาให้ โปรแกรม ได้ หลายครัง้ และโปรแกรมโดยไม่ ต้องถอดออกจากวงจรได้ (In-System Programmable) www.themegallery.com
บอร์ ต OBEC • • • • • •
ใช้ ไมโครคอนโทรลเลอร์ เบอร์ 89G516 หน่ วยแสดงผลแบบ LED 7 ส่ วน 8 หลัก สแกนด้ วยชิป พอร์ ตต่ อตัววัดอุณหภูมิ DS18S20 มีไอซีฐานเวลาจริง (RealTime Clock) เบอร์ วงจรสื่อสารอนุกรมแบบ RS232/RS485 ตัวต้ านทานปรับค่ าได้ แบบ TRIMPOT 25 รอบ สาหรับ A/D จานวน 2 ชุด ขนาด 5k และ 50k • วงจร DC อินพุตแบบ Opto-Isolate (Active Low) ทีส่ ามารถเลือกเป็ น 5,12 โวลต์ ได้ มีรีเลย์ สาหรับเชื่อมต่ อกับภายอก • ขั้วต่ อสาหรับรับข้ อมูลจาก Sensor ขนาด 12 โวลต์ • พอร์ ตเชื่อมต่ อกับพอร์ ตของชิป www.themegallery.com
www.themegallery.com
ลาโพง
หน่วยแสดงผลตัวเลข 8 หลัก
สวิตซ์ รีเซต
ไมโครคอนโทรลเลอร์
รีเลย์
RS232
www.themegallery.com
การทดลองนาสัญญาณอนาลอกเข้ าไปประมวลผลอย่ างง่ าย หากต้ องการใช้ บอร์ ดทดลองจาลองการทางานของระบบทีร่ ับสัญญาณอนาลอกเข้ าไป ประมวลผลตามเงือ่ นไขทีก่ าหนดแล้วให้ เอาต์ พุตออกมา สามารถใช้ ส่วนประกอบของบอร์ ตทดลองได้ ดงั รู ปต่อไปนี้ Microcontroller +5
ตัวต้ านทานปรับ ค่าได้
LED 8 หลอด หรือแสดงตัวเลข
แรงดันไฟฟ้าระหว่าง 0 ถึง +5 โวลต์ www.themegallery.com
การทดลองกับวงจรแปลงสัญญาณอนาลอกเป็ นดิจติ อล การทดลองระบบควบคุมอุณหภูมอิ ย่ างง่ าย เตาควบคุมอุณภูมิ Microcontroller
Output
Heater
Output
Fan
Sensor
Input
www.themegallery.com
www.themegallery.com
การเชื่อมต่ อกับคอมพิวเตอร์ แสดงผลตัวเลข
Microcontroller
Output Heater
Output
Output
Fan
Output
Sensor
Buzzer
Input
RS232-485
Key
PC
www.themegallery.com
การแสดงผลทางหลอด LED •
• • •
สามารถต่ อกับพอร์ ตได้ โดยตรง ง่ าย หนึ่งหลอดหนึ่งบิต ทดสอบโปรแกรมได้ ง่าย ต้ องพิจารณาการขับกระแสของพอร์ ตด้ วย
www.themegallery.com
พอร์ ตของ 89G516 จุดต่อภายนอก
• มีพอร์ ต 4 พอร์ ต • บางบิตโปรแกรมเป็ นอินพุตหรือเอาต์ พุตได้ หลายแบบ • การใช้ งานต้ องพิจารณาโครงสร้ างภายในด้ วย
www.themegallery.com
ตัวนับตัวจับเวลา • •
รั บสัญญาณนาฬิกาภายนอก เป็ นตัวนับ รั บสัญญาณนาฬิกาภายใน เป็ นตัวจับเวลา
www.themegallery.com
การทดลองที่ 1 แสดงผลทางบิตพอร์ ต • นาหลอด LED มาต่ อ แล้วเขียนโปรแกรมส่ งค่าลอจิก ออกมา “0” หรือ “1” ออกมา หน้ าที่ของเราต้ องเขียนโปรแกรมอ่ านทีละบิตออกมา
uC
PORT P1
sbit sbit sbit sbit sbit sbit sbit sbit
P10 P11 P12 P13 P14 P15 P16 P17
= = = = = = = =
P1^0; P1^1; P1^2; P1^3; P1^4; P1^5; P1^6; P1^7;
P10 P11 P12 P13 P14 P15 P16 P17
= = = = = = = =
1; 0; 1; 0; 1; 0; 1; 0;
www.themegallery.com
การทดลองที่ 2 แสดงผลเป็ นตัวเลข • นาหลอด LED 7 ส่ วนมาต่ อกัน 8 หลัก ใช้ MAX7219
หลัก
uC
• dis_num_digi(x , y);
• dis_num(x );
ตัวเลข
• disclear(); หน้ าที่ของเราต้ องเขียนโปรแกรมส่ งค่ าไปให้www.themegallery.com กับฟั งก์ ชันแสดงผล
การทดลองที่ 3 นาฬิ กา • เขียนโปรแกรมติดต่ อกับชิปฐานเวลาจริง หน่ วยแสดงผล
uC
setrtc(d, mo, y, h, mi, se)
ไอซีฐานเวลาจริง dis_rtc() rt_rtc(m)
www.themegallery.com หน้ าที่ของเราต้ องเขียนโปรแกรมอ่ านค่ าเวลาออกมาเป็ นรหัส BCD แล้ วนามาแสดงผล หรือใช้ งาน
การทดลองที่ 4 ตัววัดอณ ุ หภูมิ • ใช้ ชิป DS18S20 ที่ให้ ผลลัพธ์ ออกมาเป็ นแบบดิจติ อล หน้ าที่ของเราต้ องเขียนโปรแกรมอ่ านทีละบิตออกมา
DS18S20
uC GND
Vcc
ส่งข้ อมูลแบบดิจิตอล 16 บิต
อุณหภูมิ +85 +125 +25.0 +0.5 0 -0.5 -25.0
ดิจติ อล Hex 0000 0101 0101 0000 0550H 0000 0000 1111 1010 00FAH 0000 0000 0011 0010 0032H 0000 0000 0000 0001 0001H 0000 0000 0000 0000 0000H 1111 1111 1111 1111 FFFFH www.themegallery.com 1111 1111 1100 1110 FFCEH
การนาหุ่นยนต์ มาเป็ นเครื่ องมือจัดการเรี ยนรู้ • เป็ นสื่อการสอนให้ นักเรียนได้ ฝึกคิดสร้ างสรรค์ • กระตุ้นให้ เด็กเกิดความคิด จินตนาการ การเรี ยนรู้ ความอยากรู้ และลงมือทา • ทาให้ เด็กชอบวิทยาศาสตร์ เพราะครู นาการทดลองมาให้ ทา • ไม่ ได้ เป็ นการสอนตามหลักสูตรแกนกลาง แต่ เป็ นการสอนเสริ มในเรื่ องต่ าง ๆ • การเรี ยนจะไม่ สมบูรณ์ หากครู ไม่ เป็ นผู้กระตุ้นให้ เกิดคาถาม และแนะนาเด็ก • เป็ นเครื่ องมือจัดกิจกรรมการสอนแบบองค์ รวม • เป็ นเครื่ องมือในการออกแบบการจัดการเรี ยนรู้ แบบเน้ นผู้เรี ยนเป็ นสาคัญ
www.themegallery.com
เนือ้ หาแยกเป็ นช่ วงชัน้ ธรรมชาติของเด็กประถม ชอบเรียนรู้ ชอบเล่ น ชอบทาสิ่งใหม่ ๆ ที่ ตนเองไม่ เคยทามาก่ อน ช่ วงชัน้ ที่ 1
ช่ วงชัน้ ที่ 2
ช่ วงชัน้ ที่ 3
รู้จกั การสร้ างสิ่งประดิษฐ์ อย่ างง่ ายโดยใช้ อุปกรณ์ พนื ้ ฐาน เข้ าใจการต่ อวงจรไฟฟ้า การต่ อแบตเตอรรี การควบคุม มอเตอร์ การสร้ างหุ่นยนต์ อย่ างง่ าย
รู้จักองค์ ประกอบและโครงสร้ างของหุ่นยนต์ วงจรสวิตซ์ การควบคุมมอเตอร์ เซนเซอร์ อย่ างง่ าย หลักการแก้ ปัญหา โดยใช้ ภาษาโลโก้
เขียนโปรแกรม เชื่อมโยงกับงาน วิทยาศาสตร์ www.themegallery.com
เนือ้ หาแยกเป็ นชัน้ ปี •
•
•
ป.1 สร้ างสิ่งประดิษฐ์ ห่ นุ ยนต์ จากวัสดุเหลือใช้ เช่ น แกนกระดาษทิชชู กระดาษสี กระดาษแข็ง หลอดกาแฟ กระดาษกาว เพื่อสร้ างเป็ นตัว หุ่นยนต์ ขนาดเล็ก ป.2 การต่ อวงไฟฟ้า การต่ อถ่ านไฟฉาย การต่ อหลอดไฟ การต่ อมอเตอร์ เป็ นพัดลม สร้ างหุ่นยนต์ อย่ างง่ ายโดยมีมอเตอร์ เป็ นส่ วนประกอบ เช่ น หุ่นยนต์ โดเรมอนมีใบพัด ป.3 วงจรขนาน การต่ อมอเตอร์ สองตัว การสร้ างหุ่นยนต์ อย่ างง่ าย นา สิ่งประดิษฐ์ จาก ป1 มาประกอบเพื่อตกแต่ งหุ่นให้ ดสู วยงาน
• ป.4 การต่ อวงจรมอเตอร์ ให้ สามารถหมุนได้ สองทิศทาง มีไฟแสดงการ เดินหน้ า ถอยหลัง อุปกรณ์ ทใี่ ช้ เป็ นดังนี้
• ป.5 รู้ จกั โครงสร้ างหุ่นยนต์ รู้ จกั เซนเซอร์ อย่ างง่ าย วงจรสวิตซ์ สาหรับ ควบคุมให้ มอเตอร์ หมุนซ้ ายขวา สร้ างหุ่นยนต์ แบบชนแล้ วถอยหลังได้ เอง นา ไมโครคอนโทรลเลอร์ มาใช้ โดยโหลดโปรแกรมตัวอย่ างเพือ่ ทดลองใช้ งาน
• ป.6 การแก้ ปัญหา การวิเคราะห์ การทางาน การออกแบบโปรแกรมอย่ างง่ าย เขียนโปรแกรมด้ วยภาษาโลโก้
www.themegallery.com
วิชาพืน้ ฐานการสร้ างหุ่นยนต์ การสร้ างหุ่นยนต์ มีโครงสร้ างวิชาหลัก ๆ ดังต่ อไปนี ้ วิทยาศาสตร์ ประยุกต์
ระบบวัด
ระบบควบคุม คอมพิวเตอร์
www.themegallery.com
องค์ ประกอบของหุ่นยนต์ อย่ างง่ าย ภาคเชนเซอร์
จ่ าย พลังงาน
ภาคควบคุม
ภาคเคลื่อนไหว
หุ่นยนต์ ตามที่ออกแบบขึน้ www.themegallery.com
มอเตอร์ •
แปลงพลังงานไฟฟ้าเป็ นพลังงานกล
[ Image information in product ] Image : www.opanas.com Note to customers : This image has been licensed to be used within this PowerPoint template only. You may not extract the image for any other use.
www.themegallery.com
ภาคจ่ ายไฟ ภาคจ่ ายไฟเป็ นส่ วนที่ให้ พลังงานกับหุ่นยนต์ แบบเตอรรี่ แบตเตอรรี่ซงิ ้ ค์ คาร์ บอน แบตเตอรรี่อลั คาไลท์ แบตเตอรรี่นิเกิลแคดเมียม นิเกิลเมทัลไฮไดร แบตเตอรรี่ลิเทียมไอออน
หม้ อแปลงไฟฟ้า • ใช้ ไฟบ้ าน • ใช้ หม้ อแปลงไฟฟ้า
แผงเซลแสงอาทิตย์ พลังงานขึน้ กับขนาดของ เซล
• เรกกูเลตเตอร์
www.themegallery.com
แบตเตอรรีชนิดต่ าง ๆ
www.themegallery.com
ขัน้ ตอนการสร้ างหุ่นยนต์ ออกแบบสร้ างและทดสอบ เลือกวัสดุอุปกรณ์ ท่ ตี ้ องนามาใช้ เขียนแบบโครงร้ างของหุ่นยนต์
วิเคราะห์ ความต้ องการของงาน Description of the products www.themegallery.com
ตั้งคาถามจากหุ่นยนต์ แรงบิดเท่าไร
1.
แรงบิด
4. ควบคุมการ
ควบคุม
รอบ
ทางานได้ อย่างไร
5. กินพลังงาน
2. รอบการหมุนเป็ น
พลังงาน
เท่าไร
เท่าไร
3. จะควบคุม
ทิศทางได้ อย่างไร
ทิศทาง www.themegallery.com
ครูต้องตัง้ ปั ญหา •
ระบบนีช้ ่ วยทดแรงได้ อย่ างไร
www.themegallery.com
www.themegallery.com
ระบบเครื่ องมือวัด 1. ตรวจจับ
การทางาน สอดคล้ องกัน
แสดงผล
3.
2. ปรั บแต่ ง
www.themegallery.com
ระบบเครื่องมือวัด ( Instrumentation System ) •
ตรวจจับ ( Transducer ) : วัดปริมาณทางฟิ สิกส์ เช่ น ปริมาณความร้ อน ความเข้ มของแสงสว่ าง ความดังของเสียง การ เปลี่ยนแปลงของแม่ เหล็กไฟฟ้า ค่ าอุณหภูมิ ค่ าความดัน
•
ปรับแต่ ง ( Signal processing Unit ) : เปลี่ยนแปลงค่ าให้ ดยี ่ งิ ขึน้ เช่ น ค่ าแรงดันไฟฟ้า (V) หรือ ค่ ากระแสไฟฟ้า ( I ) ที่ส่งมาจากตัวตรวจจับ อาจจะมากหรือน้ อย แล้ วให้ ไฟฟ้าออกมาใช้ งาน
•
แสดงผล ( Record & Display ) : แสดงค่ าที่วัดได้ ให้ เห็น เช่ น มิเตอร์ แสดงผลเป็ นเข็มชีท้ ่ แี ผงหน้ าปั ทม์ หรือ เป็ นตัวเลขแบบดิจิตอล
www.themegallery.com
ระบบเครื่องมือวัด ( Instrumentation System ) LT TT LT PT
DSPU DSPU : Digital Signal Processing Unit
www.themegallery.com
การจัดการเรียนการสอนในโรงเรียน จัดในหลักสูตรการงานอาชีพและเทคโนโลยี จัดเป็ นกิจกรรมพัฒนานักเรียน
จัดเป็ นโครงการสอนเสริมเพิ่มศักยภาพ
www.themegallery.com
การจัดกิจกรรมด้านวิชาการ วางรากฐานวิทยาศาสตร์ คณิตศาสตร์ท่ จี าเป็ น ฝึ กทักษะกระบวนการคิดวิเคราะห์
ใช้ทฤษฏีการสร้างความรูด้ ว้ ยตนเอง ฝึ กแก้ปัญหาโจทย์ดว้ ยตนเอง ครูผูส้ อนควรทาวิจยั ควบคู่กบั การเรียนการสอน
ปัจจัยที่ส่งผลต่อความสาเร็จ ครูวิทยาศาสตร์ และคอมพิวเตอร์
ครูผูส้ อน ต้องเข้าใจถึงวัตถุประสงค์ นักเรียน ต้องรักที่จะทาหุ่นยนต์ ผูบ้ ริหาร ต้องสนับสนุ น ผูป้ กครอง ต้องคอยชี้ แนะอย่างถูกต้อง
ทิศทางการพัฒนาการเรียนรู้เทคโนโลยีห่นุ ยนต์ ในระดับการศึกษาขั้นพื้นฐานของประเทศ รู จ ้ กั ระบบการวัด รูจ้ กั ระบบควบคุม รูจ้ กั การเขียนโปรแกรมคอมพิวเตอร์ ใช้ หุ่นยนต์และสิ่ งประดิษฐ์เป็ นเครื่ องมือ
ส่ งเสริ มกระบวนการพัฒนาทักษะกระบวนการคิด พัฒนาเทคโนโลยีใหม่ ส่ งเสริ มการพั ฒนาทักษะกระบวนการคิดแก้ปัญหา และสิ่ งประดิษฐ์ที่มีใช้งานได้จริ ง www.themegallery.com
Thank you! www.themegallery.com
L/O/G/O