Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอร์(Microcontroller)

เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอร์(Microcontroller)

Published by narumon.rup, 2021-05-28 13:31:05

Description: เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอร์(Microcontroller) รหัสวิชา 3105-2007

Search

Read the Text Version

0 เอกสารประกอบการสอน 36

ก คานา เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอร์(Microcontroller) รหัสวิชา 3105-2007 เรียบเรียงข้ึนตามหลักสูตรประกาศนียบัตรวิชาชีพชั้นสูง พุทธศักราช2557 ของสานักงานคณะกรรมการ การอาชีวศึกษา กระทรวงศึกษาธิการ เอกสารนี้ได้มีการพัฒนาและปรับปรุงมาอย่างต่อเน่ือง เพื่อให้การ เรียนการสอนบรรลุจุดมุ่งหมาย และผู้เรียนสามารถนาไปใช้ในการเรียน และประยุกต์ใช้ในชีวิตประจาวันได้ เปน็ อยา่ งดี เอกสารประกอบการสอนฉบับนี้ประกอบด้วยสาระสาคัญเกี่ยวกับ โครงสร้างและส่วนประกอบ ไมโครคอนโทรลเลอร์ ชุดคาสั่งและการเขียนโปรแกรมควบคุม การเช่ือมต่อผ่านพอร์ตอนุกรม การ เชื่อมต่อไมโครคอนโทรลเลอร์กับอุปกรณ์อินพุต อ่านค่าแอนนาล๊อก การเช่ือมต่อไมโครคอนโทรลเลอร์ กับอุปกรณ์เอาต์พุต การควบคุมมอเตอร์ การประยุกต์ใช้งานไมโครคอนโทรลเลอร์กับจอแสดงผลและ ไอซีสร้างฐานเวลาจริง และการประยุกต์ใช้งานไมโครคอนโทรลเลอร์กับไอซีตรวจวัดอุณหภูมิและโมดูล ตรวจจับสัญญาณอินพตุ ผเู้ รียบเรียงหวังเป็นอย่างย่ิงว่า เอกสารประกอบการสอนฉบับน้ี จะเกิดประโยชน์ต่อผู้เรียน และ ผู้สนใจโดยท่ัวไป ผู้เรียบเรียงขอขอบพระคุณผู้ที่มีส่วนร่วมทุกท่านที่ให้คาแนะนา ให้ข้อคิดเห็น ข้อเสนอแนะ และเจ้าของเอกสาร ตารา และแหล่งเรียนรู้ต่าง ๆ ที่ใช้ศึกษา ค้นคว้าและอ้างอิง ขอขอบพระคุณคณะกรรมการตรวจผลงานวิชาการทุกท่านท่ีได้ให้คาแนะนาในการแก้ไข ตรวจสอบ ผลงาน จนกระท่ังทาให้เอกสารฉบับนี้สมบูรณ์ พร้อมทั้งขอให้ผู้เรียน และผู้สนใจใช้เอกสารบรรลุ ผลสาเร็จตามวตั ถุประสงคท์ ี่ต้องการ นายชชู าติ เป็นมงคล ครวู ิทยฐานะ ครูชานาญการ

ข คานยิ ม นายชูชาติ เปน็ มงคล ตาแหน่ง ครูอันดับ คศ. 2 สังกัดวทิ ยาลยั เทคนิคอุดรธานี ได้จัดทาเอกสาร ประกอบการสอน วิชาไมโครคอนโทรลเลอร์ (Microcontroller) รหัสวิชา 3105-2007 โดยมวี ัตถุประสงค์ เพ่ือใช้ประกอบการสอนในชั้นเรียน และเพ่ือให้ผู้เรียนเรียนรู้ด้วยตนเองและใช้ศึกษาเพิ่มเติมนอกเวลา เรียน โดยไดม้ ีการปรับปรุงเนือ้ หาและพัฒนาใหท้ ันสมัยอยา่ งต่อเนื่อง ซ่งึ เป็นเอกสารประกอบการสอนท่ีมี ความสมบูรณ์ช้ันสูง ตรงตามคาอธิบายรายวิชาและมาตรฐานวิชาท่ีสอดคล้องกับหลักสูตร ประกาศนียบตั รวิชาชพี ชัน้ สงู ซ่ึงทาใหผ้ ้เู รยี นสามารถนาความร้ไู ปใชใ้ นสถานประกอบการได้ในอนาคต นายชูชาติ เป็นมงคล ได้ปฏิบัติหน้าที่ในฐานะครูผู้สอนด้วยความวิริยะ อุตสาหะ และเป็นผู้ที่ ได้รับมอบหมายให้ปฏิบัติหน้าท่ีครูผู้สอนประจาแผนกวิชาช่างอิเล็กทรอนิกส์ เป็นผู้ที่มีความรู้ ความสามารถ และได้มีความเพียรพยายาม จนสามารถจัดทาเอกสารประกอบการ สอน วิชา ไมโครคอนโทรลเลอร์ (Microcontroller) รหัสวิชา 3105-2007 เลม่ นี้ ใหม้ คี วามสมบูรณ์และได้มาตรฐาน เพ่อื เป็นแบบอย่างท่ีดีสาหรบั ครผู ้สู อนทา่ นอื่นในการจดั ทาเอกสารประกอบการสอนวิชาอื่นตอ่ ไป ขอแสดงความช่ืนชม และขอสนับสนุนการนาเอกสารเล่มน้ีไปใช้ประกอบการสอนและเพื่อ ประกอบการศกึ ษาเพ่มิ เติม (นายสิทธิศักดิ์ ชาปฏิ) ผูอ้ านวยการวิทยาลัยเทคนิคอุดรธานี

รายละเอยี ดเอกสารประกอบการสอน ค คาอธบิ ายชุดวิชา ศึกษาเกี่ยวกับความรู้และปฏิบัติเก่ียวกับโครงสร้างสถาปัตยกรรมของไมโครคอนโทรลเลอร์ ลกั ษณะสัญญาณและกระบวนการทางาน การรับ-ส่งขอ้ มลู กบั อุปกรณ์เช่ือมต่อภายนอก ชดุ คาสั่งและการ เขียนโปรแกรม การวัดและทดสอบวงจรใช้งานของไมโครคอนโทรลเลอร์ การประยุกต์ใช้งานของ ไมโครคอนโทรลเลอร์ จุดประสงคช์ ุดวชิ า 1. เพอ่ื ใหผ้ ู้เรยี นมเี ข้าใจโครงสรา้ งและหลักการทางานของไมโครคอนโทรลเลอร์ การใช้ ชุดคาส่งั การประยกุ ต์ใช้งานไมโครคอนโทรลเลอร์กบั งานอ่นื ๆ 2. เพื่อให้ผ้เู รยี นมีความรคู้ วามเขา้ ใจถงึ การเขยี นโปรแกรมควบคมุ วเิ คราะหแ์ ละทดสอบ ระบบการทางาน ประยกุ ตไ์ มโครคอนโทรลเลอร์กับงานอื่นๆ 3. เพอื่ ให้ผู้เรียนมกี ิจนิสยั ในการทางานด้วยความประณตี รอบคอบและปลอดภัย ตระหนกั ถงึ คณุ ภาพของงานและมจี ริยธรรมในงานอาชีพ เน้อื หาของเอกสารประกอบการสอน ประกอบด้วย 9 หนว่ ยการเรยี นรู้ หนว่ ยท่ี 1 เรื่อง โครงสรา้ งและส่วนประกอบไมโครคอนโทรลเลอร์ หน่วยที่ 2 เรอื่ งชุดคาสง่ั และการเขยี นโปรแกรมควบคุม หน่วยที่ 3 เรอ่ื งการเชื่อมตอ่ ผา่ นพอรต์ อนกุ รม หน่วยท่ี 4 เรอ่ื งการเชอ่ื มตอ่ ไมโครคอนโทรลเลอร์กบั อุปกรณอ์ นิ พตุ หนว่ ยที่ 5 เรื่องการอา่ นค่าแอนนาลอ๊ ก หนว่ ยที่ 6 เร่อื งการเชอื่ มตอ่ ไมโครคอนโทรลเลอร์กบั อุปกรณเ์ อาต์พุต หน่วยท่ี 7 เรื่องการควบคุมมอเตอร์ หน่วยท่ี 8 เรื่อง การประยุกต์ใช้งานไมโครคอนโทรลเลอร์กับจอแสดงผลและไอซีสร้าง ฐานเวลาจรงิ หนว่ ยท่ี 9 เรอื่ งการประยกุ ต์ใช้งานไมโครคอนโทรลเลอร์กบั ไอซตี รวจวดั อณุ หภมู แิ ละ โมดลู ตรวจจับสัญญาณอนิ พุต

ง คาช้ีแจงการใชเ้ อกสารประกอบการสอน 1. การใช้เอกสารประกอบการสอน เน่ืองจากเอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอร์(Microcontroller)รหัสวิชา 3105- 2007ร ะดั บ ป ร ะก า ศ นี ย บั ต ร วิ ช าชี พ ชั้ น สู งมี จุ ด ป ร ะส งค์ เพ่ื อ ให้ ผู้ เรี ย น มี ค ว า ม รู้ ค ว า ม เข้า ใจ เกี่ ย ว กั บ กระบวนการเข้าใจแนวคดิ เพื่อนามาใชแ้ ละสามารถลงมือปฏิบตั ิได้จริง ซึ่งผู้เรียนควรระลกึ ไว้เสมอว่าการ เรียนรู้จาเป็นอย่างยิ่งท่ีจะต้องศึกษาและตอ้ งหม่ันทบทวนอยา่ งสมา่ เสมอเพ่อื ท่ีจะนาความรู้ไปประยุกตใ์ ช้ กับกระบวนการทางานต่างๆ ได้เปน็ อยา่ งดี 2. สว่ นประกอบของเอกสารประกอบการสอน เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอร์ (Microcontroller) รหัสวิชา 3105-2007 ระดับประกาศนียบัตรวชิ าชีพช้นั สูง ซึง่ มีเน้อื หาการเรียนรู้ จานวน 9 หน่วย แตล่ ะหนว่ ยประกอบด้วย 2.1 สาระสาคญั 2.2 สาระการเรียนรู้ 2.3 จุดประสงค์เชงิ พฤตกิ รรม 2.4 แบบทดสอบก่อนเรียน 2.5 เน้อื เรือ่ ง 2.6 แบบทดสอบหลงั เรยี น 2.7 แบบฝึกหัด 2.8 เฉลยแบบทดสอบกอ่ นเรียน 2.9 เฉลยแบบทดสอบหลังเรียน 2.10 เฉลยแบบฝึกหดั 3. ขั้นตอนการใช้เอกสารประกอบการสอนประกอบการเรียนรู้ ครูใหผ้ เู้ รยี นควรปฏบิ ัติตามขั้นตอนต่อไปน้ี 3.1 ทาแบบทดสอบก่อนเรียน เพ่ือวัดความรพู้ น้ื ฐาน 3.2 บทเรียนน้จี ะเสนอเน้ือหาเป็นเลม่ ขอให้อ่านและทาความเข้าใจอย่างแจ่มแจ้ง ในขณะ ที่ศึกษาเนอ้ื หา ถา้ มปี ัญหาหรอื มขี อ้ สงสัยใหป้ รกึ ษาครูทนั ที 3.3 เมื่อศึกษาเน้ือหาจนจบแล้ว ให้ทากิจกรรมทบทวนความรู้ความเข้าใจท้ายเล่ม แล้วจึง ตรวจสอบคาเฉลย 3.4 ทาแบบทดสอบหลังเรียน เพ่ือวัดความรู้ว่าเข้าใจหรือไม่อีกคร้ัง แต่อย่าลืมว่าต้องซ่ือสัตย์ต่อ ตนเอง โดยไม่เปิดดูเฉลยก่อนตอบ 3.5 ถ้าได้คะแนนน้อยกว่าการทาแบบทดสอบก่อนเรียน นักเรียนต้องกลับไปทบทวนเนื้อหา ใหม่อีกครั้งโดยสามารถทบทวนจากส่ืออื่น ๆ ที่ครูแจกให้ในชว่ั โมงแรกของการเรียนและถ้ายังไม่เข้าใจให้ สอบถามจากผ้สู อน

4. บทบาทผเู้ รยี น 4.1 ผเู้ รียนต้องปฏิบัติกจิ กรรมตามคาแนะนาของผ้สู อนอยา่ งเคร่งครดั 4.2 ผู้เรยี นตอ้ งพยายามทาแบบฝึกหดั / ฝกึ ปฏิบัตขิ ณะเรยี นอย่างเต็มความสามารถ 5. การจัดชั้นเรียน ใช้การจัดช้ันเรียนตามปกติ สาหรับการสอนภาคทฤษฎี โดยจัดการเรียนการสอนแบบอภิปราย หรือถามตอบ สภาพการจัดช้ันเรียนต้องจัดเพื่อท่ีให้เหมาะสม สามารถจัดกิจกรรมการเรียน และการสอนแก่ ผู้เรียนอย่างทั่วถึง ส่วนการสอนภาคปฏิบัติจัดการเรียนการสอนแบบบูรณาการให้ผู้เรียนฝึกปฏิบัติตาม กิจกรรมที่เสนอไว้ในแผนการจัดการเรียนรู้และมอบหมายงานให้นักเรียนไปเรียนเพิ่มเติมจากชุดส่ือ ประสม 6. การประเมนิ ผล ผู้สอนหรือท่ีปรึกษาชุดวิชาและผู้เรียนร่วมกันประเมินระดับความรู้ความเข้าใจของผู้เรียน โดย เกณฑ์การประเมินของแต่ละกิจกรรมผู้เรียนควรได้คะแนนไม่ต่ากว่าร้อยละ 80 สาหรับเกณฑ์ การประเมินตนเองหลังจากเรียนรู้จบ 1 หน่วย เกณฑ์การประเมินแบ่งเป็น 4 ระดับ (4-3-2-1) คือ ดมี าก ดี พอใช้ และควรปรบั ปรุง

ฉ ไมโครคอนโทรลเลอร์ (Microcontroller) รหสั รหัสวิชา 3105-2007 จานวน 2 หนว่ ยกิต เรียน 3 คาบต่อสัปดาห์ รวม 18 สปั ดาห์ ระดบั ประกาศนยี บัตรวชิ าชีพชนั้ สูง (ปวส.) จดุ ประสงค์รายวชิ า เพื่อให้ 1. เขา้ ใจโครงสรา้ งและหลักการของไมโครคอนโทรลเลอร์ การใช้ชุดคาส่ัง การประยกุ ต์ ใช้งานไมโครคอนโทรลเลอร์กับงานอืน่ ๆ 2. สามารถเขยี นโปรแกรมควบคมุ วเิ คราะหแ์ ละทดสอบระบบการทางาน ประยุกต์ ไมโครคอนโทรลเลอรก์ บั งานอ่นื ๆ 3. มกี ิจนสิ ยั ในการทางานดว้ ยความประณตี รอบคอบและปลอดภยั ตระหนักถึง คณุ ภาพของงานและมจี ริยธรรมในงานอาชีพ สมรรถนะรายวชิ า 1. แสดงความรเู้ กย่ี วกบั การออกแบบวงจรใช้งานไมโครคอนโทรลเลอร์ 2. ออกแบบระบบควบคมุ ทใ่ี ชไ้ มโครคอนโทรลเลอร์ 3. ประกอบและตดิ ตัง้ อปุ กรณ์ วงจรไมโครคอนโทรลเลอร์ 4. เขยี นโปรแกรมควบคมุ ไมโครคอนโทรลเลอร์ 5. ทดสอบและบารงุ รกั ษา อุปกรณ์ วงจรไมโครคอนโทรลเลอร์ คาอธิบายรายวิชา ศึกษาและปฏิบัติเกี่ยวกับโครงสร้างและสถาปัตยกรรมของไมโครคอนโทรลเลอร์ ลักษณะ สัญญานและกระบวนการทางาน การรับ – ส่งข้อมูล กับอุปกรณ์เช่อื มต่อภายนอก ชุดคาสง่ั และการเขยี น โปรแกรม การวัดและการทดสอบวงจรใช้งานของไมโครคอนโทรลเลอร์ การประยุกต์ใช้งานของ ไมโครคอนโทรลเลอร์

สารบัญ ช เร่ือง หน้า คานา ก คานยิ ม ข รายละเอียดเอกสารประกอบการสอน ค คาชี้แจงการใช้เอกสารประกอบการสอน ง ไมโครคอนโทรลเลอร์ ฉ สารบัญ ช สารบญั ภาพ หนว่ ยที่ 1 โครงสร้างและส่วนประกอบไมโครคอนโทรลเลอร์ 1 1 สาระสาคัญ 1 สาระการเรียนรู้ 1 จุดประสงค์เชงิ พฤติกรรม 2 แบบทดสอบกอ่ นเรียนประจาหนว่ ยที่ 1 4 เนอ้ื เรอ่ื ง 4 1.1 ความรู้เบ้อื งต้นเก่ียวกับไมโครคอนโทรลเลอร์ 4 1.2 โครงสร้างสถาปตั ยกรรมและส่วนประกอบของไมโครคอนโทรลเลอร์ 6 1.3 สถาปตั ยกรรมของไมโครคอนโทรลเลอร์ 9 1.4 บอรด์ ไมโครคอนโทรลเลอร์ Arduino 19 กิจกรรมท่ี 1 โครงสร้างและส่วนประกอบไมโครคอนโทรลเลอร์ 19 แบบทดสอบหลังเรยี นประจาหนว่ ยท่ี 1 21 แบบฝึกหัดหนว่ ยที่ 1 23 เฉลยแบบทดสอบก่อนเรียน 23 เฉลยแบบทดสอบหลงั เรียน 23 เฉลยแบบฝกึ หดั หนว่ ยที่ 1 24 หน่วยท่ี 2 ชดุ คาส่งั และการเขียนโปรแกรมควบคมุ 24 สาระสาคัญ 24 สาระการเรยี นรู้ 24 จดุ ประสงคเ์ ชงิ พฤติกรรม 25 แบบทดสอบกอ่ นเรยี นประจาหนว่ ยท่ี 2

สารบัญ (ตอ่ ) หนา้ เร่ือง 27 32 2.1 การตดิ ต้ังซอฟต์แวร์ Arduino IDE 35 2.2 ลกั ษณะทั่วไปสาหรบั การเร่มิ ต้นการใช้งานของโปรแกรม Arduino IDE 43 2.3 โครงสรา้ งภาษา ตัวแปร คา่ คงทึ่ 43 กิจกรรมท่ี 2 ชุดคาสง่ั และการเขยี นโปรแกรมควบคุม 45 แบบทดสอบหลังเรยี นประจาหนว่ ยท่ี 2 50 แบบฝึกหัดหน่วยที่ 2 50 เฉลยแบบทดสอบก่อนเรียน 50 เฉลยแบบทดสอบหลังเรียน เฉลยแบบฝกึ หดั หนว่ ยท่ี 2 51 51 หน่วยที่ 3 การเช่ือมตอ่ ผ่านพอรต์ อนุกรม 51 สาระสาคัญ 51 สาระการเรียนรู้ 52 จดุ ประสงคเ์ ชงิ พฤติกรรม 54 แบบทดสอบกอ่ นเรียนประจาหนว่ ยท่ี 3 55 3.1 การเรียนรู้เกยี่ วกบั การเชอื่ มตอ่ ผา่ นพอร์ตอนุกรม 61 3.2 การเรียนรเู้ ก่ียวกบั ฟังก์ชั่นสาหรับการรับสง่ ขอ้ มูลผา่ นพอรต์ อนกุ รม 61 กจิ กรรมท่ี 3 การเชอื่ มต่อผ่านพอรต์ อนุกรม 63 แบบทดสอบหลังเรยี นประจาหน่วยที่ 3 69 แบบฝึกหัดหน่วยที่ 3 69 เฉลยแบบทดสอบก่อนเรยี น เฉลยแบบทดสอบหลงั เรยี น 70 เฉลยแบบฝึกหัด หน่วยท่ี 3 70 70 หนว่ ยที่ 4 การเช่ือมต่อไมโครคอนโทรลเลอร์กับอุปกรณ์อินพุต 70 สาระสาคญั 71 สาระการเรยี นรู้ 73 จดุ ประสงคเ์ ชงิ พฤติกรรม แบบทดสอบกอ่ นเรยี นประจาหนว่ ยท่ี 4 4.1 หลักการทางานของวงจรสวติ ซ์

สารบญั (ตอ่ ) หนา้ เรอ่ื ง 74 74 4.2 การเชื่อมต่อไมโครคอนโทรลเลอรก์ ับสวิตช์ 75 4.3 การรับข้อมูลจากพอร์ต 76 4.4 การเขยี นโปรแกรมรับคา่ จากสวติ ช์ 78 4.5 โปรแกรมแกป้ ญั หาสัญญาณรบกวนในการกดสวิตช์โดยใช้ซอฟต์แวร์ 80 4.6 ฟงั ก์ชนั่ เกยี่ วกับอินเตอร์รปั ต์ภายนอก 80 กิจกรรมที่ 4 การเชือ่ มต่อไมโครคอนโทรลเลอร์กับอุปกรณ์อนิ พุต 82 แบบทดสอบหลงั เรียนประจาหน่วยท่ี 4 86 แบบฝกึ หดั หน่วยท่ี 4 86 เฉลยแบบทดสอบก่อนเรียน 86 เฉลยแบบทดสอบหลังเรยี น เฉลยแบบฝกึ หดั หนว่ ยที่ 4 87 87 หนว่ ยที่ 5 การอ่านค่าแอนนาลอ๊ ก 87 สาระสาคัญ 87 สาระการเรยี นรู้ 88 จุดประสงค์เชิงพฤติกรรม 90 แบบทดสอบกอ่ นเรยี นประจาหน่วยท่ี 5 92 5.1 ไลบรารขี อง Arduino 93 5.2 ไลบรารเี กี่ยวกับเวลา 95 5.3 การอา่ นค่าแอนนาลอ๊ ก 95 กจิ กรรมท่ี 5 การอ่านค่าแอนนาลอ๊ ก 97 แบบทดสอบหลังเรียนประจาหนว่ ยท่ี 5 101 แบบฝึกหัดหนว่ ยที่ 5 101 เฉลยแบบทดสอบก่อนเรียน 101 เฉลยแบบทดสอบหลังเรียน เฉลยแบบฝึกหดั หนว่ ยท่ี 5

สารบัญ (ตอ่ ) หนา้ เรอ่ื ง 102 102 หนว่ ยท่ี 6 การเชื่อมต่อไมโครคอนโทรลเลอร์กบั อปุ กรณ์เอาต์พุต 102 สาระสาคัญ 103 สาระการเรียนรู้ 104 จดุ ประสงค์เชงิ พฤติกรรม 107 แบบทดสอบก่อนเรยี นประจาหน่วยที่ 6 107 6.1 การทางานของหลอดไฟ 110 6.2 การเชื่อมต่อไมโครคอนโทรลเลอรก์ ับหลอดไฟ LED 111 6.3 การทางานของหลอดไฟ 7-Segment 112 6.4 การเชอ่ื มต่อไมโครคอนโทรลเลอรก์ บั หลอดไฟ 7-Segment 118 6.5 การเขียนโปรแกรมสง่ ข้อมูลออกหลอดแสดงผล LED 7-Segment 118 กิจกรรมที่ 6 การเชือ่ มต่อไมโครคอนโทรลเลอร์กบั อปุ กรณ์เอาต์พุต 165 แบบทดสอบหลงั เรยี นประจาหนว่ ยท่ี 6 101 แบบฝึกหนว่ ยท่ี 6 101 เฉลยแบบทดสอบก่อนเรยี น 101 เฉลยแบบทดสอบหลงั เรยี น เฉลยแบบฝกึ หัด หน่วยที่ 5 126 126 หนว่ ยท่ี 7 การควบคุมมอเตอร์ 126 สาระสาคัญ 126 สาระการเรียนรู้ 127 จดุ ประสงคเ์ ชิงพฤติกรรม 129 แบบทดสอบกอ่ นเรยี นประจาหนว่ ยท่ี 7 133 7.1 ความรเู้ บอ้ื งตน้ เกี่ยวกับมอเตอรไ์ ฟฟ้า 134 7.2 การควบคุมดีซีมอเตอรด์ ้วยบอร์ดคอนโทรลเลอร์ 138 7.3 การเขยี นโปรแกรมควบคมุ ดซี มี อเตอร์ 141 7.4 การควบคมุ สเตปมอเตอรด์ ว้ ยบอร์ดคอนโทรลเลอร์ 145 7.5 การเขียนโปรแกรมควบคุมสเต๊ปเปอร์มอเตอร์ กจิ กรรมท่ี 7 การควบคุมมอเตอร์

สารบญั (ตอ่ ) หนา้ เรอ่ื ง 145 147 แบบทดสอบหลงั เรยี นประจาหนว่ ยท่ี 7 151 แบบฝกึ หัดหนว่ ยที่ 7 151 เฉลยแบบทดสอบก่อนเรียน 151 เฉลยแบบทดสอบหลงั เรียน เฉลยแบบฝกึ หัด หน่วยท่ี 5 152 152 หนว่ ยที่ 8 การประยุกตใ์ ช้งานไมโครคอนโทรลเลอรก์ ับจอแสดงผล 152 และไอซีสรา้ งฐานเวลาจริง 152 153 สาระสาคญั 155 สาระการเรียนรู้ 157 จุดประสงคเ์ ชิงพฤติกรรม 161 แบบทดสอบก่อนเรียนประจาหนว่ ยที่ 8 163 8.1 โครงสรา้ งและการทางานของจอแสดงผล LCD 166 8.2 การเชอ่ื มต่อไมโครคอนโทรลเลอรก์ ับจอแสดงผล LCD 167 8.3 การควบคมุ จอแสดงผล LCD 8.4 โครงสรา้ งและการทางานของไอซสี ร้างฐานเวลาจรงิ 170 8.5 การเชอ่ื มต่อไมโครคอนโทรลเลอรก์ ับโมดลู สร้างฐานเวลาจรงิ 170 8.6 การเขยี นโปรแกรมตดิ ต่อกับโมดลู RTC 170 กจิ กรรมที่ 8 การประยุกต์ใช้งานไมโครคอนโทรลเลอร์กบั จอแสดงผล 179 และไอซสี ร้างฐานเวลาจรงิ 179 แบบทดสอบหลงั เรยี นประจาหน่วยที่ 8 179 แบบฝกึ หดั หนว่ ยที่ 8 เฉลยแบบทดสอบก่อนเรยี น เฉลยแบบทดสอบหลงั เรยี น เฉลยแบบฝกึ หัด หน่วยท่ี 8

สารบญั (ตอ่ ) หนา้ เร่อื ง 180 180 หนว่ ยที่ 9 การประยกุ ต์ใช้งานไมโครคอนโทรลเลอร์กบั ไอซตี รวจวดั อณุ หภมู ิ 180 และโมดูลตรวจจบั สัญญาณอนิ พุต 181 182 สาระสาคญั 184 สาระการเรียนรู้ 185 จดุ ประสงค์เชงิ พฤติกรรม 185 แบบทดสอบกอ่ นเรยี นประจาหน่วยที่ 8 188 9.1 โมดูลวัดอุณหภมู แิ ละความชื้น DHT11 191 9.2 โมดูลวัดอุณหภูมิและความช้ืน DHT22/AM2302 193 9.3 การเชื่อมต่อไมโครคอนโทรลเลอร์กับโมดลู ตรวจวดั อุณหภมู ิ 194 9.4 การอ่านข้อมลู จากโมดูลวดั อุณหภมู แิ ละความช้ืน DHT11/DHT22 9.5 โมดูลตรวจจับสญั ญาณอินพุต 196 9.6 การเชือ่ มต่อไมโครคอนโทรลเลอร์กบั โมดูลตรวจจับสัญญาณอินพุต 196 9.7 การเขยี นโปรแกรมติดต่อกบั โมดลู ตรวจจบั สญั ญาณอินพตุ 198 กจิ กรรมที่ 8 การประยุกตใ์ ช้งานไมโครคอนโทรลเลอร์กบั ไอซีตรวจวดั อุณหภูมิ 204 และโมดูลตรวจจับสญั ญาณอินพุต 204 แบบทดสอบหลังเรยี นประจาหนว่ ยที่ 8 204 แบบฝึกหัดหนว่ ยท่ี 8 เฉลยแบบทดสอบก่อนเรยี น เฉลยแบบทดสอบหลังเรียน เฉลยแบบฝกึ หดั หน่วยที่ 8

สารบัญภาพ หน้า เรือ่ ง 4 7 หนว่ ยท่ี 1 โครงสรา้ งและสว่ นประกอบไมโครคอนโทรลเลอร์ 8 รูปที่ 1.1 โครงสรา้ งหลกั ภายในไมโครคอนโทรลเลอร์ 8 รปู ท่ี 1.2 ไมโครคอนโทรลเลอร์ MCS-51 9 รูปท่ี 1.3 ไมโครคอนโทรลเลอร์ของ PIC 10 รูปที่ 1.4 ไมโครคอนโทรลเลอรข์ อง ATMEL 11 รปู ท่ี 1.5 ไมโครคอนโทรลเลอร์ของ Arduino 12 รูปท่ี 1.6 Arduino Uno R3 13 รปู ที่ 1.7 Arduino Uno SMD 14 รปู ท่ี 1.8 Arduino Mega 2560 14 รปู ที่ 1.9 Arduino Mega ADK 15 รปู ท่ี 1.10 Arduino Leonardo 16 รูปท่ี 1.11 Arduino mini 05 17 รปู ท่ี 1.12 Arduino Pro mini 328 18 รปู ที่ 1.13 Arduino Ethernet with PoE Module 18 รปู ท่ี 1.15 Arduino Uno Wi-Fi รปู ท่ี 1.16 Arduino MKR 1300 27 รปู ท่ี 1.17 Arduino MKR 1400 28 28 หน่วยที่ 2 ชุดคาสง่ั และการเขยี นโปรแกรมควบคุม 29 รูปที่ 2.1 หนา้ ต่างเวบ็ ไซตส์ าหรับดาวน์โหลดโปรแกรม Arduino IDE 29 รปู ท่ี 2.2 ดาวนโ์ หลดโปรแกรม Arduino IDE 29 รปู ท่ี 2.3 หนา้ ต่างตดิ ต้งั โปรแกรม Arduino IDE 30 รปู ที่ 2.4 หนา้ ตา่ งยินยอม license กอ่ นทาการตดิ ต้ัง Arduino IDE 30 รูปที่ 2.5 หน้าตา่ งเลือกส่วนเสรมิ ในการติดต้งั โปรแกรม Arduino IDE 31 รูปที่ 2.6 หน้าตา่ งเลือกที่ต้งั โปรแกรม Arduino IDE 31 รปู ท่ี 2.7 การตัง้ คา่ เริ่มต้นการใชง้ าน 32 รูปท่ี 2.8 หนา้ ต่างการต้ังค่าเรม่ิ ตน้ การใชง้ าน รูปที่ 2.9 หน้าตา่ งการเลือกชอื่ บอร์ด รูปท่ี 2.10 หนา้ ตา่ งการติดต้ังโปรแกรม Arduino IDE สาเรจ็ รูปที่ 2.11 การดูพอร์ตท่ีเช่ือมต่อกับบอร์ด Arduino

สารบัญภาพ (ตอ่ ) หนา้ เรอื่ ง 33 36 รูปที่ 2.12 หนา้ ตา่ งและส่วนประกอบต่าง ๆ ของโปรแกรม Arduino IDE 37 รูปที่ 2.13 แสดงสว่ น void setup0 และ void loop0 47 รปู ที่ 2.14 แสดงโปรแกรมส่วนของ ฟังก์ชนั setup0 และ loop0 48 รูปที่ 2.15 ตัวอย่างการเช่ือมต่อบอรด์ Arduino กับคอมพวิ เตอร์ รูปท่ี 2.16 รปู แบบการต่อวงจรการทดลองที่อ2.2 54 54 หน่วยที่ 3 การเชื่อมต่อผ่านพอร์ตอนุกรม 55 รูปท่ี 3.1 ตวั อยา่ งการต่อใช้งานการเชื่อมต่อผา่ นพอร์ตอนกุ รม 56 รปู ท่ี 3.2 การสื่อสารแบบอนุกรม 56 รปู ที่ 3.3 โปรแกรมตัวอยา่ งเรียกใช้งานฟังก์ชั่น Serial available(); 57 รูปท่ี 3.4 โปรแกรมตัวอย่างเรียกใช้งานฟงั ก์ช่นั Serial. 58 รูปท่ี 3.5 โปรแกรมตวั อยา่ งเรียกใชง้ านฟงั ก์ชั่น Serial read(); 59 รปู ที่ 3.6 โปรแกรมตวั อยา่ งเรียกใชง้ านฟังก์ชั่น Serial print(); 65 รปู ที่ 3.7 โปรแกรมตวั อย่างเรียกใช้งานฟังกช์ นั่ serial print(); 66 รูปท่ี 3.8 โปรแกรมการกาหนดความเร็วในการกระพรบิ ของ LED 67 รูปที่ 3.9 การเชอ่ื มต่อบอรด์ Arduino กับคอมพิวเตอรส์ าหรบั การทดลองที่ 3.1 67 รปู ท่ี 3.10 โปรแกรมสาหรับการทดลองท่ี 3.1 68 รปู ท่ี 3.11 การเช่อื มต่อบอรด์ Arduino กบั คอมพิวเตอร์สาหรบั การทดลองที่ 3.2 รปู ท่ี 3.12 โปรแกรมสาหรบั การทดลองที่ 3.2 73 รปู ท่ี 3.13 วงจรสาหรับการทดลองท่ี 3.3 73 74 หน่วยที่ 4 การเช่ือมต่อไมโครคอนโทรลเลอรก์ บั อปุ กรณ์อนิ พตุ 75 รปู ท่ี 4.1 ตวั อย่างสวติ ช์ 76 รูปท่ี 4.2 การทางานของสวติ ช์ รปู ท่ี 4.3 แสดงการต่อตวั ตา้ นทานพลอู ัปภายในทีข่ าพอรต์ อนิ พตุ ดจิ ิตอล 77 รปู ที่ 4.4 โปรแกรมที่ 4.1 กดติด-ปล่อยดบั 77 รปู ท่ี 4.5 แสดงการเกิดสัญญาณรบกวนเม่ือมีการกดและปล่อยสวติ ช์ในวงจรดจิ ิตอล รูปท่ี 4.6 การต่อวงจร RC อินดิเกรเตอร์ เพ่ือแกไ้ ขปญั หาสัญญาณรบกวน จากการกดสวิตช์ รปู ที่ 4.7 โปรแกรมแก้สัญญาณรบกวนจากการกดสวิตช์

สารบัญภาพ (ตอ่ ) หนา้ เรอ่ื ง 79 83 รปู ท่ี 4.8 โปรแกรมอ่านคา่ สวิตชด์ ว้ ยฟงั ก์ชน่ั attachinterrupt() 84 รูปท่ี 4.9 การต่อวงจรสวติ ชส์ าหรับควบคุมหลอด LED แบบกอดตดิ -กดดับ 84 รูปที่ 4.10 โปรแกรมสาหรับการทดลองท่ี 4.1 85 รูปท่ี 4.11 การตอ่ วงจรสวติ ชส์ าหรบั ควบคุมความเร็วในการกระพรบิ ของหลอด LED รูปท่ี 4.12 โปรแกรมสาหรบั สาหรบั การทดลองที่ 4.2 94 98 หน่วยท่ี 5 การอ่านค่าแอนนาล๊อก 99 รปู ท่ี 5.1 หน้าต่างโปรแกรมตวั อย่างการอา่ นคา่ แอนนาล๊อก 100 รูปท่ี 5.2 ตัวอยา่ งการเชื่อมต่อบอร์ด Arduino กับคอมพิวเตอร์ รูปที่ 5.3 ตัวอย่างการเชื่อมต่อบอรด์ Arduino กับคอมพวิ เตอร์ 102 รูปที่ 5.4 รูปแบบการต่อวงจรการทดลองที่ 5.3 106 107 หน่วยท่ี 6 การเชื่อมต่อไมโครคอนโทรลเลอรก์ บั อปุ กรณเ์ อาตพ์ ุต 108 รปู ที่ 6.1 ตวั อย่าง LED และ 70 Segment แบบ 4 digit 109 รปู ที่ 6.2 การต่อใช้งานหลอดแสดงผล LED 109 รูปที่ 6.3 โปรแกรมตัวอยา่ ง Blink 2 ดวงกระพริบสลับกัน 110 รูปที่ 6.4 การต่อวงจรสาหรบั โปรแกรม Blink 2 ดวงกระพริบสลบั กัน 110 รปู ท่ี 6.5 โปรแกรมไฟวง่ิ LED 3 ดวง รูปที่ 6.6 โครงสรา้ งและขาของหลอดแสดงผล LED 7-Segment 111 รูปที่ 6.7 โครงสรา้ งการต่อหลอดแสดงผล LED 7/Segment รปู ท่ี 6.8 การตอ่ ใชห้ ลอดแสดงผ LED 7 – segment กบั ไมโครคอนโทรลเลอร์ 112 Arduino Uno R3 113 รูปที่ 6.9 การต่อใช้หลอดแสดงผล LED0 - LED 7 – segment รว่ มกบั 113 ไอซีบัฟเฟอรเ์ บอร์ 74LS245 116 รูปที่ 6.10 โปรแกรมแสดงแตล่ ะสว่ นของหลอดแสดงผล LED 7-Segment รูปท่ี 6.11 โปรแกรมทแสดงเลข 0-3 ของหลอดแสดงผล LED 7-Segment 117 รูปท่ี 6.12 โมดลู หลอดแสดงผล LED 7-Segment แบบ 4 หลัก รปู ท่ี 6.13 โปรแกรมแสดงเลข 0-9 ของหลอดแสดงผล LED 7-Segment แบบ 4 หลกั

สารบญั ภาพ (ตอ่ ) เรื่อง หนา้ รปู ที่ 6.14 โปรแกรมแสดงค่า Analog จากขอ AO ด้วยหลอดแสดงผล LED 7-Segment แบบ 4 หลัก 117 รปู ท่ี 6.15 การเชือ่ มต่อบอร์ด Arduino ร่วมกับหลอดไฟ LED สาหรบั การทดลองท่ี 6.1 121 รปู ท่ี 6.16 โปรแกรมสาหรบั การทดลองที่ 6.1 122 รูปท่ี 6.17 การเชื่อมต่อบอรด์ Arduino ร่วมกับหลอดแสดงผล LED 7-Segment สาหรับการทดลองท่ี 6.2 122 รูปท่ี 6.18 โปรแกรมสาหรบั การทดลองที่ 6.2 123 รูปที่ 6.19 การเช่ือมต่อบอร์ด Arduino รว่ มกับหลอดแสดงผล LED 7-Segment สาหรับการทดลองที่ 6.3 123 หนว่ ยท่ี 7 การควบคุมมอเตอร์ 129 รปู ที่ 7.1 ดีซีมอเตอรแ์ ละสเต็ปมอเตอร์ 131 รูปที่ 7.2 สว่ นประกอบของมอเตอร์ไฟฟา้ กระแสตรง 131 รูปท่ี 7.3 การควบคุมทศิ ทางและความเร็วรอบของมอเตอร์ 132 รูปท่ี 7.4 การควบคมุ มอเตอรแ์ บบ H-Bridge 132 รูปที่ 7.5 การต่อบอรด์ ไมโครคอนโทรลเลอร์ควบคุม H-Bridge 133 รปู ที่ 7.6 ไอซเี บอร์ L293D 133 รปู ท่ี 7.7 ออสซโิ ลสโคปแสดงสัญญา PWM 134 รปู ท่ี 7.8 โปรแกรมควบคุมดซี ีมอเตอร์โดยใช้ไอซี L293D 135 รูปท่ี 7.9 ผลการรนั โปรแกรมควบคุมดีซมี อเตอร์โดยใชไ้ อซี :L293D 135 รปู ที่ 7.10 ควบคมุ ดีซีมอเตอรโ์ ดยกาหนดคา่ PWM ที่ Duty Ratio = 50% 135 รูปท่ี 7.11 สัญญาณ PWM ความถ่ี Carrier ที่ 490 Hz 136 รูปที่ 7.12 วงจร H-Bridge โดย PWM ใชก้ บั IC (เบอร์ L293) 137 รปู ท่ี 7.13 สญั ญาณจากออสซลิ โลสโคป มีความถี่ 31.25 kH 137 รปู ที่ 7.14 สญั ญาณจากออสซิสโลสโคปมีความถ่ี 31.25 kHz 138 รปู ที่ 7.15 บอรด์ สาหรบั ขับสเตปมอเอร์ 139 รปู ท่ี 7.16 การจา่ ยกระแสไฟฟ้าเขา้ ไปท่ีขดลวดท่ีละขด 139 รูปที่ 7.17 การจา่ ยจกระแสไฟฟ้าเข้าไปท่ขี ดลวดทล่ี ะสองขด 140 รปู ท่ี 7.18 การเพ่ิมจานวนขดลวดและปรับใหแ้ ม่เหล็กถาวรมซี ี่ (Teeth) 140 รปู ที่ 7.19 ลกั ษณะของแกนโรเตอร์แบบแมเ่ หลก็ ถาวรมีซี (Teeth)

สารบญั ภาพ (ตอ่ ) เรื่อง หนา้ รปู ท่ี 7.20 Unipolar Stepper motor 141 รูปท่ี 7.21 การป้อนกระแสไฟฟา้ ให้กับ Stepper motor แบบต่าง ๆ 14 รปู ที่ 7.22 การตอ่ Stepper motor ใชง้ านร่วมกบั Arduino 142 รปู ท่ี 7.23 โปรแกรมควบคาสเต็ปเปอร์มอเตอร์แบบ Full Step 1 Phase 143 รูปที่ 7.24 โปรแกรมควบคุมสเต็ปเปอร์มอเตอร์แบบ Full Step 2 Phase 144 รปู ท่ี 7.25 การต่อวงจรสาหรับควบคุมมอเตอร์ไฟฟ้ากระแสตราง 149 รูปที่ 7.26 โปรแกรมสาหรบั การทลองท่ี 7.1 149 รูปที่ 7.27 การเชอ่ื มต่อบอรด์ Arduino กบั Stepper Motor 150 หน่วยที่ 8 การประยุกตใ์ ชง้ านไมโครคอนโทรลเลอรก์ บั จอแสดงผลและไอซีสรา้ งฐานเวลาจรงิ รปู ท่ี 8.1 จอแสดงผล LED และ RTC Module 155 รปู ท่ี 8.2 ขาสัญญาณของจอแสดงผล LCD ขนาด 16 x 2 บรรทด 156 รูปที่ 8.3 การเชือ่ มต่อไมโครคอนโทรลเลอรก์ ับจอแสดงผล LCD แบบ 8 ชนิด 157 รปู ท่ี 8.4 การเชื่อมต่อไมโครคอนโทรลเลอรก์ ับจอแสดงผล LED แบบ 4 ชนิด 158 รปู ท่ี 8.5 การเชอ่ื มต่อไมโครคอนโทรลเลอร์กับจอแสดงผล LCD ผ่าน ญชP PC 158 รูปท่ี 8.6 รปู แบบการรบั -สง่ ขอ้ มูลแบบ I2C BUS 160 รปู ท่ี 8.7 โปรแกรมแสดงข้อความ Hello World บนจอแสดงผล LCD 162 รปู ท่ี 8.8 โปรแกรมแสดงข้อความและตัวอกั ษรออกทางหน้าจอโมดลู แสดงผล LCD 163 รูปที่ 8.9 โมดูลสร้างฐานเวลาจริงด้วยไอซีเบอร์ DS 1307 164 รปู ท่ี 8.10 โครงสร้างและขาของไอซเี บอร์ DS 1307 164 รูปท่ี 8.11 ไดอะแกรมการทางานของไอซี RTC เบอร์ DS 1307 165 รปู ท่ี 8.12 รายละเอียดของ RTC แอดเดรสท่ี 00H ถงึ 07H และ RAM แอดเดรสที่ 08H ถึง 3 FH 165 รปู ท่ี 8.13 การเชอ่ื มต่อไมโครคอนโทรลเลอรก์ ับโมดูล RTC 166 รูปที่ 8.14 การเชื่อมไมโครคอนโทรลเลอร์กบั โมดูล RTC 167 รปู ท่ี 8.15 โปรแกรมการอา่ นคา่ ข้อมลู จาก TXC แสดงคา่ ออกทางพอร์ตอนกุ รม 168 รปู ที่ 8.16 โปรแกรมการอ่านค่าขอ้ มลู จาก RTC แสดงคา่ ออกทางจอแสดงผล LCD 169 รูปที่ 8.17 การเชือ่ มต่อบอร์ด Arduino ร่วมกบั จอแสดงผล LCD สาหรบั การทดลองท่ี 8.1 170

สารบญั ภาพ (ตอ่ ) หนา้ เรอื่ ง 174 175 รปู ที่ 8.19 โปรแกรมสาหรับการทดลองที่ 8.1 176 รูปท่ี 8.20 การเชอ่ื มต่อบอร์ด Arduino กบั โมดลู RTC เพ่อื ควบคุมรีเลย์ รปู ที่ 8.21 โปรแกรมสาหรบั การทดลองที่ 8.2 177 รปู ท่ี 8.22 การเชื่อมต่อบอรด์ Arduino รว่ มกบั หลอดแสดงผล 7-Segment 178 สาหรบั การทดลองที่ 8.3 184 รูปท่ี 8.23 โปรแกรมสาหรับการทดลองที่ 8.3 185 185 หนว่ ยท่ี 9 การประยกุ ต์ใชง้ านไมโครคอนโทรลเลอร์กบั ไอซีตรวจวดั อุณหภูมิและโมดูล 186 ตรวจจบั สัญญาณอนิ พตุ 186 187 รปู ที่ 9.1 โมดูลวดั อุณหภูมิ ความช้ืนและโมดูลตรวจจบั สญั ญาณอนิ พุต รูปที่ 9.2 โมดูลวดั อณุ หภมู ิและความชื้น DHT11 187 รูปท่ี 9.3 โมดลู วดั อณุ หภูมแิ ละความช้ืน DHT22 / AM2302 รูปที่ 9.4 การเชอื่ มต่อไมโครคอนโทรลเลอรก์ บั โมดลู ตรวจวดั อุณหภูมิ DHT11 189 รปู ที่ 9.5 แสดงลาดบั ของข้อมลู บิตในการอ่านค่าจากไอซีท้ังหมด 189 รูปท่ี 9.6 การเชอ่ื มต่อไมโครคอนโทรลเลอรก์ บั โมดูลตรวจวัดอณุ หภมู ิ DHL 22 190 รปู ท่ี 9.7 แสดงลาดบั ของข้อมลู บดิ ในการอา่ นคา่ จากไอซีและความกวา้ งของชว่ ง 190 191 LOW และ HIGH 192 รปู ที่ 9.8 โปรแกรมแสดงค่าอุณหภมู แิ ละความช้นื จากโมดลู DHT22 193 ออกพอรต์ อนุกรม 194 รูปที่ 9.9 ผลการรันโปรแกรมแสดงค่าอณุ หภูมิและความชื้นจากโมดลู DHT22 รปู ที่ 9.10 โปรแกรมอา่ นค้าอณุ หภูมิและความชื้นจากโมดูล DHT22 195 รปู ที่ 9.11 ผลการรันโปรแกรมแสดงค่าอุณหภมู แิ ละความชนื้ จากโมดลู รปู ท่ี 9.12 โมดูลตรวจจับสัญญาณอินพตุ รูปท่ี 9.13 โมดูล HC-SR04 รูปที่ 9.14 การเชื่อมต่อไมโครคอนโทรลเลอร์กบั โมดลู ตรวจจับสญั ญาณอินพตุ รปู ที่ 9.15 โปรแกรมการอา่ นค่าระยะห่างจากโมดูลตรวจจบั สัญญาณอินพุต แสดงค่าออกทางพอร์ตอนุกรม รูปท่ี 9.16 โปรแกรมการอา่ นค่าระยะห่างจากโมดลู ตรวจจับสญั ญาณอินพตุ แสดงคา่ ออกทาง Digit Tube

สารบัญภาพ (ตอ่ ) เรือ่ ง หนา้ รูปที่ 9.17 การเชอื่ มต่อบอร์ด Arduino รว่ มกบั โมดูล DHT22 สาหรับการทดลองท่ี 9.1 199 รูปที่ 9.18 โปรแกรมสาหรับการทดลองที่ 9.1 200 รูปที่ 9.19 การเชื่อมต่อบอร์ด Arduino กับ โมดลู DHT เพ่อื ควบคุมรเี ลย์ Code 201 รูปท่ี 9.20 โปรแกรมสาหรับการทดลองท่ี 9.2 201 รูปท่ี 9.21 การเชื่อมต่อบอรด์ Arduino รว่ มกับโมดลู ตรวจจบั สัญญาณอินพุต สาหรับการทดลองที่ 9.3 202 รปู ท่ี 9.22 โปรแกรมสาหรบั การทดลองท่ี 9.3 203 ภาคผนวก 205 บรรณานกุ รม

เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 1 หนว่ ยที่ 1 โครงสร้างและสว่ นประกอบไมโครคอนโทรลเลอร์ สาระสาคญั ไมโครคอนโทรลเลอร์ (อังกฤษ: Microcontroller มักย่อว่า µC, uC หรือ MCU) คืออุปกรณ์ ควบคุมการทางานของเคร่ืองใช้ไฟฟ้า หรือระบบควบคุมทางอิเล็กทรอนิกส์ขนาดเล็ก ซ่ึงบรรจุ ความสามารถท่ีคล้ายคลึงกับระบบคอมพิวเตอร์ โดยในไมโครคอนโทรลเลอร์ได้รวมเอาไมโครโปรเซสเซอร์ หน่วยความจา ส่วนเช่ือมต่อสัญญาณทางไฟฟ้า ส่วนกาเนิดสัญญาณนาฬิกา และส่วนอินเตอร์รัพท์ สัญญาณ ซึ่งเป็นส่วนประกอบหลักสาคัญของไมโครคอนโทรลเลอร์เข้าไว้ด้วยกัน โดยทาการบรรจุ เข้าไวใ้ นตัวถังเดียวกัน สาระการเรียนรู้ 1.1 ความรู้เบ้อื งต้นเกย่ี วกับไมโครคอนโทรลเลอร์ 1.2 โครงสรา้ งสถาปตั ยกรรมและสว่ นประกอบของไมโครคอนโทรลเลอร์ 1.3 สถาปตั ยกรรมของไมโครคอนโทรลเลอร์ 1.4 บอร์ดไมโครคอนโทรลเลอร์ Arduino จุดประสงคเ์ ชงิ พฤติกรรม เพอื่ ให้นกั เรยี น 1. อธิบายโครงสร้างไมโครคอนโทรลเลอร์ได้อย่างถูกต้อง 2. อธบิ ายสถาปตั ยกรรมของไมโครคอนโทรลเลอร์ได้ถูกต้อง 3. บอกความแตกตา่ งของไมโครโพรเซสเซอร์กับไมโครคอนโทรลเลอร์ได้อยา่ งถูกต้อง 4. อธบิ ายหลกั การท างานของไมโครคอนโทรลเลอร์ได้อยา่ งถูกต้อง หนว่ ยที่ 1 : โครงสร้างและสว่ นประกอบไมโครคอนโทรลเลอร์

เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 2 แบบทดสอบกอ่ นเรียน หน่วยท่ี 1 โครงสรา้ งและส่วนประกอบไมโครคอนโทรลเลอร์ คาสง่ั จงเลือกคาตอบท่ถี กู ท่ีสุดเพียงข้อเดียว 1. ไมโครคอนโทรลเลอร์มีความหมายตรงกับข้อใด? ก. ระบบสอื่ สารผา่ นดาวเทียม ข. ระบบคอมพวิ เตอรข์ นาดเลก็ ทป่ี ระยกุ ตใ์ ชง้ านได้หลากหลาย ค. ระบบเครื่องเสยี งท่ปี ระยุกตใ์ ชง้ านได้หลากหลาย ง. ระบบคอมพวิ เตอรข์ นาดใหญ่ที่ประยกุ ต์ใชง้ านได้หลากหลาย จ. ระบบโทรทัศน์ทีม่ าประยุกตใ์ ชง้ านได้หลากหลาย 2. ข้อใดไม่ใช่ตระกลู ไมโครคอนโทรลเลอร์? ก. Z-80 ข. MCS-51 ค. PICO ง. AVR จ. RABBIT 3. ข้อใดไม่ใชโ่ ครงสรา้ งหลักภายในของไมโครคอนโทรลเลอร์? ก. CPU ข. Memory ค. Interface unit ง. Oscilloscope จ. Bus 4. Arduino ใชไ้ มโครคอนโทรลเลอร์ตระกูลใด? ก. PIC ข. MCS-51 ค. AVR ง. Z-80 จ. RABBIT 5. บอรด์ Arduino Uno R3 มพี อร์ต I/O จานวน? ก. 22 ขา ข. 23 ขา ค. 12 ขา ง. 13 ขา จ. 18 ขา หนว่ ยที่ 1 : โครงสร้างและส่วนประกอบไมโครคอนโทรลเลอร์

เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 3 6. ขอ้ ใดกล่าวผดิ ? ก. ROM สามารถอา่ นข้อมลู ได้ แต่เขียนไม่ได้ ข. RAM ข้อมลู ไมส่ ูญหายแมห้ ยุดการจ่ายไฟ ค. CPU ทาหนา้ ท่ีคานวณทางคณิตศาสตร์ ง. อปุ กรณ์หลักสว่ นกาเนิดสญั ญาณนาฬิกาคือ X-TAL จ. Uno เปน็ ภาษาอิตาลี ซึง่ แปลว่าหนึง่ 7. สายสญั ญาณ Serial Clock (SCL) ของ Arduino Uno R3 ใชข้ าใด? ก. A4 ข. A5 ค. Tx ง. Rx จ. 5V 8. ข้อใดไม่ใชอ่ ักษรย่อทีน่ ยิ มใชข้ องไมโครคอนโทรลเลอร์? ก. uC ข. MCU ค. µC ง. mCL จ. ถกู ทกุ ข้อ 9. RAM ย่อมาจากอะไร? ก. Read Access Memory ข. Random Access Memory ค. Random Accurately Memory ง. Read Accurately Memory จ. Random Actual Memory 10. Arduino Uno R3 ใช้ไอซีเบอรใ์ ด? ก. ATmega328 ข. ATmega168 ค. ATmega2560 ง. esp8266 จ. DIP8 หน่วยที่ 1 : โครงสรา้ งและส่วนประกอบไมโครคอนโทรลเลอร์

เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 4 ระบบไมโครคอนโทรลเลอร์ท่ีมีผลต่อการใช้ชีวิตประจาวันมาก ยกตัวอย่างการประยุกต์ใช้ งานของไมโครคอนโทรลเลอร์ในปัจจุบันเช่น สัญญาณไฟจราจร เครื่องซักผ้า เครื่องถ่ายเอกสาร วชิ าไมโครคอนโทรลเลอร์นักเรยี นจะได้เรียนรู้หน้าท่ีส่วนต่างๆและชุดคาสั่งของไมโครคอนโทรลเลอร์ การ ควบคุม และการต่อวงจรประยุกต์ใช้งาน วันนี้เราจะมาเรียนโครงสร้าง และส่วนประกอบของ ไมโครคอนโทรลเลอร์ 1.1 ความรู้เบื้องตน้ เกย่ี วกบั ไมโครคอนโทรลเลอร์ ไมโครคอนโทรลเลอร์ (อังกฤษ: Microcontroller มักย่อว่า µC, uC หรือ MCU) คือ อุปกรณ์ ควบคุมการทางานของเคร่ืองใช้ไฟฟ้า หรือระบบควบคุมทางอิเล็กทรอนิกส์ขนาดเล็ก ซ่ึงบรรจุความ สามารถท่ีคล้ายคลึงกับระบบคอมพิวเตอร์ โดยในไมโครคอนโทรลเลอร์ได้รวมเอาไมโครโปรเซสเซอร์, หน่วยความจา ส่วนเช่ือมต่อสัญญาณทางไฟฟ้า ส่วนกาเนิดสัญญาณนาฬิกา และส่วนอินเตอร์รัพท์ สัญญาณ ซึ่งเป็นส่วนประกอบหลักสาคัญของไมโครคอนโทรลเลอร์เข้าไว้ด้วยกัน โดยทาการบรรจุ เข้าไว้ในตัวถงั เดยี วกนั ไมโครคอนโทรลเลอร์ หรือระบบควบคุมขนาดเล็ก เรียกอีกอย่างหนึ่งคือเป็นระบบคอมพิวเตอร์ ขนาดเล็กท่ีสามารถนามาประยุกต์ใช้งานได้หลากหลาย โดยผ่านการออกแบบวงจรอิเล็กทรอนิกส์ ท่ีเหมาะกับงานนั้น ๆ และยังสามารถโปรแกรมคาส่ังเพื่อควบคุมขาสัญญาณทางไฟฟ้า เพื่อส่ังงานให้ ไปควบคุมอุปกรณ์ต่าง ๆ ได้อีกด้วย ยกตัวอย่างเช่น ระบบบันทึกเวลาเข้า-ออก พนักงาน, ระบบ ควบคมุ อุณหภูมแิ ละความช้นื ในโรงเรือน และหุ่นยนตเ์ ดินตามเส้น เป็นต้น ปจั จุบันคอนโทรลเลอร์ถูกพัฒนาให้เช่ือมต่อกับเครือข่ายสากล (Internet) ดังน้ัน ระบบที่ถูก สร้างขึ้น นอกจากสามารถใช้งานที่ตัวแผงวงจรอิเล็กทรอนิกส์แล้ว ยังสามารถส่ังการและ/หรือ ดูข้อมูล ต่าง ๆ ของระบบควบคมุ นนั้ ๆ ผา่ นเครอื ขา่ ยสากลจากทั่วทกุ มมุ โลกได้อีกดว้ ย 1.2 โครงสร้างสถาปัตยกรรมและส่วนประกอบของไมโครคอนโทรลเลอร์ โครงสร้างหลักภายในของไมโครคอนโทรลเลอร์หลัก 5 ส่วนใหญ่จะทางานสัมพันธ์กัน ซง่ึ แตล่ ะส่วนจะมหี นา้ ทก่ี ารทางานท่ีแตกตา่ งไปดงั น้ี รปู ท่ี 1.1 โครงสรา้ งหลักภายในไมโครคอนโทรลเลอร์ หน่วยท่ี 1 : โครงสรา้ งและสว่ นประกอบไมโครคอนโทรลเลอร์

เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 5 ท่ีมา : https://www.electronicshub.org/microcontrollers-basics-structure-applications/ 1.2.1 ส่วนประมวลผล ส่วนประมวลผล (Processing Unit) คือส่วนท่ีทาหน้าที่คานวนทางคณิตศาสตร์ หรือ การตัดสินใจแบบมีเง่ือนไข (LOGIC) ซ่ึงมีการทางานที่ซับซ้อน โดยลาดับในการทางานของส่วน ประมวลผลจะขึ้นอยู่กับการจัดลาดับคาส่ังในการทางาน (Programming code) ซึ่งจะบรรจุอยู่ ภายในส่วนของพน้ื ที่เก็บขอ้ มลู 1.2.2 สว่ นพ้นื ที่เกบ็ ขอ้ มลู ส่วนพื้นท่ีเก็บข้อมูล (Memory Unit) คือส่วนทีทาหน้าที่เก็บข้อมูล โดยสามารถแบ่ง ชนิดของพื้นที่เก็บข้อมูลเป็น 2 แบบคอื แบบช่วั คราว (RAM, Random Access Memory) และแบบ ก่ึงถาวร (EPROM, Erasable Programmable Read Only Memory) ซ่ึงพ้ืนที่เก็บข้อมูลแบบช่ัวคราวน้ี จะเป็นข้อมูลที่สามารถเปล่ียนแปลงได้ตลอด และถูกใช้ในการเก็บคา่ ตัวแปรในการคานวน (Variable) โดยประเภทน้ีจะสูญหายเม่ือทาการหยุดจ่ายไฟเล้ียงให้ไมโครคอนโทรลเลอร์ ส่วนพ้ืนที่เก็บข้อมูล แบบก่ึงถาวรจะเป็นที่เก็บข้อมูลโปรแกรมคาสั่งการทางาน (Code) ซ่ึงข้อมูลประเภทนี้เราสามารถ เปล่ยี นแปลงได้ และข้อมูลจะไม่สญู หายแมเ้ ราจะหยุดจ่ายไฟเล้ยี งใหไ้ มโครคอนโทรลเลอร์แล้วกต็ าม 1.2.3 ส่วนเชอ่ื มต่อสญั ญาณทางไฟฟ้า สว่ นเชื่อมต่อสญั ญาณทางไฟฟ้า (Interface unit) จะทาหน้าท่ีตดิ ต่อสัญญาณระหว่าง อุปกรณ์ภายนอกกับไมโครคอนโทรลเลอร์จะมีอยู่ 2 แบบ คือ อินพุตและเอาท์พุตแบบดิจิตอล (DIGITAL I/O) โดยจะรับข้อมูลและส่งข้อมูล ด้วยสัญญาณทางดิจิตอล (Digital Signal) และแบบ อินพุตและเอาท์พุตแบบอนาล็อก (Analog I/O) รับและส่งสัญญาณแบบสัญญาณทางอนาล็อก (Analog Signal) ซ่ึงในการรับสง่ สัญญาณของอนาล็อกจะมีอยใู่ นไมโครคอนโทรลเลอรบ์ างร่นุ เท่าน้ัน 1.2.4 สว่ นกาเนดิ สัญญาณนาฬิกา ส่วนกาเนิดสัญญาณนาฬิกาจะทาหน้าท่กี าเนิดสัญญาณนาฬิกา โดยใช้วงจรที่เชื่อมต่อ กับไมโครคอนโทรลเลอร์ท่ีเรียกว่าวงจรออสซิสเลเตอร์ (Oscillator Circuit) ซ่ึงมีอุปกรณหลักคือ คริสตอล (X-TAL) มากาหนดช่วงเวลาในการประมวลผล (Execute Time) ของส่วนประมวลผล โดยจะ มีผลต่อความเร็วในการประมวลผลของไมโครคอนโทรลเลอร์ นอกจากน้ีสัญญาณนาฬิกาจะยังใช้ กาหนดความเร็วในการรับส่งข้อมูลดิจิตอลแบบอนุกรม (Digital Series Communication Signal) และกาหนดความถใ่ี นส่วนของตวั ตง้ั เวลา (TIMER) ภายในตัวไมโครคอนโทรลเลอร์ด้วย 1.2.5 ส่วนอินเตอร์รพั ท์สัญญาณ ส่วนอินเตอร์รัพท์สัญญาณจะทาหน้าท่ีจัดลาดับความสาคัญในการทางานในกรณีที่ ไมโครคอนโทรลเลอร์ทางานในลกั ษณะหลายงานพร้อมกัน (Multitasking) ซึ่งจะอานวยความสะดวก อย่างมากในการเขียนโปรแกรมเพ่อื รองรับการทางานลักษณะนี้ หนว่ ยท่ี 1 : โครงสรา้ งและส่วนประกอบไมโครคอนโทรลเลอร์

เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 6 1.3 สถาปัตยกรรมของไมโครคอนโทรลเลอร์ เม่ือเราได้รู้จักที่มาของไมโครคอนโทรลเลอร์แล้ว ในหัวข้อน้ีเราจะศึกษาโครงสร้างของใน แต่ละตระกูล ซึ่งการออกแบบซีพียูนั้นมีส่วนสาคัญเป็นอย่างมากต่อความเร็วในการประมวลผลคาสั่ง ของไมโครคอนโทรลเลอร์ เนื่องจากการประมวลผลชุดคาสั่งของซีพียูในไมโครคอนโทรลเลอร์ โดยท่ัวไปน้ัน จะมีการทางานเรียงลาดับตามคาสั่งของโปรแกรมท่ีป้อนเข้าไป ซึ่งในแต่ละชุดคาส่ังจะ เป็นตัวกาหนดว่าไมโครคอนโทรลเลอร์ต้องทางานอย่างไร สาหรับในการออกแบบซีพียูนั้น เรา สามารถแบ่งสถาปัตยกรรมทางโครงสร้างที่ใช้งานในไมโครคอนโทรลเลอร์ได้ 2 ประเภท คือ สถาปัตยกรรมแบบ CISC และ สถาปตั ยกรรมแบบ RISC ดงั นี้ 1.3.1 สถาปตั ยกรรมแบบ Complex Instruction Set Computer (CISC) สถาปัตยกรรมแบบ Complex Instruction Set Computer (CISC) เป็นสถาปัตยกรรม การออกแบบซีพียูท่ีมีใช้งานในคอมพิวเตอร์ส่วนบุคคลทั่ว ๆ ไปโดยเป็นแนวคิดดั้งเดิมท่ีต้องการให้ คอมพิวเตอร์ทางานได้รวดเร็วข้ึน โดยใช้วิธีเพ่ิมขีดความสามารถของคาส่ังให้มีความซับซ้อนและ ใช้เวลาในการประมวลผลเพ่ิมมากข้ึนตามคุณสมบัติของชุดคาสั่งน้ัน ๆ ส่งผลให้การออกแบบ สถาปัตยกรรมรูปแบบน้ีตอ้ งรองรบั ชุดคาสั่งใหม่ ๆ และมีการออกแบบท่ีซบั ซอ้ น ซ่ึงระยะเวลาในการ ประมวลผลคาส่ังในแต่ละชดุ คาสัง่ ใช้เวลาไม่เท่ากัน บางคาส่ังจะใชเ้ วลาเพียง 1 ไซเคิล และบางคาสั่ง จะทางานหลาย ๆ ไซเคิล ทาให้การทางานกับชุดคาส่ังท่ีซับซ้อนทางานได้ช้า รวมไปถึงกระบวนการ ถอดรหัสชุดคาส่ังต้องทางานเรียงตามลาดับจนเสร็จ ถึงจะสามารถไปทางานท่ีชุดคาส่ังถัดไปได้ ซ่ึงที่ กล่าวมาข้างตน้ น้นั เป็นเพยี งข้อด้อยของสถาปตั ยกรรมแบบ CISC น้ยี ังมีการใช้งานกันอย่างแพรห่ ลาย และได้พัฒนาต่อเนื่องมาจนถึงปัจจุบัน อย่างเช่นซีพียู AMD, Intel Pentium รวมถึงไมโครคอนโทรลเลอร์ ตระกลู MCS-51, 62HCxx และ Z80 เปน็ ต้น 1.3.2 สถาปตั ยกรรมแบบ Reduced Instruction Set Computer (RISC) ในช่วงปี ค.ศ. 1975 เร่ิมมีการพัฒนาสถาปัตยกรรมของซีพียูแบบ RISC โดยมีเง่ือนไขหลัก คือซีพียูต้องประมวลผลชุดคาสั่งด้วยเวลาหรือไซเคิลที่แน่นอน เพียง 1 ไซเคิลต่อคาสั่งเท่าน้ัน และ ลดจานวนคาสั่งให้เหลือเพียงชุดคาสั่งพื้นฐานท่ีสาคัญ อีกทั้งสร้างรูปแบบกระบวนการถอดรหัส ชุดคาส่ังโดยใช้หลักการทางานส่งผ่านชุดคาส่ังแบบไปป์ไลน์ (Pipeline) จึงนับว่าสถาปัตยกรรมท่ี สามารถแก้ปัญหาในเรื่องความเร็วในการประมวลผลและความซับซ้อนของการออกแบบตาม สถาปัตยกรรมแบบ CISC ได้โดยที่ RISC จะใช้รูปแบบการประมวลผลข้อมูลแบบง่าย ๆ แต่ไปมุ่งเน้น พัฒนาประสิทธิภาพของฮาร์ดแวร์ให้มีความเร็วสูง ดังนั้นจากการออกแบบซีพียูไม่ซับซ้อนเหมือน อย่าง CISC จึงง่ายต่อการพัฒนาประสิทธิภาพของฮาร์ดแวร์คอมพิวเตอร์ ให้ทางานได้เร็วข้ึน และ ต่อมาได้มีการนาเอาซีพียูที่ใช้สถาปัตยกรรมแบบ RISC สร้างเป็นไมโครคอนโทรลเลอร์ในตระกูล ต่าง ๆ เชน่ ARM, AVR และ PIC เปน็ ตน้ หนว่ ยที่ 1 : โครงสรา้ งและส่วนประกอบไมโครคอนโทรลเลอร์

เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 7 1.3.3 ไมโครคอนโทรลเลอรต์ ระกูลต่าง ๆ ทไี่ ดร้ บั ความนยิ มและมีพฒั นาการมาจนถงึ ปัจจุบัน มีดังนี้ MCS-51 บริษัทท่ีสร้างไมโครคอนโทรลเลอร์ตระกูล MCS-51 เป็นบริษัทแรก คือ บริษัท Intel ตระกูล MCS-51 มีพอร์ตขนานขนาด 8 บิต อยู่ 4 พอร์ต คือพอร์ต 0 ถึงพอร์ต 3 เป็น ตระกูลที่พัฒนาต่อจาก Z80 ทาให้การศึกษาเรียนรู้ไมโครคอนโทรลเลอรง์ ่ายขึน้ กว่าเดิม ท้ังการเขียน โปรแกรมแล้วโหลดลงบอรด์ เพือ่ ใชง้ าน ตลอดจนสถาปัตยกรรมในการออกแบบ ไมโครคอนโทรลเลอร์ รุ่นน้ีจะช่วยลดอุปกรณ์รอบข้างลงไปได้มาก เหมาะท่ีจะนาไปใช้งานจริง โดยแต่ละพอร์ตสามารถเข้าถึง ได้ในระดับบิต และสามารถเลอื กการทางานใหเ้ ปน็ พอร์ตอนิ พตุ หรอื เอาต์พุตก็ได้ รูปท่ี 1.2 ไมโครคอนโทรลเลอร์ MCS-51 ทม่ี า : http://www.philbywhizz.com/projects/whizz-80/ PIC บริษัท Microchip Technology เป็นผู้สร้างและผลิต PIC (Peripheral Interface Controller) เป็นไมโครคอนโทรลเลอร์ ในยุคต่อมาที่ได้รับความนิยมสูงอีกตระกูลหน่ึง ต้ังแต่อดีต จนถึงปัจจุบันมีการพัฒนาเทคโนโลยีข้ึนในทุกด้าน ทาให้ได้รับความนิยมกว่าไมโครคอนโทรลเลอร์ ยุคก่อนหน้า เพราะมอี ุปกรณ์ต่อพ่วงน้อย และมีหน่วยความจา EEPROM ภายใน จึงทาให้งา่ ยต่อการ บันทึกและจัดก็บข้อมูล นอกจากน้ียังมี I2C, PMW, A/D ซึ่งถือได้ว่าเป็นคุณสมบัติพิเศษของ PIC ท่ี แตกต่างไมโครคอนโทรลเลอร์ตัวอ่ืน ๆ การรวมหลายอย่างไว้ในตัว PIC ทาให้นามาใช้งานได้ง่ายและ สะดวก เพียงต่อแหลง่ จ่ายไฟ ป้อนสัญญาณนาฬิกา และเขยี นโปรแกรมควบคุม PIC กส็ ามารถควบคุม อปุ กรณ์ภายนอกผา่ นพอร์ตอนิ พุต หรอื เอาตพ์ ตุ รปู ท่ี 1.3 ไมโครคอนโทรลเลอรข์ อง PIC ทม่ี า : http://www.microchip.com/datasheet/PIC16F877A หน่วยที่ 1 : โครงสร้างและส่วนประกอบไมโครคอนโทรลเลอร์

เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 8 AVR เป็นไมโครคอนโทรลเลอร์ท่ีถูกพัฒนาต่อจาก MCS-51 โดยบริษัท ATMEL เพ่ือ ลดการออกแบบวงจรและอุปกรณ์ต่อพ่วงที่นาไปใช้งานให้ง่ายยิ่งข้ึน และคุณสมบัติหลักอีกอย่างคือ การใช้ USB แทนการใช้ RS-232 ในการสื่อสารข้อมูลระหว่างตัวคอนโทรลเลอร์กับคอมพิวเตอร์ แต่ ปจั จุบัน ATMEL ถกู ควบรวบกจิ การเขา้ กับบรษิ ทั Microchip แลว้ รปู ที่ 1.4 ไมโครคอนโทรลเลอรข์ อง ATMEL ที่มา : https://en.wikipedia.org/wiki/Atmel_AVR ARDUINO เป็นบอร์ดไมโครคอนโทรลเลอร์แบบสาเร็จรูปที่ได้รับความนิยม สร้างมาจาก คอนโทรลเลอร์ตระกูล ARM ของ ATMEL โดยเป็นรูปแบบ Open-Source บนแพตฟอร์ม Arduino ออกแบบมาให้ใช้งานง่าย ท้ังน้ีทางผู้ผลิตยังมีโปรแกรมบนซอฟท์แวร์ Arduino IDE และโปรแกรม ผา่ นพอร์ต USB เหมาะสาหรับผ้เู ร่มิ สนใจตลอดจนการนาไปใชง้ านจริงได้ โดยใชภ้ าษา C++ และยงั มี Shield ใหใ้ ชจ้ านวนมากเพ่อื เพมิ่ ขดี ความสามารถในการทางาน รูปท่ี 1.5 ไมโครคอนโทรลเลอร์ของ Arduino ทีม่ า : https://store.arduino.cc/usa/arduino-uno-rev3 1.4 บอรด์ ไมโครคอนโทรลเลอร์ Arduino Arduino เป็นภาษาอิตาลี โดยเป็นการพัฒนาไมโครคอนโทรลเลอร์ตระกูล AVR ในรูปแบบ Open Source กล่าวคือ วิธีการในการออกแบบ วิจัยและพัฒนา และเพ่ือแจกจ่ายสาหรับต้นแบบ ของสินค้าหรือความรู้โดยเฉพาะซอฟต์แวร์ถูกออกแบบให้สาหรับบุคคลอื่นนาไปพัฒนาต่อได้ การ พัฒนามาจากโครงการ Open Source เดิมของ AVR ชื่อว่า Wiring โดยโครงการ Wiring ใช้ หนว่ ยท่ี 1 : โครงสรา้ งและส่วนประกอบไมโครคอนโทรลเลอร์

เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 9 ไมโครคอนโทรลเลอร์ AVR เบอร์ ATmega128 ซึ่งมีข้อจากดั หลายด้าน เช่น ตัวชปิ ที่มีตัวถังเป็นแบบ SMD ส่งผลให้ใช้งานยาก และต่อมาทีมงาน Arduino ได้นาโครงการ Wiring มาพัฒนาต่อ โดยใช้ ไมโครคอนโทรลเลอร์ที่มีขนาดเล็กลง คือ ATmega8 ATmeaga168 ทาให้กลับมาได้รับความนิยม มาจนถึงปจั จุบัน ดงั ตัวอย่างบอรด์ ดังรนุ่ ตอ่ ไปนี้ 1.4.1 Arduino Uno R3 คาว่า Uno แปลว่า หนึ่ง เป็นบอร์ดท่ีได้ความนิยมสูงสุด เหมาะ แก่การเริ่มตน้ เรียนรู้ Arduino โดยใช้ชพิ ATmega328 ทางานดว้ ยความถ่ี 16 MHz หากตัวไอซไี ด้รับ ความเสียหายผู้ใช้สามารถเปลี่ยนเองได้ มีหน่วยความจาแฟลช 32 KB แรม 2 KB และ Shield สาหรับ Uno ให้เลือกใช้เป็นจานวนมาก รวมไปถึงท้ังโปรแกรมตัวอย่าง และ Library ต่าง ๆ ไว้ใช้งาน ดังรูปท่ี 1.6 ข้อมูลทางเทคนิค เบอร์ไอซีคอนโทรลเลอร์ ATmega328 รองรับแหล่งจา่ ยไฟฟา้ 6 – 20 โวลต์ ระดบั แรงดันไฟฟา้ เขา้ 7 - 12 โวลต์ ระดับแรงดนั ไฟฟา้ ทีข่ าสัญญาณ 5 โวลต์ (TTL) พอรต์ Digital Input/output 14 ขา (ใชง้ าน PWM ได้ 6 ขา) พอร์ต Analog Input 6 ขา Serial UART 1 ชุด I2C 1 ชุด (ใชง้ านที่ขา A4 A5) SPI 1 ชดุ รูปที่ 1.6 Arduino Uno R3 ท่ีมา : https://www.arduino.cc/en/Main/ArduinoBoardUnoSMD หน่วยที่ 1 : โครงสร้างและสว่ นประกอบไมโครคอนโทรลเลอร์

เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 10 1.4.2 Arduino Uno SMD บอร์ดรุ่นนี้มีคุณสมบัตแิ ละการทางานเหมือนกันทุกประการกับ Arduino Uno R3 แตจ่ ะแตกตา่ งตรงที่ Package ของไอซีคอนโทรลเลอรเ์ ป็นแบบ SMD Package รปู ที่ 1.7 Arduino Uno SMD ทม่ี า : https://www.arduino.cc/en/Main/ArduinoBoardUnoSMD 1.4.3 Arduino Mega 2560 บอร์ด Arduino Mega 2560 จะเหมือนกับ Arduino Mega ADK ต่างกันตรงท่ีบนบอร์ดไม่มี USB Host มาให้ การโปรแกรมยังต้องทาผ่านโปรโตคอล UART อยู่บนบอร์ดใช้ชิปไอซีไมโครคอนโทรเลอร์เบอร์ ATmega2560 เป็นบอร์ด Arduino ท่ีออกแบบมา สาหรับงานท่ีต้องใช้พอร์ตอินพุต/เอาต์พุต มากกว่า Arduino Uno R3 เช่น งานท่ีต้องการรับ สัญญาณจากโมดูลตรวจจับหรืองานควบคุมมอเตอร์ Servo หลาย ๆ ตัว ซึ่ง พอร์ตอินพุต/เอาต์พุต ของบอร์ด Arduino Uno R3 ไม่สามารถรองรับได้หมด ท้ังน้ีบอร์ด Mega 2560 R3 ยังมีความ หน่วยความจาแบบ Flash มากกว่า Arduino Uno R3 ทาให้ขีดสามารถในการเขียนโค้ดโปรแกรม เข้าไปได้มากกว่าเม่ือเทยี บกบั ความเรว็ ของ MCU ทเี่ ทา่ กนั ข้อมลู ทางเทคนคิ เบอร์ไอซีคอนโทรลเลอร์ ATmega328 รองรับแหลง่ จา่ ยไฟฟ้า 6 – 20 โวลต์ ระดบั แรงดนั ไฟฟ้าเข้า 7-12 โวลต์ ระดับแรงดนั ไฟฟ้าท่ีขาสญั ญาณ 5 โวลต์ (TTL) พอร์ต Digital Input/output 54 ขา (ใช้งาน PWM ได้ 15 ขา) พอร์ต Analog Input 16 ขา SRAM 8 KB EEPROM 4 KB ความถ่คี ริสตอล 16 MHz ขนาด 101.52 x 53.3 มม. หนัก 37 กรัม หน่วยที่ 1 : โครงสรา้ งและสว่ นประกอบไมโครคอนโทรลเลอร์

เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 11 รปู ที่ 1.8 Arduino Mega 2560 ที่มา : https://store.arduino.cc/usa/arduino-mega-2560-rev3 1.4.4 Arduino Mega ADK บอร์ด Arduino Mega ADK มีชิปไอซี USB Host มาให้บนบอร์ด เพ่ือใช้สาหรบั เช่ือมตอ่ กับโทรศัพท์มอื ถอื ระบบปฏิบตั ิการแอนดรอยผ่าน OTG มีพอรต์ ดิจิตอลอินพุต/ เอาต์พุต จานวน 54 พอร์ต มีอนาล็อกอินพุตมาให้ 16 พอร์ต Arduino Mega ADK จะแตกต่างกับบอร์ด Arduino Uno ตรงท่ีชิป บนบอร์ดน้ันมีสมรรถนะที่น้อยกว่า และใชค้ วามถ่ีตา่ กวา่ ดังนน้ั จึงไม่เหมาะ สาหรับการนาไปใช้กับงานคานวณ แต่เหมาะสาหรับงานที่ใช้การเชื่อมต่อกับโทรศัพท์มือถือ ระบบปฏบิ ตั ิการแอนดรอยมากกวา่ ขอ้ มูลทางเทคนคิ เบอรไ์ อซคี อนโทรลเลอร์ ATmega2560 เบอรไ์ อซี USB Host MAX3421E รองรับแหล่งจา่ ยไฟฟ้า 6 – 20 โวลต์ ระดบั แรงดันไฟฟา้ เขา้ 7 - 12 โวลต์ ระดบั แรงดันไฟฟ้าทีข่ าสัญญาณ 5 โวลต์ (TTL) พอร์ต Digital Input/output 54 ขา (ใช้งาน PWM ได้ 15 ขา) พอร์ต Analog Input 16 ขา SRAM 8 KB EEPROM 4 KB ความถคี่ ริสตอล 16 MHz ขนาด 101.52 x 53.3 มม. หนกั 36 กรัม หน่วยท่ี 1 : โครงสร้างและส่วนประกอบไมโครคอนโทรลเลอร์

เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 12 รูปที่ 1.9 Arduino Mega ADK ท่ีมา : https://store.arduino.cc/usa/arduino-mega-adk-rev3 1.4.5 Arduino Leonardo บอร์ด Arduino Leonard ที่รองรับการเชื่อมต่อกับพอร์ต USB ได้โดยตรง ทาให้บอร์ดสามารถเขียนโปรแกรมเพื่อจาลองตัวเองให้เป็นเมาส์หรือคีย์บอร์ดได้ ทางานทีแ่ รงดนั 5 โวลต์ ทาใหส้ ามารถใชง้ านร่วมกบั เซน็ เซอร์ หรือ Shields ทใ่ี ชง้ านกบั Arduino Uno ได้ โดยการทางานจะคล้ายคลึงกบั บอร์ด Arduino Uno R3 แตม่ กี ารเปลย่ี น MCU ตัวใหมเ่ ปน็ ATmega32U4 ซ่งึ มีโมดูลพอรต์ USB มาดว้ ยบนชิป โดยแตกต่างจากบอรด์ Arduino Uno R3 ท่ีต้องใช้ชิป ATmega16U2 ร่วมกบั ATmega328 ในการเชอื่ มตอ่ กบั พอรต์ USB ขอ้ มลู ทางเทคนิค ATmega32U4 เบอร์ไอซีคอนโทรลเลอร์ 6 – 20 โวลต์ รองรบั แหล่งจา่ ยไฟฟ้า 7 - 12 โวลต์ ระดับแรงดันไฟฟา้ เข้า 5 โวลต์ ระดบั แรงดันไฟฟ้าทข่ี าสญั ญาณ 20 ขา (ใชง้ าน PWM ได้ 7 ขา) พอรต์ Digital Input/output 12 ขา พอรต์ Analog Input 2.5 KB SRAM 1 KB EEPROM 16 MHz ความถคี่ รสิ ตอล 68.6 x 53.3 มม. ขนาด 20 กรมั หนกั หนว่ ยท่ี 1 : โครงสรา้ งและส่วนประกอบไมโครคอนโทรลเลอร์

เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 13 รปู ท่ี 1.10 Arduino Leonardo ที่มา : https://store.arduino.cc/usa/arduino-leonardo-with-headers 1.4.6 Arduino mini 05 เป็นบอร์ดคอนโทรลเลอร์ท่ีใช้เบอร์เดียวกับ Uno คือเบอร์ ATmega328 แต่ข้อแตกต่างอยู่ที่ตัวบอร์ดไม่มีพอร์ต USB มาให้ ทั้งนี้หากผู้ใช้งานต้องการโปรแกรม บอร์ดต้องตอ่ บอร์ดกบั USB to Serial Converter รูปที่ 1.11 Arduino mini 05 ทม่ี า : https://store.arduino.cc/usa/arduino-mini-05 1.4.7 Arduino Pro mini 328 เป็นบอร์ดไมโครคอนโทรลเลอร์ขนาดเล็ก ใช้ไอซีเบอร์ ATmega328 เบอร์เดียวกับ Arduino mini 05 ท้ังน้ีบอร์ดรุ่นน้ีจะมีให้เลือก 2 รุ่นย่อย ท่ีแตกต่างกัน ท่วี งจร Regulator และรักษาระดับแรงดนั ไฟทพี่ อรต์ I/O คือ 3.3 กับ 5 โวลต์ ขอ้ มูลทางเทคนคิ พอร์ต Digital Input/output 14 ขา พอรต์ Analog Input 6 ขา UART 1 SPI 1 I2C 1 External Interrupts 2 SRAM 2 KB EEPROM 1 KB หนว่ ยท่ี 1 : โครงสรา้ งและสว่ นประกอบไมโครคอนโทรลเลอร์

เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 14 ความถ่คี รสิ ตอล 8 MHz (รุ่น 3.3 โวลต์) หรือ 16 MHz (รุน่ 5 โวลต์) รูปท่ี 1.12 Arduino Pro mini 328 ท่มี า : https://store.arduino.cc/usa/arduino-pro-mini 1.4.8 Arduino Ethernet with PoE Module เป็นบอร์ด Arduino ที่ใช้ไมโครคอนโทรลเลอร์ เบอร์ดับกับบอร์ดรุ่น Arduino Uno SMD นอกจากน้ียังมีชิป Ethernet และ ช่อง SD Card รวมท้ัง โมดูล PoE ทาให้บอร์ดสามารถใช้แหล่งจ่ายไฟจากสาย LAN ได้โดยตรง แต่บอร์ดรุ่นนี้ก็มีข้อเสียคือ ไมม่ ีพอรต์ USB และต้องต่อ USB to Serial Converter ในการโปรแกรม ขอ้ มลู ทางเทคนคิ เบอร์ไอซีคอนโทรลเลอร์ ATmega328P รองรบั แหล่งจา่ ยไฟฟา้ 6 – 20 โวลต์ ระดบั แรงดนั ไฟฟ้าเข้า 7 - 12 โวลต์ ระดบั แรงดันไฟฟา้ ท่ขี าสญั ญาณ 5 โวลต์ พอร์ต Digital Input/output 14 ขา (ใช้งาน PWM ได้ 4 ขา) พอร์ต Analog Input 6 ขา Flash Memory 32 KB SRAM 2 KB EEPROM 1 KB ความถค่ี รสิ ตอล 16 MHz ขนาด 68.6 x 53.3 มม. หนกั 28 กรัม หนว่ ยท่ี 1 : โครงสร้างและส่วนประกอบไมโครคอนโทรลเลอร์

เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 15 รปู ที่ 1.13 Arduino Ethernet with PoE Module ทม่ี า : https://store.arduino.cc/usa/arduino-ethernet-rev3-with-poe 1.4.9 Arduino Uno Wi-Fi เป็นบอร์ดคอนโทรลเลอร์ที่ใช้ชิปเบอรเ์ ดียวกับ Arduino Uno คือ ATmega328P แต่มีการเพ่ิมโมดูล Wi-Fi ใช้เบอร์ esp8266 แบบ 32 บิต ความถี่ 80 MHz หน่วยความจาแฟลช 4 MB แรม 8 MB รองรับมาตรฐาน IEEE 802.11 b/g/n ที่ความถี่ 2.4 GHz ทั้งนี้รองรับการอัพโหลดโปรแกรมแบบ OTA แต่บอร์ดรุ่นนี้กลับไม่ได้รับความนิยมมากนักและราคา ค่อนข้างสูง รูปท่ี 1.15 Arduino Uno Wi-Fi ทีม่ า : https://store.arduino.cc/usa/arduino-uno-wifi 1.4.10 Arduino MKR (WAN 1300 / GSM 1400) เป็นบอร์ดคอนโทรลเลอร์รุ่นใหม่ ที่ถูกพัฒนาข้ึนมาเพ่ือรองรับเทคโนโลยี Internet of Things (IoT) ทั้งผ่านการเชื่อมต่อแบบ LoRa สาหรับรุ่น Arduino MKR WAN 1300 และการเช่ือมต่อแบบ GSM ในรุ่น Arduino MKR WAN 1400 โดยทัง้ สองถูกพัฒนาเพอ่ื ใช้เป็นแนวทางในการประยกุ ตใ์ ช้ในงานอตุ สาหกรรมหลากหลาย หนว่ ยที่ 1 : โครงสรา้ งและสว่ นประกอบไมโครคอนโทรลเลอร์

เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 16 ขอ้ มูลทางเทคนิค SAMD21 Cortex-M0+ 32bit low power ARM MCU เบอร์ไอซีคอนโทรลเลอร์ 2 x AA หรือ AAA 3.3 โวลต์ รองรับแบตเตอร่ี 8 ขา ระดบั แรงดนั ไฟฟ้าทขี่ าสัญญาณ 7 ขา (ADC 8/10/12 bit) พอรต์ Digital Input/output 1 ขา (DAC 10 bit) พอร์ต Analog Input 12 ขา พอรต์ Analog Output 8 ขา พอรต์ PWM 256 KB External Interrupts 32 KB Flash Memory No SRAM 433/868/915 MHz EEPROM 32.768 kHz (RTC), 48 MHz รองรบั Frequency 67.64 x 25 มม. ความถีค่ รสิ ตอล 32 กรัม ขนาด หนกั รูปท่ี 1.16 Arduino MKR 1300 ทมี่ า : https://store.arduino.cc/usa/mkr-wan-1300 หนว่ ยท่ี 1 : โครงสรา้ งและส่วนประกอบไมโครคอนโทรลเลอร์

เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 17 รูปท่ี 1.17 Arduino MKR 1400 ทีม่ า : https://store.arduino.cc/usa/mkr-wan-1400 หนว่ ยท่ี 1 : โครงสร้างและส่วนประกอบไมโครคอนโทรลเลอร์

เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 18 แบบทดสอบหลงั เรียน หนว่ ยที่ 1 โครงสรา้ งและส่วนประกอบของไมโครคอนโทรลเลอร์ คาสง่ั จงเลอื กคาตอบท่ีถูกทส่ี ุดเพยี งข้อเดียว 1. ไมโครคอนโทรลเลอรม์ ีความหมายตรงกับขอ้ ใด? ก. ระบบส่อื สารผ่านดาวเทยี ม ข. ระบบคอมพิวเตอร์ขนาดเล็กทป่ี ระยุกต์ใชง้ านไดห้ ลากหลาย ค. ระบบเคร่ืองเสียงที่ประยกุ ต์ใชง้ านได้หลากหลาย ง. ระบบคอมพิวเตอร์ขนาดใหญ่ทป่ี ระยกุ ตใ์ ชง้ านไดห้ ลากหลาย จ. ระบบโทรทศั น์ท่มี าประยุกต์ใชง้ านไดห้ ลากหลาย 2. ขอ้ ใดไม่ใช่ตระกลู ไมโครคอนโทรลเลอร์? ก. Z-80 ข. MCS-51 ค. PICO ง. AVR จ. RABBIT 3. ขอ้ ใดไม่ใช่โครงสรา้ งหลักภายในของไมโครคอนโทรลเลอร์? ก. CPU ข. Memory ค. Interface unit ง. Oscilloscope จ. Bus 4. Arduino ใช้ไมโครคอนโทรลเลอรต์ ระกูลใด? ก. PIC ข. MCS-51 ค. AVR ง. Z-80 จ. RABBIT 5. บอรด์ Arduino Uno R3 มพี อรต์ I/O จานวน? ก. 22 ขา ข. 23 ขา ค. 12 ขา ง. 13 ขา หนว่ ยท่ี 1 : โครงสรา้ งและส่วนประกอบไมโครคอนโทรลเลอร์

เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 19 จ. 18 ขา 6. ข้อใดกลา่ วผดิ ? ก. ROM สามารถอ่านข้อมูลได้ แตเ่ ขยี นไม่ได้ ข. RAM ขอ้ มูลไมส่ ูญหายแม้หยุดการจา่ ยไฟ ค. CPU ทาหนา้ ท่ีคานวณทางคณติ ศาสตร์ ง. อุปกรณ์หลักส่วนกาเนิดสญั ญาณนาฬิกาคือ X-TAL จ. Uno เป็นภาษาอติ าลี ซึ่งแปลวา่ หนง่ึ 7. สายสญั ญาณ Serial Clock (SCL) ของ Arduino Uno R3 ใช้ขาใด? ก. A4 ข. A5 ค. Tx ง. Rx จ. 5V 8. ข้อใดไม่ใชอ่ ักษรย่อท่ีนิยมใชข้ องไมโครคอนโทรลเลอร์? ก. uC ข. MCU ค. µC ง. mCL จ. ถกู ทกุ ข้อ 9. RAM ย่อมาจากอะไร? ก. Read Access Memory ข. Random Access Memory ค. Random Accurately Memory ง. Read Accurately Memory จ. Random Actual Memory 10. Arduino Uno R3 ใชไ้ อซีเบอรใ์ ด? ก. ATmega328 ข. ATmega168 ค. ATmega2560 ง. esp8266 จ. DIP8 หนว่ ยที่ 1 : โครงสร้างและสว่ นประกอบไมโครคอนโทรลเลอร์

เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 20 แบบฝกึ หดั หน่วยท่ี 1 โครงสรา้ งและสว่ นประกอบของไมโครคอนโทรลเลอร์ ตอนท่ี 1 1. โครงสรา้ งหลักภายในของไมโครคอนโทรลเลอร์หลัก 5 ส่วนใหญ่ ไดแ้ ก่ 1) …………………………………………………………….................................................................. 2) …………………………………………………………….................................................................. 3) …………………………………………………………….................................................................. 4) …………………………………………………………….................................................................. 5) …………………………………………………………….................................................................. 2. ให้ผเู้ รยี นกาเครือ่ งหมายถูก () หน้าขอ้ ที่คิดว่าถูก และกาเครอ่ื งหมายผดิ () ในข้อทีค่ ดิ วา่ ผดิ CPU ย่อมาจากคาวา่ Central Progress United Oscillator Circuit มากาหนดชว่ งเวลาในบันทกึ ข้อมูล สว่ นประกอบของไมโครคอนโทรลเลอร์คอื หนว่ ยอินพุต/เอาต์พุต หนว่ ยประมวลผลกลาง หนว่ ยความจา และพอรต์ ไมโครคอนโทรลเลอร์ มักยอ่ ว่า µC, uC หรือ MCU Arduino Uno R3 เป็นบอรด์ Arduino ทีไ่ ดร้ ับความนิยมมากทส่ี ดุ Shield คือ โมดลู มาต่อเพม่ิ ของ Arduino Arduino Mega ADK เป็นบอร์ดท่ีออกแบบมาให้ สามารถตดิ ต่อกับอปุ กรณ์ Android Device ผ่าน WiFi Arduino Mega 2560 ใชเ้ บอรไ์ อซีคอนโทรลเลอร์ ATmega328 ไมโครคอนโทรลเลอร์ตระกูล MCS-51 เป็นตระกูลท่เี กดิ มากอ่ น Z80 Arduino Uno Wi-Fi คือบอร์ดคอนโทรลเลอร์ท่ีเพิ่มชิป esp8366 เข้าไป หน่วยท่ี 1 : โครงสรา้ งและสว่ นประกอบไมโครคอนโทรลเลอร์

เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 21 ตอนท่ี 2 คาสั่ง จากรปู ภาพ Arduino Uno R3 ใหน้ กั เรยี นนาตัวเลขดา้ นลา่ งมาเติมลงในรูปใหม้ ีความสมั พันธ์กัน 1. USB to Serial 2. Reset button 3. MCU 4. 16 MHz crystal 5. Power LED 6. Power Pins 7. Digital I/O Pins 8. Analog Input Pins 9. USB Port 10. DC Power input ………………………….... ………………….…...…...…....................... ………….…...…...…...…...…...….............. . ………………………….... . ………………………….... ………………………….... ………………………….... ………………………….... ………………………….... ………………………….... หน่วยท่ี 1 : โครงสรา้ งและส่วนประกอบไมโครคอนโทรลเลอร์

เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 22 เฉลยแบบทดสอบกอ่ นเรยี น 5. ค 10. ก หน่วยที่ 1 โครงสรา้ งและสว่ นประกอบไมโครคอนโทรลเลอร์ 1. ข 2. ค 3. ง 4. ค 6. ข 7. ข 8. ง 9. ข เฉลยแบบทดสอบหลังเรยี น 5. ง 10. ง หน่วยท่ี 1 โครงสรา้ งและส่วนประกอบไมโครคอนโทรลเลอร์ 1. ก 2. ก 3. ข 4. ง 6. ข 7. ก 8. ค 9. ง เฉลยแบบฝกึ หัด หนว่ ยที่ 1 โครงสร้างและสว่ นประกอบไมโครคอนโทรลเลอร์ ตอนที่ 1 1. โครงสร้างหลักภายในของไมโครคอนโทรลเลอรห์ ลัก 5 ส่วนใหญ่ ได้แก่ 1. ส่วนประมวลผล 4. สว่ นกาเนดิ สัญญาณนาฬิกา 2. สว่ นพ้ืนทเี่ กบ็ ข้อมูล 5. สว่ นอนิ เตอรร์ พั ทส์ ัญญาณ 3. สว่ นเช่อื มต่อสัญญาณทางไฟฟ้า 2. ให้ผู้เรียนกาเคร่อื งหมายถูก () หน้าข้อที่คิดว่าถกู และกาเคร่ืองหมายผดิ () ในข้อทคี่ ิดว่าผดิ  CPU ย่อมาจากคาวา่ Central Progress United  Oscillator Circuit มากาหนดช่วงเวลาในบันทกึ ข้อมูล  ส่วนประกอบของไมโครคอนโทรลเลอร์คือ หนว่ ยอินพตุ /เอาต์พตุ หน่วยประมวลผลกลาง หน่วยความจา และพอรต์  ไมโครคอนโทรลเลอร์ มกั ย่อวา่ µC, uC หรือ MCU  Arduino Uno R3 เป็นบอรด์ Arduino ท่ีไดร้ ับความนิยมมากท่สี ดุ  Shield คือ โมดูลมาตอ่ เพิ่มของ Arduino  Arduino Mega ADK เป็นบอรด์ ท่ีออกแบบมาให้ สามารถติดต่อกับอุปกรณ์ Android Device ผ่าน WiFi  Arduino Mega 2560 ใชเ้ บอร์ไอซีคอนโทรลเลอร์ ATmega328  ไมโครคอนโทรลเลอร์ตระกลู MCS-51 เป็นตระกลู ทเ่ี กดิ มาก่อน Z80  Arduino Uno Wi-Fi คอื บอรด์ คอนโทรลเลอรท์ ี่เพิ่มชปิ esp8366 เขา้ ไป หนว่ ยที่ 1 : โครงสรา้ งและส่วนประกอบไมโครคอนโทรลเลอร์

เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 26 หนว่ ยที่ 2 ชดุ คาสัง่ และการเขยี นโปรแกรมควบคมุ สาระสาคญั การเขียนโปรแกรมควบคุมการทางานไมโครคอนโทรลเลอร์ ซอฟต์แวร์ที่ใชใ้ นการพัฒนางาน สาหรับบอร์ด Arduino คือโปรแกรมที่เรียกว่า Arduino IDE (Integrated Development Environment) ในการเขียนโปรแกรมและคอมไพล์ลงบอร์ด จะอ้างองิ ตามภาษา C / C++ เป็นการเขียนโปรแกรมท่ีมี ความยืดหยุ่นมากกว่า และสามารถพัฒนางานได้เร็วกว่าการเขียนโปรแกรมด้วยภาษาแอสเซมบลี การเขียนโปรแกรมเพื่อควบคุมการทางานของ Arduino IDE โดยเรียกใช้ฟังก์ชั่นและไลบรารีที่ทาง Arduino IDE ได้จัดเตรียมฟังก์ช่ันพ้ืนฐาน เช่น ฟังก์ชั่นเกี่ยวกับขาพอร์ตอินพุตเอาต์พุตดจิ ิตอล, อินพุต เอาต์พุตแอนะล็อก เป็นต้น นอกจากฟังก์ช่ันพื้นฐานเหล่าน้ีแล้ว นักพัฒนาหลาย ๆ ท่านที่ร่วมในโครงการ Arduino นี้ก็ได้เพ่ิมไลบรารีอ่ืน ๆ เช่น ไลบรารีควบคุมมอเตอร์, การติดต่อกับอุปกรณ์บัส I2C ฯลฯ ในการ เรยี กใช้งาน ตอ้ งเพ่มิ บรรทัด #include เพอ่ื ผนวกไฟลท์ ่เี หมาะสมกอ่ นเรยี กใช้ฟงั กช์ ่ัน สาระการเรยี นรู้ 2.1 การตดิ ตัง้ ซอฟต์แวร์ Arduino IDE 2.2 การใชง้ าน Arduino IDE 2.3 โครงสรา้ งภาษา ตัวแปร ค่าคงท่ี 2.4 ฟงั ก์ชนั่ ชุดคาสง่ั และการเขียนโปรแกรมควบคมุ สาหรับไมโครคอนโทรลเลอร์ จดุ ประสงค์เชิงพฤติกรรม เพื่อให้นักเรยี น 1. สามารถอธิบายความหมายของคาส่ังภาษาซไี ด้อย่างถกู ต้อง 2. สามารถเขียนโปรแกรมด้วยคาสัง่ ภาษาซี Arduino ไดอ้ ยา่ งถกู ตอ้ ง 3. เตรยี มความพรอ้ มดา้ นวัสดุ อปุ กรณส์ อดคลอ้ งกบั งานได้อย่างถูกต้อง หน่วยที่ 2 : ชดุ คำสงั่ และกำรเขียนโปรแกรมควบคมุ

เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 27 แบบทดสอบก่อนเรียน หนว่ ยท่ี 2 ชุดคาส่งั และการเขยี นโปรแกรมควบคมุ คาสง่ั จงเลอื กคาตอบท่ีถูกที่สุดเพยี งข้อเดียว 1. การตดิ ตั้ง Arduino IDE ตอ้ งไป Download โปรแกรมที่ใด? ก. https://www.arduino.cc ข. https://www.arduinocc.com ค. www.arduino.com ง. https://www.arduinothai.cc จ. www.arduinocc.com 2. โปรแกรม Arduino IDE คาว่า IDE ยอ่ มาจาก? ก. Integrat Developer Environment ข. Integrated Development Environment ค. Integrated Developer Enterprise ง. Integer Development Enterprise จ. Integer Development Eclipse 3. เราสามารถเรยี กดูพอร์ตจากส่วนใดของคอมพวิ เตอร์? ก. Driver Manager ข. Driver License ค. Device Manager ง. Developer License จ. Device License 4. คาสง่ั Verify เรียกใชเ้ พ่ือต้องการอะไร? ก. สรา้ ง Sketch ใหม่ ข. บนั ทกึ Sketch ค. ตรวจเช็คไวยกรณ์ของโปรแกรม ง. อปั โหลดโปรแกรม จ. ลบ Sketch 5. ใชส้ ัญลกั ษณใ์ ดเพ่ือต้องการแสดงคาอธิบายลงโปรแกรม? ก. ++ ข. * ค. %% ง. // จ. && หน่วยที่ 2 : ชุดคำสงั่ และกำรเขียนโปรแกรมควบคมุ

เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 28 6. คาสง่ั ใดเปน็ คาสั่งหน่วงเวลา? ก. digitalWrite ข. digitalRead ค. pinMode ง. delay จ. delete 7. บอดเรต (baud rate) คืออะไร? ก. อัตราเร็วในการรบั ส่งข้อมลู ทตี ้องกาหนดค่า ข. พอรต์ ในการเชอ่ื มต่อบอรด์ ค. บนั ทกึ โปรแกรมลา่ สดุ ง. หน่วยความจาไมโครคอนโทรลเลอร์ จ. ความถี่ 8. อธบิ ายคาสง่ั if? ก. คาสั่งท่ีใชใ้ นการตรวจสอบเงอ่ื นไข ข. กาหนดโหมดของ GPIO ค. การบวกลบทางคณิตศาสตร์ ง. เรียกใชไ้ ลบรารีก่ ่อนคอมไพลเ์ ลอรป์ ระมวลผล จ. การเขียนผังงาน 9. ตัวแปรชนิด char มีขนาดตัวแปรกบี่ ิต? ก. 8 ข. 16 ค. 32 ง. 64 จ. 128 10. โครงสร้างโปรแกรมของ Arduino แบ่งได้เปน็ สองสว่ นคือ? ก. void setup() และ void run() ข. void setup() และ void main() ค. void main() และ void loop() ง. void setup() และ void loop() จ. void main() และ void run() หน่วยที่ 2 : ชุดคำสงั่ และกำรเขียนโปรแกรมควบคมุ

เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 29 การเขียนโปรแกรมไมโครคอนโทรลเลอร์ Arduino สามารถเขียนไดทงั้ ภาษาแอสเซมบลี และภาษาระดับสงู ได้แก่ ( ภาษาซี ขน้ึ อยู(กับว่าผู้พัฒนาโปรแกรมเลือกใช้ภาษาใดมาใช้สาหรับเขียน โปรแกรมเพื่อควบคุมการทางานของไมโครคอนโทรลเลอร์ 2.1 การตดิ ตงั้ ซอฟต์แวร์ Arduino IDE การใช้งาน Arduino เร่ิมต้น ต้องมีโปรแกรมสาหรับใช้เขียนโปรแกรมลงบอร์ด Arduino กันก่อน ซึ่งโปรแกรมท่ีนิยมใช้ก็คือ Arduino IDE จากเว็บ www.arduino.cc ซึ่งใช้งานง่ายและฟรี ใช้ร่วมกับบอร์ด Arduino ได้ทุกรุ่น โดยรุ่นท่ีออกแบบสาหรับผู้เริ่มต้นคือบอร์ด Arduino Uno มีราคาไม่แพงและมีโคดตัวอย่างให้ศึกษาได้มากมาย สามารถใช้สั่งงานเปิด/ปิดไฟ ทาเป็นเคร่ือง ควบคุมอุณหภูมิในฟาร์มต้นไม้ ใช้ส่ังงานจากโทรศัพท์มือถือ และอีกหลาย ๆ โปรเจค เท่าท่ีสามารถ จนิ ตนาการได้ บทนถ้ี อื เป็นจดุ เร่มิ ต้นสาหรับ Arduino โดยจะตอ้ งตดิ ตัง้ โปรแกรม Arduino IDE ก่อน ลงโปรแกรม Arduino IDE ดังนี้ 2.1.1 ดาวน์โหลดโปรแกรม Arduino IDE โหลดโปรแกรม Arduino IDE ได้ฟรที เ่ี ว็บไซต์ https://www.arduino.cc/en/Main/Software รปู ท่ี 2.1 หน้าต่างเวบ็ ไซตส์ าหรับดาวน์โปรแกรม Arduino IDE ท่มี า : https://www.arduino.cc/en/Main/Softwareสามารถเลือกดาวนโ์ หลดโปรแกรมใช้งานได้ ตามระบบปฏิบัติการได้ ดังน้ี 1. Windows Installer, for Windows XP and up 2. Windows ZIP file for non admin install 3. Windows app Requires Win 8.1 or 10 4. Mac OS X 10.7 Lion or newer หน่วยท่ี 2 : ชุดคำสงั่ และกำรเขียนโปรแกรมควบคมุ

เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 30 5. Linux 32 bits 6. Linux 64 bits 7. Linux ARM สาหรับบทเรียนนเ้ี ลือก “Windows Installer, for Windows XP and up” จากนั้นทาการคลกิ เลือกปุ่ม “JUST DOWNLOAD” และรอจนกว่าโหลดเสร็จเรียบร้อยสาหรับระบบปฎบิ ตั ิการ Windows เม่ือดาวนโ์ หลดเสร็จแล้ว กดเปิดไฟล์ arduino-xxx.exe เพ่ือติดตัง้ โปรแกรม กด Next ไปเรื่อย ๆ ตามปกติ ดังรูปท่ี 2.2 รูปท่ี 2.2 ดาวน์โหลดโปรแกรม Ardiuno IDE รปู ที่ 2.3 หน้าต่างติดตง้ั โปรแกรม Ardiuno IDE หน่วยท่ี 2 : ชุดคำสงั่ และกำรเขียนโปรแกรมควบคมุ

เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 31 รปู ที่ 2.4 หนา้ ต่างยนิ ยอม License กอ่ นทาการตดิ ต้งั Ardiuno IDE รปู ท่ี 2.5 หน้าต่างเลือกส่วนเสรมิ ในการติดตง้ั โปรแกรม Ardiuno IDE รปู ท่ี 2.6 หน้าตา่ งเลอื กที่ตั้งโปรแกรม Ardiuno IDE หน่วยท่ี 2 : ชุดคำสงั่ และกำรเขียนโปรแกรมควบคมุ

เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 32 รูปที่ 2.7 หน้าต่างการติดตง้ั โปรแกรม Ardiuno IDE สาเร็จ 2.1.2 การตั้งค่าเริ่มต้นการใช้งาน หลังจากติดตั้งโปรแกรม Arduino IDE เสร็จเรียบร้อยแล้ว ให้เปิดโปรแกรม Arduino จากไอคอนหน้าจอ ให้เราเปิดโปรแกรมตัวอย่าง โดยเลือกจากเมนู File > Examples > 01.Basics > Blink ดังรปู ที่ 2.8 รปู ท่ี 2.8 หน้าตา่ งการต้งั คา่ เร่มื ตน้ การใชง้ าน หน่วยท่ี 2 : ชุดคำสงั่ และกำรเขียนโปรแกรมควบคมุ

เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 33 จากนั้นทาการเลือกชื่อบอร์ดไมโครคอนโทรลเลอรจ์ ากเมนู Tool > Board > เลือกชื่อบอร์ด (Arduino/Genuino Uno) ดงั รูปที่ 2.9 รูปที่ 2.9 หน้าตา่ งการเลือกชื่อบอรด์ และทาการเลือกพอร์ตของบอร์ดไมโครคอนโทรลเลอร์ที่เชื่อมต่ออยู่ ดังรูปท่ี 2.10 สามารถ ดเู ลขพอรต์ ทเ่ี ชอ่ื มต่อได้จากรูปที่ 2.11 รูปที่ 2.10 หนา้ ต่างการตดิ ตง้ั โปรแกรม Ardiuno IDE สาเร็จ หน่วยท่ี 2 : ชดุ คำสงั่ และกำรเขียนโปรแกรมควบคมุ


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook