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 TNP_Unit_1 ความรู้เกี่ยวกับไมโครคอนโทรลเลอร์เบื้องต้น

TNP_Unit_1 ความรู้เกี่ยวกับไมโครคอนโทรลเลอร์เบื้องต้น

Published by Chaiadul Rainson, 2019-06-13 00:44:56

Description: TNP_Unit_1

Search

Read the Text Version

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

เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอรเ์ บื้องตน้ 2 จุดประสงคเ์ ชงิ พฤตกิ รรม 1. อธบิ ายความรู้เกีย่ วกับไมโครคอนโทรลเลอร์เบือ้ งต้นได้ 2. จาแนกตระกูลและหน้าทีส่ ่วนตา่ งๆของไมโครคอนโทรลเลอร์ได้ 3. บอกส่วนประกอบของไมโครคอนโทรลเลอร์ AVR ได้ 4. อธบิ ายโครงสร้างภายในไมโครคอนโทรลเลอร์ AVR ได้ 5. บอกส่วนประกอบและโครงสร้างภายในของไมโครคอนโทรลเลอร์ Arduino ได้ หนว่ ยที่ 1 ความร้เู ก่ยี วกบั ไมโครคอนโทรลเลอร์เบื้องต้น เรียบเรยี งโดยครูทนั พงษ์ ภูร่ ักษ์

เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอร์เบอื้ งต้น 3 แบบทดสอบก่อนเรยี น หนว่ ยท่ี 1 เร่ือง ความรเู้ กยี่ วกบั ไมโครคอนโทรลเลอรเ์ บื้องตน้ เร่อื ง ความรูเ้ ก่ียวกับไมโครคอนโทรลเลอร์เบอื้ งตน้ ใชเ้ วลา 20 นาที วิชา ไมโครคอนโทรลเลอรเ์ บ้ืองตน้ รหัสวิชา (2127-2107) ระดบั ช้นั ประกาศนียบัตรวชิ าชพี (ปวช.) สาขาวิชา เมคคาทรอนกิ ส์ ************************************************************************************ คาชแ้ี จง 1. แบบทดสอบมีทั้งหมด 20 ขอ้ (20 คะแนน) 2. ใหผ้ เู้ รียนเลือกคาตอบทถี่ กู ที่สุดแลว้ กาเครื่องหมายกากบาท () ลงในกระดาษคาตอบ 1. ไมโครคอนโทรลเลอร์ (Microcontroller ) มีความหมายตรงกบั ขอ้ ใด ก. ระบบโทรทัศน์ที่มาประยุกตใ์ ช้งานไดห้ ลากหลาย ข. ระบบโทรศพั ท์ทมี่ าประยุกตใ์ ช้งานไดห้ ลากหลาย ค. ระบบคอมพวิ เตอร์ขนาดเลก็ ท่มี าประยุกตใ์ ช้งานได้หลากหลาย ง. ระบบเครื่องเสยี งที่มาประยุกต์ใชง้ านได้หลากหลาย 2. ข้อใดกล่าวผดิ ก. รอมมีคณุ สมบตั ิ อา่ นได้ เขียนไม่ได้ ข. หนว่ ยประมวลผลกลาง ปจั จุบันอยูใ่ นรูปของไอซีท่เี รยี กอีกไมโครโปรเซสเซอร์ ค. อปุ กรณ์สวิตช์ ถอื ว่าเป็นอปุ กรณอ์ ินพตุ ง. แรมเรียกอกี อย่างหนึ่งว่าหนว่ ยความจาโปรแกรม 3. ไมโครคอนโทรลเลอรข์ นาด 8 บติ ตระกลู ใดที่มีการทางานเป็นแบบ RISC ก. ตระกลู AVR ข. ตระกูล MSC-51 ค. ตระกลู PICTURE ง. ตระกูล BASIC STOP 4. ไมโครคอนโทรลเลอรเ์ บอร์ ATmega48 พอร์ตอนิ พตุ เอาตพ์ ุตใหใ้ ช้งานจานวน ก. 33 ขา ข. 23 ขา ค. 13 ขา ง. 3 ขา หน่วยท่ี 1 ความรเู้ กยี่ วกับไมโครคอนโทรลเลอร์เบอ้ื งตน้ เรียบเรียงโดยครูทนั พงษ์ ภู่รักษ์

เอกสารประกอบการสอนวชิ าไมโครคอนโทรลเลอรเ์ บ้ืองตน้ 4 5. ข้อใดไม่ใช่คุณสมบตั ทิ ีถ่ กู ต้องของ ATmega48 ก. มีหนว่ ยความจาข้อมูล (RAM) ข. มหี น่วยความจาสาหรับเกบ็ โปรแกรมแบบแฟลช (ROM) ค. มีพอรต์ อนิ พตุ เอาตพ์ ุตให้ใช้งานจานวน 23 ขา ง. มี Timer/Counters ขนาด 8 บติ 5 ตวั และ 16 บติ 10 ตัว 6. ATmega48 มีหน่วยความจาขนาดเทา่ ไร ก. รอมขนาด 8 Kbyte สามารถเขียน-ลบไดป้ ระมาณ 10,000 ครัง้ ข. รอมขนาด 2 Kbyte สามารถเขยี น-ลบไดป้ ระมาณ 10,000 คร้ัง ค. รอมขนาด 4 Kbyte สามารถเขียน-ลบไดป้ ระมาณ 10,000 ครง้ั ง. รอมขนาด 4 Kbyte สามารถเขยี น-ลบไดป้ ระมาณ 100,000 ครง้ั 7. ATmega48 มีโมดลู สร้างสญั ญาณ Pulse width Modulator (PWM) ทัง้ หมดกี่แหลง่ ก. 4 ชุด 12 ชอ่ งสัญญาณ ข. 4 ชดุ 8 ชอ่ งสญั ญาณ ค. 3 ชดุ 12 ช่องสัญญาณ ง. 3 ชดุ 6 ช่องสญั ญาณ 8. ARDUINO UNO R3 ขาใดมีโครงสร้างภายในรับสญั ญาณ I2C (SCA) ก. D0 ข. C7 ค. B5 ง. A5 9. ขา Digital 11 ของ ARDUINO UNO R3 นอกจากจะเปน็ พอรต์ ดจิ ิตอลแล้วยังมีหน้าทเ่ี ปน็ ขา ก. Capture/Compare/PWM (Pulse Width Modulation) ข. Parallel Mode Operation ค. SPI (SS) ง. In-Circuit Serial Programming 10. ARDUINO UNO R3 พอร์ตใดทเี่ หมาะสาหรับต่อใช้งานการสอ่ื สารแบบอนกุ รม ก. PORTB ข. Analog 4 ค. PORTD ง. Digital 0 หน่วยท่ี 1 ความร้เู กี่ยวกบั ไมโครคอนโทรลเลอรเ์ บือ้ งตน้ เรยี บเรยี งโดยครูทันพงษ์ ภูร่ กั ษ์

เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอร์เบอ้ื งต้น 5 หนว่ ยที่ 1 ความร้เู กย่ี วกบั ไมโครคอนโทรลเลอร์เบื้องต้น 1.1 ความรูเ้ ก่ยี วกับไมโครคอนโทรลเลอร์เบื้องต้น ไมโครคอนโทรลเลอร์ (อังกฤษ: Microcontroller มักย่อว่า µC, uC หรือ MCU) คือ อุปกรณ์ ควบคุมขนาดเลก็ ซงึ่ บรรจคุ วามสามารถทค่ี ลา้ ยคลึงกบั ระบบคอมพิวเตอร์ โดยในไมโครคอนโทรลเลอร์ได้รวม เอาซพี ียู หน่วยความจา และพอร์ต ซึง่ เป็นสว่ นประกอบหลกั สาคัญของระบบคอมพิวเตอร์เข้าไว้ด้วยกัน โดย ทาการบรรจุเขา้ ไวใ้ นตัวถังเดียวกัน ไมโครคอนโทรลเลอร์ถ้าแปลความหมายแบบตรงตัวก็คือ ระบบคอนโทรลขนาดเล็กเรียกอีกอย่าง หนึ่งคือเป็นระบบคอมพวิ เตอร์ขนาดเล็ก ทส่ี ามารถนามาประยุกตใ์ ช้งานไดห้ ลากหลาย โดยผ่านการออกแบบ วงจรให้เหมาะกบั งานตา่ งๆ และยงั สามารถโปรแกรมคาส่ังเพ่ือควบคุมขา Input / Output เพ่ือส่ังงานให้ไป ควบคมุ อปุ กรณ์ตา่ งๆ ไดอ้ ีกดว้ ย ซ่งึ กน็ ับวา่ เปน็ ระบบที่สามารถนามาประยคุ ใช้งานไดห้ ลากหลาย ทั้งทางด้าน Digital และ Analog ยกตัวอย่างเช่น ระบบสัญญาณตอบรับอัตโนมัต, ระบบบัตรคิว, ระบบตอกบัตร พนักงาน และอ่นื ๆ ยง่ิ ระบบไมโครคอนโทรลเลอร์ ในยคุ ปจั จบุ ันน้นั สามารถทาการเช่อื ตอ่ กับระบบ Network ของคอมพวิ เตอรท์ วั่ ไปได้อกี ด้วย ดงั นั้นการสง่ั งานจงึ ไมใ่ ชแ่ ค่หนา้ แผงวงจร แต่อาจจะเป็นการสง่ั งานอยู่คนละ ซกี โลกผา่ นเครือขา่ ยอนิ เตอรเ์ น็ตกไ็ ด้ รปู ท่ี 1.1 โครงสร้างโดยทัว่ ไปของไมโครคอนโทรลเลอร์ (ท่มี า www.Chokelive.com/blog/2013/07/Micro-Controller-Application.html) หนว่ ยท่ี 1 ความรูเ้ ก่ยี วกบั ไมโครคอนโทรลเลอรเ์ บ้อื งตน้ เรยี บเรยี งโดยครทู ันพงษ์ ภรู่ ักษ์

เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอรเ์ บื้องตน้ 6 ไมโครคอนโทรลเลอร์ตระกูลต่างๆ ท่ีไดร้ ับความนิยมและมีพฒั นาการมาจนถึงปจั จบุ นั มีดังนี้ 1.1.1 Z-80 ไมโครคอนโทรลเลอร์ท่ีนิยมใช้กัน เร่ิมตั้งแต่ตัวแรกท่ีเป็นลักษณะของ CPU ไม่ถึงขั้นเรียกว่า ไมโครคอนโทรลเลอร์ ก็คอื ตระกลู Z80 เป็นลักษณะของ CPU เล็กๆ ท่ีต้องอาศัย IO ต่างๆ เพิ่มเติมเข้ามา มาก จึงทาให้บอรด์ มีขนาดค่อนขา้ งใหญ่ จดั ไดว้ ่าเป็นการเริ่มต้นการเรียนรู้ท่ีดีของยุคสมัยน้ัน ทาให้ได้เรียนรู้ ชดุ คาสง่ั ทีเ่ ป็น Op Code รูปที่ 1.2 ไมโครคอนโทรลเลอร์ Z-80 (ท่มี า www.Chokelive.com/blog/2013/07/Micro-Controller-Application.html) รปู ที่ 1.3 ตวั อย่างการใชง้ าน Z-80 บนบอร์ดทดลองจรงิ (ทมี่ า www.Chokelive.com/blog/2013/07/Micro-Controller-Application.html) หน่วยที่ 1 ความรเู้ ก่ียวกบั ไมโครคอนโทรลเลอร์เบื้องตน้ เรียบเรียงโดยครูทันพงษ์ ภรู่ กั ษ์

เอกสารประกอบการสอนวชิ าไมโครคอนโทรลเลอรเ์ บอื้ งต้น 7 1.1.2 MCS-51 บริษัทท่ีสร้างไมโครคอนโทรลเลอร์ตระกูล MCS-51 เป็นบริษัทแรกคือบริษัท Intel ตระกูล MCS-51 เป็นตระกลู ที่พฒั นาต่อจาก Z80 ทาให้การศึกษาเรียนรู้ไมโครคอนโทรลเลอร์ง่ายข้ึนกว่าเดิม ไม่ว่า จะเป็นการเขียนโปรแกรมในลักษณะของ Assembly Code แล้วโหลดลงบอร์ดเพ่ือใช้งาน ตลอดจน สถาปตั ยกรรมในการออกแบบ ไมโครคอนโทรลเลอร์รุ่นนี้ จะชว่ ยลดอุปกรณร์ อบขา้ งลงไปได้มาก เหมาะท่ีจะ นาไปใช้งานจริง รปู ท่ี 1.4 ไมโครคอนโทรลเลอร์ MCS-51 (ที่มา www.Chokelive.com/blog/2013/07/Micro-Controller-Application.html) ตัวอยา่ งการตอ่ ใชง้ าน MCS-51 บนบอร์ดทดลองจริง อุปกรณ์รอบข้างจะน้อยกว่า Z-80 มากทาให้ ออกแบบวงจรได้ง่ายข้ึนมาก รูปท่ี 1.5 ตัวอยา่ งการต่อใชง้ าน MCS-51 บนบอรด์ ทดลอง (ทีม่ า www.Chokelive.com/blog/2013/07/Micro-Controller-Application.html) หน่วยที่ 1 ความรู้เกี่ยวกบั ไมโครคอนโทรลเลอรเ์ บือ้ งต้น เรยี บเรียงโดยครทู ันพงษ์ ภรู่ ักษ์

เอกสารประกอบการสอนวชิ าไมโครคอนโทรลเลอรเ์ บือ้ งต้น 8 1.1.3 PIC บริษัท Microchip Technology เป็นผู้สร้างและผลิต PIC เป็นไมโครคอนโทรลเลอร์ยุคต่อมาท่ี ไดร้ บั ความนิยมสูงอีกตระกลู หนึ่ง ตง้ั แต่อดตี จนถงึ ปัจจบุ นั คาว่า PIC ย่อมาจากคาว่า (Peripheral Interface Controller) ไมโครคอนโทรลเลอร์ตระกูลน้ี มีการพัฒนาเทคโนโลยีขึ้นในทุกด้าน ทาให้ได้รับความนิยมกว่า ไมโครคอนโทรลเลอร์ยุคเก่า เพราะในเรื่องของอุปกรณ์ต่อพ่วงที่มีน้อย ประกอบกับมีหน่วยความจา EEPROM ในตัว จึงทาให้ง่ายต่อการบันทึกและจัดก็บข้อมูล และ PORT ต่างๆ ได้มีการ latch ในตัว IC อยู่ แล้ว จึงสามารถต่อออกมาใช้งานภายนอกได้โดยตรง มีกระแสและแรงดันท่ีเพียงพอ และอีกความสามารถ หน่ึง คือสามารถโปรแกรมตัว Boot Loader เข้าไปในตัวไมโครคอนโทรลเลอร์ได้ จึงทาให้ง่ายในการโหลด โปรแกรมเข้าไปจากคอมพิวเตอร์ โดยผ่านทาง Serial Port และกดปุ่ม Reset เพียงอย่างเดียว ไม่ต้องการ เครอ่ื งโปรแกรม IC เพิ่มเติม อยา่ งทีต่ ้องมีกับระบบไมโครคอนโทรลเลอร์รุ่นเกา่ อยา่ ง MCS-51 รปู ท่ี 1.6 ไมโครคอนโทรลเลอร์ MCS-51 (ทมี่ า www.Chokelive.com/blog/2013/07/Micro-Controller-Application.html) ตวั อยา่ งการต่อใช้งาน PIC กับบอร์ดทดลองจริง ฟังก์ช่ันการใช้งานค่อนข้างครบ และโปรแกรมง่าย โดย CCS, HI-TECH C Compiler, C18 C Compile, C30 C Compiler, MPLAB เปน็ ต้น รูปที่ 1.7 ตัวอย่างการตอ่ ใชง้ าน MCS-51 บนบอร์ดทดลอง (ทม่ี า www.Chokelive.com/blog/2013/07/Micro-Controller-Application.html) หน่วยที่ 1 ความรู้เกี่ยวกบั ไมโครคอนโทรลเลอร์เบื้องตน้ เรยี บเรยี งโดยครูทันพงษ์ ภรู่ ักษ์

เอกสารประกอบการสอนวชิ าไมโครคอนโทรลเลอรเ์ บอ้ื งตน้ 9 1.1.4 AVR AVR เป็นไมโครคอนโทรลเลอร์รุ่นต่อมาที่มีการพัฒนาต่อมาจาก MCS-51 โดยบริษัท ATMEL อัน เน่ืองมาจากว่า MCS-51 ยุคหลังน้ีไม่ค่อยมีคนใช้งานจริง และมีใช้งานแต่เฉพาะในสถาบันการศึกษา เป็น เช่นนี้ก็เพราะว่าการออกออกแบบวงจรท่ีค่อนข้างยุ่งยาก และต้องอาศัยการต่ออุปกรณ์ร่วมเยอะนั้นเอง ดังนั้น AVR จึงเข้ามาเป็นที่นิยมในการทางานด้านน้ี โดยคุณสมบัติหลักที่น่าสนใจก็คือ สามารถ Interface ผ่าน USB ได้โดยตรง ซ่ึงไมโครคอนโทรลเลอร์ยุคเก่าทาได้โดยต่อผ่านพอร์ต RS-232 แต่เน่ืองด้วย คอมพวิ เตอร์ยคุ ใหม่ พอรต์ RS-232 เรม่ิ หายาก ดังน้นั AVR จงึ ไดร้ ับความนยิ ม รูปที่ 1.8 ไมโครคอนโทรลเลอร์ AVR (ท่ีมา www.Chokelive.com/blog/2013/07/Micro-Controller-Application.html) ตวั อยา่ งการต่อ AVR ใช้งานบนเบอรด์ ที่มลี กั ษณะใกล้เคียงกบั ไมโครคอมพวิ เตอร์ รูปที่ 1.9 ตัวอยา่ งการต่อใชง้ าน AVR (ที่มา www.Chokelive.com/blog/2013/07/Micro-Controller-Application.html) หน่วยท่ี 1 ความร้เู กี่ยวกบั ไมโครคอนโทรลเลอร์เบือ้ งต้น เรยี บเรยี งโดยครูทันพงษ์ ภู่รักษ์

เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอร์เบ้ืองตน้ 10 1.1.5 Arduino Arduino เปน็ ไมโครคอนโทรลเลอร์บอร์ดแบบสาเรจ็ รปู ในยุคปัจจบุ นั ซง่ึ ถกู สร้างมาจาก Controller ตระกลู ARM ของ ATMEL ข้อดีของไมโครคอนโทรลเลอร์บอร์ดคือเร่ืองของ Open Source ท่ีสามารถนาไป พัฒนาต่อเป็นอุปกรณ์ต่างๆได้ และความสามารถในการเพ่ิม Boot Loader เข้าไปที่ตัว ARM จึงทาให้การ Upload Code เขา้ ตัวบอรด์ สามารถทาได้งา่ ยข้ึน และยงั มกี ารพฒั นา Software ทใี่ ช้ในการควบคุมตัวบอร์ด ของ Arduino มีลักษณะเป็นภาษา C++ ท่ีโปรแกรมเมอร์มีความคุ้นเคยในการใช้งาน ตัวบอร์ดสามารถนา โมดลู มาตอ่ เพิม่ ซ่ึงทาง Arduino เรยี กว่าเป็น shield เพ่อื เพิม่ ความสามารถเพ่ิมข้ึน รูปที่ 1.10 ไมโครคอนโทรลเลอร์ Arduino (ท่มี า www.Chokelive.com/blog/2013/07/Micro-Controller-Application.html) รูปท่ี 1.11 ตวั อยา่ งการต่อใชง้ าน Arduino บนบอรด์ Shield สาเร็จรูป (ทมี่ า www.Chokelive.com/blog/2013/07/Micro-Controller-Application.html) หนว่ ยที่ 1 ความรูเ้ กยี่ วกับไมโครคอนโทรลเลอร์เบ้ืองตน้ เรยี บเรยี งโดยครูทนั พงษ์ ภู่รกั ษ์

เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอร์เบ้อื งต้น 11 หรือถ้าสามารถสรา้ งวงจรเพ่ิมเตมิ และนามาประกอบเป็น Shield ใหก้ ับ Arduino กไ็ ด้ รูปที่ 1.12 ตัวอย่างการต่อใช้งาน Arduino บนบอรด์ Shield ทส่ี รา้ งขน้ึ เอง (ท่ีมา www.Chokelive.com/blog/2013/07/Micro-Controller-Application.html) 1.1.6 Raspberry Pi รปู ที่ 1.13 ไมโครคอนโทรลเลอร์ Raspberry Pi (ที่มา www.Chokelive.com/blog/2013/07/Micro-Controller-Application.html) Raspberry Pi เป็นไมโครคอนโทรลเลอร์ Board ยุคนี้เหมือนกัน ใช้ Controller ตระกูล ARM เช่นกัน ที่น่าสนใจสาหรับบอร์ด Raspberry Pi ก็คือการจาลองตัวมันเองให้เป็นระบบคอมพิวเตอร์เคร่ือง เลก็ ๆเคร่อื งหนงึ่ ท่สี ามารถรันระบบ Linux ได้ในตัว นั้นก็หมายถึงการดึงระบบต่างๆเพ่ือมาใช้งานใน board หน่วยที่ 1 ความร้เู กีย่ วกบั ไมโครคอนโทรลเลอร์เบอื้ งตน้ เรยี บเรยี งโดยครูทนั พงษ์ ภรู่ ักษ์

เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอรเ์ บ้อื งต้น 12 ทาให้มีความสะดวกมากเพราะมี OS Linux ทางานให้แทนอยู่แล้ว อย่างเช่นการติดต่อกับระบบ Network การตดิ ตอ่ กับระบบจอภาพ การติดต่อระบบเสียง ตลอดจนการติดต่อกับระบบการเก็บข้อมูลผ่าน SD Card ซ่งึ สามารถทาได้ครบและครอบคลุม ด้วยระบบปฏิบตั กิ าร Linux ทร่ี นั อยบู่ นตวั บอรด์ Raspberry Pi รปู ที่ 1.14 ตัวอย่างการประยคุ ใช้ Raspberry Pi เป็น Smart TV (ทมี่ า www.Chokelive.com/blog/2013/07/Micro-Controller-Application.html) ทั้งหมดนก้ี ค็ อื ววิ ฒั นาการของระบบไมโครคอนโทรลเลอร์ จากอดีตจนถึงปัจจบุ ันที่ได้รบั ความนิยม แต่ยัง มีอีกหลายรุ่นที่มีการผลิตข้ึนมาใช้งานและมิได้กล่าวถึงในท่ีน้ี มีเฉพาะท่ีนิยมและรู้จักกันเป็นวงกว้างใน ปัจจบุ นั มานาเสนอ หน่วยท่ี 1 ความรูเ้ กย่ี วกบั ไมโครคอนโทรลเลอรเ์ บือ้ งต้น เรียบเรยี งโดยครูทนั พงษ์ ภรู่ กั ษ์

เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอร์เบือ้ งตน้ 13 1.2 หนา้ ท่ีสว่ นตา่ งๆ ของไมโครคอนโทรลเลอร์ โครงสรา้ งโดยท่ัวไปของไมโครคอนโทรลเลอร์สามารถแบง่ ออกมาได้เปน็ 5 สว่ นใหญๆ่ ดงั ตอ่ ไปน้ี รปู ที่ 1.14 หน้าทส่ี ว่ นต่างๆของไมโครคอนโทรลเลอร์ (ที่มา www.Rendhyy8.blogspot.com/2013/12/tugas-mikroprosesor.html) 1. หนว่ ยประมวลผลกลางหรอื ซพี ยี ู (CPU : Central Processing Unit) 2. หน่วยความจา (Memory) สามารถแบ่งออกเป็น 2 ส่วน คือหน่วยความจาท่ีมีไว้สาหรับเก็บ โปรแกรมหลัก (Program Memory) เช่น Flash Memory ลักษณะการทางานของหน่วยความจานี้ เป็น หนว่ ยความจาทีอ่ า่ น-เขยี นได้ด้วยไฟฟ้า เปรยี บเสมอื นฮาร์ดดิสก์ของเครื่องคอมพิวเตอร์ต้ังโต๊ะ คือข้อมูลใดๆ ทีถ่ กู เกบ็ ไว้ในนจี้ ะไมส่ ูญหายไปแม้ไม่มีไฟเล้ียง อีกส่วนหน่ึงคือหน่วยความจาข้อมูล (Data Memory) ใช้เป็น เหมือนกับกระดาษทดในการคานวณของซีพียู และเป็นท่ีพักข้อมูลชั่วคราวขณะทางาน แต่หากไม่มีไฟเลี้ยง ในการทางานข้อมูลจะหายไปคล้ายกับหน่วยความแรม (RAM) ในเคร่ืองคอมพิวเตอร์ท่ัวๆไป แต่สาหรับ ไมโครคอนโทรลเลอร์สมยั ใหม่ หน่วยความจาขอ้ มลู มีทัง้ ท่ีเป็นหน่วยความจาแรม ซึ่งข้อมูลจะหายไปเมื่อไม่มี ไฟเล้ียง และเป็นอีอีพรอม (EEPROM : Erasable Electrically Read-Only Memory) ซึ่งสามารถเก็บ ข้อมูลไดแ้ ม้ไมม่ ไี ฟเล้ยี งกต็ าม ในอดตี เป็นหน่วยความจาโปรแกรมแบบ EPROM หน่วยความจาที่ลบด้วยแสง หนว่ ยที่ 1 ความรเู้ กี่ยวกบั ไมโครคอนโทรลเลอร์เบื้องต้น เรยี บเรยี งโดยครูทันพงษ์ ภู่รกั ษ์

เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอร์เบ้อื งตน้ 14 3. ส่วนติดต่อกับอุปกรณ์ภายนอก หรือพอร์ต (Port) มี 2 ลักษณะคือ พอร์ตอินพุต (Input Port) และพอร์ตส่งสญั ญาณหรอื พอร์ตเอาตพ์ ตุ (Output Port) ส่วนนีจ้ ะใชใ้ นการเชอื่ มต่อกับอุปกรณ์ภายนอก ถือ ว่าเปน็ ส่วนท่ีสาคญั มาก พอรต์ อินพุตรับสญั ญาณเพ่อื นาไปประมวลผลและสง่ ไปแสดงผลทพี่ อรต์ เอาต์พุต เช่น การติดสวา่ งของหลอดไฟ เปน็ ตน้ 4. ช่องทางเดินของสญั ญาณ หรอื บัส (BUS) คอื เสน้ ทางการแลกเปลี่ยนสัญญาณข้อมูลระหว่าง ซีพียู หน่วยความจาและพอร์ต เป็นลักษณะของสายสัญญาณจานวนมากอยู่ภายในตัวไมโครคอนโทรลเลอร์ โดย แบ่งเป็นบัสข้อมูล (Data Bus) บสั แอดเดรส (Address Bus) และบสั ควบคมุ (Control Bus) 5. วงจรกาเนดิ สัญญาณนาฬกิ า นบั เป็นส่วนประกอบที่สาคญั มากอกี สว่ นหนง่ึ เนือ่ งจากการทางานท่ี เกดิ ขึ้นในตัวไมโครคอนโทรลเลอร์ จะข้ึนอยู่กับการกาหนดจังหวะ หากสัญญาณนาฬิกามีความถี่สูง จังหวะ การทางานกจ็ ะสามารถทาไดถ้ ี่ข้ึน ส่งผลให้ไมโครคอนโทรลเลอร์ตัวน้ัน มีความเร็วในการประมวลผลสูงตาม ไปด้วย การเขียนโปรแกรมไมโครคอนโทรลเลอร์ภาษาซถี อื ว่าเป็นภาษาระดบั กลาง 1.3 ไมโครคอนโทรลเลอร์ AVR AVR เป็นไมโครคอนโทรลเลอรต์ ระกลู หน่ึงผลิตโดยบริษัท Atmel AVR อยู่ในรูปแบบสมองกลฝังตัว (Embedded System) มีลักษณะสถาปัตยกรรมเป็นแบบ RISC (Reduced Instruction Set Computing) มีความเรว็ ในการประมวลผล 1 คาส่ังต่อ 1 สญั ญาณนาฬกิ า ใชพ้ ลังงานไฟฟ้าตา่ โดยบางร่นุ ใช้ไฟเพียง 1.5 V - 5.5 V เทา่ นัน้ และยังมโี หมดประหยดั พลงั งานอีก 6 โหมด รูปที่ 1.15 สถาปตั ยกรรมภายในไมโครคอนโทรลเลอร์ AVR (ทม่ี า www.Microcontroller.com/news/Atmel_AVR_XMEGA_B1.asp) ในท่ีนจ้ี ะนาเสนอ AVR เบอร์ ATmega48 เปน็ ตัวอยา่ งในการศกึ ษาคุณสมบตั ิด้านตา่ งๆ หนว่ ยท่ี 1 ความร้เู กีย่ วกับไมโครคอนโทรลเลอร์เบอ้ื งต้น เรยี บเรยี งโดยครทู ันพงษ์ ภ่รู ักษ์

เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอรเ์ บื้องตน้ 15 รูปท่ี 1.16 ไมโครคอนโทรลเลอร์ Atmega48 (ทมี่ า www.Chinaimportexport.Wikispaces.com)  มหี น่วยความจาสาหรบั เกบ็ โปรแกรมแบบแฟลช (ROM) ขนาด 4 กโิ ลไบต์ สามารถเขยี น-ลบได้ ประมาณ 10,000 คร้งั  มีหน่วยความจาข้อมูล (RAM) ขนาด 512 ไบต์  มหี นว่ ยความจาข้อมลู อีอพี รอม (EEPROM) ขนาด 256 ไบต์ สามรถเขียน-ลบได้ประมาณ 100,000 ครั้ง  มีพอรต์ อนิ พุตเอาตพ์ ุตใหใ้ ช้งานจานวน 23 ขา (PB0 ถงึ PB7, PC0 ถึง PC6, PD0 ถงึ PD7)  มีความเร็วในการประมวนผลสงู สดุ 20 ล้านคาสั่งต่อ 1 วินาทที ่คี วามถี่ 20 MHz  มโี มดลู แปลงสญั ญาณแอนะล็อกเป็นดจิ ติ อล (Analog-to-Digital Converter) ขนาด 10 บิต จานวน 6 ช่อง สาหรับตัวถงั แบบ PDIP และ 8 ช่องสาหรบั ตวั ถงั แบบ TQFP และ MLF  มโี มดูลสรา้ งสัญญาณ Pulse Width Modulator (PWM) 3 ชดุ 6 ช่องสัญญาณ  มี Timer/Counters ขนาด 8 บิต 2 ตวั และ 16 บิต 1 ตวั ภาษาท่ีใช้เขียนโปรแกรมไมโครคอนโทรลเลอร์มีหลายภาษา เช่น ภาษาเคร่ือง, Assembly, BASIC, C เป็นต้น แต่ละภาษาก็มีข้อดีข้อเสียแตกต่างกันไป ภาษาทีเป็นท่ีนิยมคือภาษา C เนื่องจากเขียนง่ายแก้ไข เปล่ียนแปลงไดง้ ่าย โปรแกรมเขยี นภาษา C สาหรบั ไมโครคอนโทรลเลอร์ AVR เบอร์ ATmega48 นั้นนิยมใช้ โปรแกรม MikroC for AVR เน่ืองจาเป็นโปรแกรมท่ีใชง้ านงา่ ยและมีไลบรารใี ห้มาพรอ้ มด้วย หนว่ ยท่ี 1 ความรเู้ ก่ยี วกบั ไมโครคอนโทรลเลอรเ์ บอื้ งตน้ เรียบเรียงโดยครทู ันพงษ์ ภู่รักษ์

เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอร์เบ้อื งตน้ 16 1.4 บอรด์ ไมโครคอนโทรลเลอร์ Arduino Arduino เป็นภาษาอิตาลี โดยเปน็ ช่อื โครงการพฒั นาไมโครคอนโทรลเลอร์ตระกูล AVR ในรูปแบบ Open Source คือวิธีการในการออกแบบ พัฒนา และแจกจ่ายสาหรับต้นฉบับของสินค้าหรือความรู้ โดยเฉพาะซอฟตแ์ วร์ โดยโอเพนซอรซ์ ถูกพจิ ารณาว่าเปน็ ทง้ั รปู แบบหนึ่งในการออกแบบ และแผนการในการ ดาเนนิ การ โอเพนซอร์ซเปดิ โอกาสใหบ้ คุ คลอ่นื นาเอาระบบนั้นไปพัฒนาได้ต่อไป การพัฒนามาจากโครงการ Open Source เดิมของ AVR ท่ีช่ือ Wiring โดยโครงการ Wiring ใช้ไมโครคอนโทรลเลอร์ AVR เบอร์ ATmega128 ซ่ึงมีข้อจากัดหลายด้าน เช่นเป็นชิปที่มีตัวถังแบบ SMD ทาให้นามาใช้งานยากเพราะตัว ไมโครคอนโทรลเลอรม์ ีขนาดเล็กเกนิ ไป ทาใหไ้ ม่สะดวกในการต่อใช้งานจริง มีขาอินพุทและเอ้าท์พุทจานวน มากเกนิ ไป ตัวบอรด์ มขี นาดใหญเ่ กนิ ไป ไม่เหมาะสมสาหรับผู้ที่เริ่มต้นเรียนรู้ด้านไมโครคอนโทรลเลอร์ ด้วย เหตุผลข้างต้นจึงทาให้ไม่ได้รับความนิยม ระยะต่อมาทีมงาน Arduino จึงได้นาโครงการ Wiring มาพัฒนา ใหม่โดยใช้ไมโครคอนโทรลเลอร์ AVR ขนาดเล็ก คือ ATMega8 และ ATMega168 ทาให้ได้รับความนิยม จนถึงปัจจบุ ันน้ี ตวั อย่างรายละเอยี ดรุน่ ตา่ งๆมีดังนี้ 1.4.1 Arduino Uno R3 คาว่า Uno เป็นภาษาอิตาลี ซึ่งแปลว่าหน่ึง เป็นบอร์ด Arduino รุ่นแรกที่ผลิตออกมา มีขนาด ประมาณ 68.6x53.4 mm. เป็นบอร์ดมาตรฐานที่นิยมใช้งานมากท่ีสุด เนื่องจากเป็นขนาดท่ีเหมาะสาหรับ การเร่มิ ตน้ เรยี นรู้ Arduino และมี Shields ใหเ้ ลือกใชง้ านได้มากกว่าบอร์ด Arduino รุ่นอ่ืนๆ ท่ีออกแบบมา เฉพาะมากกว่า โดยบอร์ด Arduino Uno ได้มกี ารพัฒนาเรื่อยมา ตั้งแต่ R2 R3 และรุ่นย่อยท่ีเปล่ียนชิปไอซี เป็นแบบ SMD เปน็ บอรด์ Arduino ที่ไดร้ ับความนิยมมากท่ีสุด เนื่องจากราคาไม่แพง และส่วนใหญ่โปรเจค และ Library ตา่ งๆ ท่ีพัฒนาข้นึ มา Support จะอ้างอิงกบั บอร์ดนเ้ี ปน็ หลกั และขอ้ ดีอีกอย่างคือกรณีที่ MCU เสียผู้ใช้งานสามารถซื้อมาเปล่ยี นเองได้ง่าย Arduino Uno R3 มี MCU ทเี่ ป็น Package DIP ขอ้ มูลจาเพาะ ชิปไอซีไมโครคอนโทรเลอร์ ATmega328 ใช้แรงดันไฟฟ้า 5V รองรบั การจ่ายแรงดนั ไฟฟา้ (ทแี่ นะนา) 7 – 12 V รองรับการจ่ายแรงดนั ไฟฟ้า (ท่ีจากัด) 6 – 20 V พอร์ต Digital I/O 14 พอร์ต (มี 6 พอรต์ PWM output) พอร์ต Analog Input 6 พอรต์ กระแสไฟทจี่ า่ ยได้ในแต่ละพอร์ต 40 mA กระแสไฟท่ีจ่ายได้ในพอรต์ 3.3V 50 mA หน่วยที่ 1 ความรูเ้ กี่ยวกบั ไมโครคอนโทรลเลอร์เบอื้ งต้น เรียบเรยี งโดยครทู ันพงษ์ ภรู่ ักษ์

เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอรเ์ บอ้ื งตน้ 17 พื้นที่โปรแกรมภายใน 32 KB พ้นื ทีโ่ ปรแกรม , 500B ใช้โดย Boot Loader พื้นที่แรม 2 KB พื้นทีห่ นว่ ยความจาถาวร (EEPROM) 1 KB ความถี่ครสิ ตัล 16 MHz ขนาด 68.6 x 53.4 mm น้าหนัก 25 กรมั รปู ที่ 1.17 ไมโครคอนโทรลเลอร์ Arduino Uno R3 (ทีม่ า www.Ce.kmitl.ac.th/download.php?DOWNLOAD_ID=4307&database=subject) หมายเลขต่างๆ ตามรูปที่ 1.17 มีความหมายดังน้ี 1. USB Port: ใช้สาหรับต่อกบั Computer เพ่อื อับโหลดโปรแกรมเข้า MCU และจา่ ยไฟให้กบั บอร์ด 2. Reset Button: เปน็ ปุ่ม Reset ใชก้ ดเมื่อตอ้ งการให้ MCU เริม่ การทางานใหม่ 3. ICSP Port ของ ATmega16U2: เป็นพอรต์ ท่ใี ชโ้ ปรแกรม VisualComport บน ATmega16U2 4. I/O Port: Digital I/O ตัง้ แตข่ า D0 ถงึ D13 นอกจากน้ี บาง Pin จะทาหนา้ ทอ่ี ื่นๆ เพ่ิมเติมดว้ ย เชน่ Pin0,1 เปน็ ขา Tx,Rx / Serial, Pin3,5,6,9,10 และ 11 เป็นขา PWM 5. ICSP Port: ATmega328 เป็นพอรต์ ท่ีใชโ้ ปรแกรม Bootloader 6. MCU: ATmega328 เปน็ MCU ทใ่ี ช้บนบอรด์ Arduino หน่วยท่ี 1 ความรเู้ กีย่ วกบั ไมโครคอนโทรลเลอรเ์ บอ้ื งต้น เรยี บเรยี งโดยครูทันพงษ์ ภู่รกั ษ์

เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอรเ์ บอ้ื งตน้ 18 7. I/O Port: นอกจากจะเปน็ Digital I/O แล้ว ยงั เปลย่ี นเป็นชอ่ งรบั สญั ญาณแอนะลอ็ ก ต้ังแตข่ า A0-A5 8. Power Port: ไฟเล้ียงของบอรด์ เมอื่ ต้องการจ่ายไฟใหก้ บั วงจรภายนอก ประกอบด้วยขาไฟเล้ียง +3.3 V, +5V, GND, Vin 9. Power Jack: รับไฟจาก Adapter โดยทแ่ี รงดันอยรู่ ะหวา่ ง 7-12 V 10. MCU ของ ATmega16U2 เปน็ MCU ทท่ี าหนา้ ทีเ่ ปน็ USB to Serial โดย ATmega328 จะ ตดิ ตอ่ กับ Computer ผ่าน ATmega16U2 1.4.2 Arduino Uno SMD เป็นบอร์ดที่มีคุณสมบัติและการทางานเหมือนกับบอร์ด Arduino Uno R3 ทุกประการ แต่จะ แตกตา่ งกันที่ Package ของ MCU ซงึ่ บอรด์ น้ีจะมี MCU ท่ีเป็น Package SMD รูปที่ 1.18 ไมโครคอนโทรลเลอร์ Arduino Uno SMD (ทีม่ า www.Thaieasyelec.com) 1.4.3 Arduino Mega 2560 R3 บอร์ด Arduino Mega 2560 จะเหมือนกบั Arduino Mega ADK ตา่ งกนั ตรงท่บี นบอร์ดไม่มี USB Host มาให้ การโปรแกรมยังต้องทาผ่านโปรโตคอล UART อยู่บนบอร์ดใช้ชิปไอซีไมโครคอนโทรเลอร์เบอร์ ATmega2560 เป็นบอร์ด Arduino ที่ออกแบบมาสาหรับงานท่ีตอ้ งใช้ IO มากกว่า Arduino Uno R3 เช่น งานที่ต้องการรับสัญญาณจาก Sensor หรือควบคุมมอเตอร์ Servo หลายๆตัว ทาให้ Pin IO ของบอร์ด Arduino Uno R3 ไม่สามารถรองรับได้ ท้ังนี้บอร์ด Mega 2560 R3 ยังมีความหน่วยความจาแบบ Flash มากกว่า Arduino Uno R3 ทาให้สามารถเขียนโค้ดโปรแกรมเข้าไปได้มากกว่า ในความเร็วของ MCU ที่ เท่ากนั หนว่ ยที่ 1 ความรู้เกยี่ วกับไมโครคอนโทรลเลอร์เบ้อื งต้น เรียบเรียงโดยครทู ันพงษ์ ภรู่ กั ษ์

เอกสารประกอบการสอนวชิ าไมโครคอนโทรลเลอรเ์ บื้องต้น 19 รูปที่ 1.19 ไมโครคอนโทรลเลอร์ Arduino Mega 2560 R3 (ทีม่ า www.Thaieasyelec.com) ข้อมลู จาเพาะ ชิปไอซีไมโครคอนโทรเลอร์ ATmega2560 ใช้แรงดนั ไฟฟา้ 5V รองรบั การจ่ายแรงดนั ไฟฟ้า (ท่แี นะนา) 7 – 12 V รองรบั การจ่ายแรงดันไฟฟา้ (ทจ่ี ากัด) 6 – 20 V พอรต์ Digital I/O 54 พอร์ต (มี 15 พอรต์ PWM output) พอรต์ Analog Input 16 พอรต์ กระแสไฟฟ้ารวมท่ีจ่ายได้ในทุกพอรต์ 40 mA กระแสไปท่จี ่ายไดใ้ นพอรต์ 3.3V 50 mA พ้นื ทโ่ี ปรแกรมภายใน 256 KB แต่ 8 KB ถกู ใชโ้ ดย Boot Loader พ้นื ทีแ่ รม 8 KB พ้ืนท่หี น่วยความจาถาวร (EEPROM) 4 KB ความถี่คริสตัล 16 MHz 1.4.4 Arduino Mega ADK บอรด์ Arduino Mega ADK ใช้ชปิ ไมโครคอนโทรเลอร์เบอร์ ATmaega2560 มีชิปไอซี USB Host เบอร์ MAX3421e มาให้บนบอร์ด ใช้สาหรบั เชอ่ื มต่อกับโทรศัพท์มือถือแอนดรอยผ่าน OTG มีพอร์ตดิจิตอล อินพุตเอาต์พุตจานวน 54 พอร์ต มีอนาล็อกอินพุตมาให้ 16 พอร์ต ทางานท่ีความถี่ 16 MHz บอร์ด Arduino Mega ADK จะแตกต่างกบั บอรด์ Arduino Duo ตรงทีช่ ิปบนบอรด์ น้นั ฉลาดไม่เทา่ และใช้ความถี่ ต่ากว่า ดงั นนั้ จงึ ไมเ่ หมาะจะนาไปใชก้ บั งานคานวณ แตเ่ หมาะสาหรับงานที่ใช้การเชื่อมต่อกับโทรศัพท์มือถือ แอนดรอยมากกวา่ หน่วยท่ี 1 ความร้เู กยี่ วกับไมโครคอนโทรลเลอรเ์ บอ้ื งต้น เรยี บเรยี งโดยครูทนั พงษ์ ภรู่ ักษ์

เอกสารประกอบการสอนวชิ าไมโครคอนโทรลเลอร์เบ้อื งต้น 20 รปู ท่ี 1.20 ไมโครคอนโทรลเลอร์ Arduino Mega 2560 R3 (ทมี่ า www.Thaieasyelec.com) ขอ้ มลู จาเพาะ ชปิ ไอซีไมโครคอนโทรเลอร์ ATmega2560 ใชแ้ รงดันไฟฟ้า 5V รองรบั การจา่ ยแรงดันไฟฟา้ (ท่แี นะนา) 7 – 12 V รองรับการจ่ายแรงดันไฟฟา้ (ทจี่ ากดั ) 6 – 20 V พอรต์ Digital I/O 54 พอรต์ (มี 15 พอรต์ PWM output) พอร์ต Analog Input 16 พอรต์ กระแสไฟฟ้ารวมทจี่ า่ ยได้ในทุกพอรต์ 40 mA กระแสไปที่จา่ ยไดใ้ นพอร์ต 3.3V 50 mA พน้ื ท่โี ปรแกรมภายใน 256 KB แต่ 8 KB ถูกใช้โดย Boot Loader พืน้ ทแ่ี รม 8 KB พน้ื ท่ีหน่วยความจาถาวร (EEPROM) 4 KB ความถีค่ รสิ ตลั 16 MHz ขนาด 101.52x53.3 mm น้าหนัก 36 กรมั 1.4.5 Arduino Leonardo บอรด์ Arduino Leonard เป็นบอรด์ ทเ่ี ลือกใชช้ ปิ ไอซีเบอร์ Atmega32u4 ที่รองรับการเช่ือมต่อกับ พอร์ต USB ได้โดยตรง ทาให้บอร์ดสามารถเขียนโปรแกรมเพื่อจาลองตัวเองให้เป็นเมาส์ หรือคีย์บอร์ดได้ ทางานที่แรงดัน 5V ทาให้ไม่มีปัญหากับเซ็นเซอร์ หรือ Shields ที่ใช้งานกับ Arduino Uno การทางานจะ คลา้ ยกบั บอร์ด Arduino Uno R3 แต่มกี ารเปลย่ี น MCU ตัวใหม่เป็น ATmega32U4 ซ่ึงมีโมดูลพอร์ต USB หน่วยท่ี 1 ความรูเ้ กีย่ วกับไมโครคอนโทรลเลอรเ์ บื้องต้น เรยี บเรยี งโดยครูทนั พงษ์ ภรู่ ักษ์

เอกสารประกอบการสอนวชิ าไมโครคอนโทรลเลอรเ์ บ้ืองต้น 21 มาด้วยบนชิป (แตกต่างจากบอร์ด Arduino Uno R3 หรือ Arduino Mega 2560 ที่ต้องใช้ชิป ATmega16U2 รว่ มกบั ATmega328 ในการเชอ่ื มต่อกับพอรต์ USB) รปู ที่ 1.21 ไมโครคอนโทรลเลอร์ Arduino Leonardo (ท่มี า www.Thaieasyelec.com) ข้อมลู จาเพาะ ชิปไอซีไมโครคอนโทรเลอร์ Atmega32u4 ใชแ้ รงดันไฟฟ้า 5V รองรับการจา่ ยแรงดนั ไฟฟา้ (ทแี่ นะนา) 7 – 12 V รองรบั การจา่ ยแรงดนั ไฟฟา้ (ที่จากดั ) 6 – 20 V พอร์ต Digital I/O 20 พอร์ต (มี 7 พอรต์ PWM output) พอรต์ Analog Input 12 พอรต์ กระแสไฟฟ้ารวมทจ่ี ่ายไดใ้ นทกุ พอร์ต 40 mA กระแสไปทีจ่ า่ ยไดใ้ นพอร์ต 3.3V 50 mA พืน้ ที่โปรแกรมภายใน 32 KB แต่ 4 KB ถูกใชโ้ ดย Boot Loader พืน้ ทแี่ รม 2.5 KB พน้ื ทีห่ นว่ ยความจาถาวร (EEPROM) 1 KB ความถค่ี รสิ ตัล 16 MHz ขนาด 68.6x53.3 mm น้าหนัก 20 กรัม หน่วยที่ 1 ความรู้เกี่ยวกบั ไมโครคอนโทรลเลอร์เบ้อื งตน้ เรยี บเรียงโดยครทู ันพงษ์ ภูร่ กั ษ์

เอกสารประกอบการสอนวชิ าไมโครคอนโทรลเลอร์เบ้อื งตน้ 22 ข้อควรระวัง: เนื่องจาก MCU เป็นคนละเบอร์กบั Arduino Uno R3 อาจะทาให้บอร์ด Shield บางตัวหรอื Library ใชร้ ่วมกันกับบอรด์ Arduino Leonardo ไม่ได้ ผู้ใชง้ านต้องตรวจสอบกอ่ นใชง้ าน 1.4.6 Arduino Mini 05 เป็นบอรด์ Arduino ขนาดเล็กท่ีใช้ MCU เบอร์ Atmega328 รปู ท่ี 1.22 ไมโครคอนโทรลเลอร์ Arduino Mini (ทีม่ า www.Thaieasyelec.com) ข้อแตกตา่ งของบอร์ด Arduino Mini 05 จะไม่มีพอร์ต USB มาให้ ผู้ใช้งานต้องต่อกับบอร์ด USB to Serial Converter เพิม่ เมอ่ื ต้องการโปรแกรมบอร์ด 1.4.7 Arduino Pro Mini 328 3.3V เป็นบอร์ด Arduino ขนาดเล็ก ท่ีใช้ MCU เบอร์ ATmega328 ซึ่งจะคล้ายกับบอร์ด Arduino Mini 05 แตบ่ นบอร์ดจะมี Regulator 3.3 V ชดุ เดียวเทา่ นั้น ระดบั แรงดันไฟทขี่ า I/O คอื 3.3V รปู ที่ 1.23 ไมโครคอนโทรลเลอร์ Arduino Pro Mini 328 3.3V (ทีม่ า www.Thaieasyelec.com) หนว่ ยท่ี 1 ความรู้เก่ียวกับไมโครคอนโทรลเลอรเ์ บ้ืองต้น เรยี บเรียงโดยครทู ันพงษ์ ภูร่ ักษ์

เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอร์เบ้อื งต้น 23 1.4.8 Arduino Pro Mini 328 5V เปน็ บอร์ด Arduino ขนาดเล็ก ท่ีใช้ MCU เบอร์ ATmega328 เช่นเดียวกับบอร์ด Arduino Mini 05 แตบ่ นบอรด์ จะมี Regulator 5V ชดุ เดียวเท่านั้น ระดับแรงดนั ไฟท่ขี า I/O คือ 5V รูปท่ี 1.24 ไมโครคอนโทรลเลอร์ Arduino Pro Mini 328 5V (ที่มา www.Thaieasyelec.com) 1.4.9 Arduino Ethernet With PoE Module เปน็ บอร์ด Arduino ที่ใช้ MCU เบอร์เดียวกับ Arduino Uno SMD ในบอร์ดมีชิป Ethernet และ ช่องสาหรับเสียบ SD Card รวมท้ังโมดูล POE ทาให้บอร์ดน้ีสามารถใช้แหล่งจ่ายไฟจากสาย LAN ได้ โดยตรง โดยไม่ต้องต่อ Adapter เพิ่ม แต่บอร์ด Arduino Ethernet With PoE Module นี้จะไม่มี พอรต์ USB ทาให้เวลาโปรแกรมตอ้ งต่อบอร์ด USB to Serial Converter เพิ่มเติม รูปท่ี 1.25 ไมโครคอนโทรลเลอร์ Arduino Ethernet with PoE Module (ทมี่ า www.Thaieasyelec.com) หนว่ ยที่ 1 ความร้เู ก่ยี วกบั ไมโครคอนโทรลเลอร์เบื้องต้น เรยี บเรียงโดยครูทนั พงษ์ ภรู่ ักษ์

เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอรเ์ บือ้ งต้น 24 1.4.10 Arduino Ethernet Without PoE Module บอร์ดนี้จะตัดโมดูล POE ออกไป ต้องใช้ไฟจากพอร์ต Power Jack เท่าน้ัน คุณสมบัติอ่ืนๆจะ เหมือนกบั บอร์ด Arduino Ethernet With PoE Module รปู ท่ี 1.26 ไมโครคอนโทรลเลอร์ Arduino Ethernet without PoE module (ทม่ี า www.Thaieasyelec.com) 1.4.11 Arduino Due Duo เป็นภาษาอิตาลีแปลว่าสอง เป็นรุ่นที่เพิ่มพอร์ตให้มากข้ึนเป็น 54 พอร์ตดิจิตอลอินพุต เอาต์พุต และ 12 พอร์ตแอนะล็อกอินพุต 2 พอร์ตแอนะล็อกเอาต์พุต เพ่ิมพื้นท่ีโปรแกรมเป็น 512 KB สามารถใช้งานพ้ืนที่ได้เต็มไม่มี Bootloader เนื่องจากสามารถใช้กับพอร์ต USB ได้โดยตรง มีขนาด บอร์ด 101.52x53.3 mm สามารถใช้ Shields ของ Arduino Uno ได้ แต่บางตัวจาเป็นต้องแก้ขาให้ ถูกต้อง จากรูปที่ 1.27 จะเห็นได้ว่าบอร์ดได้เปลี่ยนมาใช้ชิปไอซีแบบ SMD จึงไม่นิยมนามาใช้ในแบบ Standalone แต่นิยมนามาใช้ในงานท่ีจาเป็นต้องพ้ืนท่ีโปรแกรมมากขึ้น ทางานท่ีซับซ้อนมากย่ิงขึ้น บอร์ด Arduino Duo ใช้ชิปไอซีเบอร์ AT91SAM3X8E ซ่ึงเป็นชิปไอซีที่ใช้เทคโนโลยี ARM Core สถาปตั ยกรรม 32 บติ เร่งความถ่ีคริสตอลข้ึนไปสูงถึง 84 MHz จึงทาให้สามารถทางานด้านการคานวน หรือการประมวลผลอัลกอริทึมได้เร็วกว่า Arduino Uno มาก เน่ืองจากชิปไอซีทางานที่แรงดัน 3.3 V ดังนั้นการนาไปใช้งานกับเซ็นเซอร์ควรระวังไม่ให้แรงดัน 5 V ไหลเข้าบอร์ด ควรใช้วงจรแบ่งแรงดันเพื่อ ช่วยให้ลอจกิ ลดแรงดนั ลงมาใหเ้ หมาะสม ขอ้ มูลจาเพาะ ชิปไอซไี มโครคอนโทรเลอร์ AT91SAM3X8E ใชแ้ รงดันไฟฟ้า 3.3 V รองรับการจา่ ยแรงดันไฟฟา้ (ที่แนะนา) 7 – 12 V หนว่ ยท่ี 1 ความรเู้ กยี่ วกับไมโครคอนโทรลเลอรเ์ บอ้ื งตน้ เรียบเรียงโดยครทู ันพงษ์ ภ่รู กั ษ์

เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอรเ์ บอื้ งต้น 25 รองรับการจา่ ยแรงดนั ไฟฟา้ (ทจี่ ากัด) 6 – 16 V พอรต์ Digital I/O 54 พอร์ต (มี 12 พอรต์ PWM Output) พอร์ต Analog Input 2 พอร์ต กระแสไฟฟา้ รวมทจี่ า่ ยไดใ้ นทกุ พอร์ต 130 mA กระแสไฟทจ่ี ่ายได้ในพอร์ต 3.3V 800 mA กระแสไปท่ีจา่ ยไดใ้ นพอร์ต 5V 800 mA พน้ื ท่ีโปรแกรมภายใน 512 KB พน้ื ทโี่ ปรแกรม พนื้ ท่ีแรม 2 KB พ้นื ทห่ี น่วยความจาถาวร (EEPROM) 96 KB ความถคี่ ริสตลั 84 MHz ขนาด 101.52x53.3 mm น้าหนกั 36 กรมั เป็นบอร์ด Arduino ท่ีเปลี่ยนชิป MCU ใหม่ ซึ่งจากเดิมเป็นตระกูล AVR เปลี่ยนเป็นเบอร์ AT91SAM3X8E (ตระกูล ARM Cortex-M3) แทน ทาให้การประมวลผลเร็วข้ึน แต่ยังคงรูปแบบโค้ด โปรแกรมของ Arduino ท่ีง่ายอยู่ มีข้อควรระวังคือเนื่องจาก MCU เป็นคนละเบอร์กับ Arduino Uno R3 อาจะทาให้บอร์ด Shield บางตัวหรือ Library ใช้ร่วมกันกับบอร์ด Arduino Leonardo ไม่ได้ ผู้ใชง้ านจาเป็นต้องตรวจสอบกอ่ นใชง้ าน รูปท่ี 1.27 ไมโครคอนโทรลเลอร์ Arduino Due (ทมี่ า www.Thaieasyelec.com) หนว่ ยที่ 1 ความรเู้ กย่ี วกบั ไมโครคอนโทรลเลอรเ์ บอ้ื งต้น เรยี บเรียงโดยครทู นั พงษ์ ภ่รู กั ษ์

เอกสารประกอบการสอนวชิ าไมโครคอนโทรลเลอรเ์ บื้องตน้ 26 ตารางที่ 1.1 เปรยี บเทียบคุณสมบตั ิของบอรด์ Arduino จากตารางแสดงให้เห็นว่าบอร์ด Arduino Uno R3 เป็นรุ่นท่ีได้รับความนิยมมากที่สุด ทาให้ Library และบอร์ด Shield ส่วนใหญ่จะรองรับกับบอรด์ รนุ่ Arduino Uno R3 หน่วยท่ี 1 ความรเู้ กยี่ วกบั ไมโครคอนโทรลเลอรเ์ บื้องต้น เรยี บเรยี งโดยครูทนั พงษ์ ภรู่ กั ษ์

เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอร์เบือ้ งตน้ 27 สรุปเนื้อหาสาระสาคัญ Arduino เป็นภาษาอิตาลี โดยเป็นชื่อโครงการพัฒนาไมโครคอนโทรลเลอร์ตระกูล AVR ในรูปแบบ Open Source คือวิธีการในการออกแบบ พัฒนา และแจกจ่ายสาหรับต้นฉบับของสินค้าหรือความรู้ โดยเฉพาะซอฟตแ์ วร์ โดยโอเพนซอร์ซถูกพิจารณาวา่ เปน็ ทง้ั รูปแบบหนึ่งในการออกแบบ โดยโอเพนซอร์ซเปิด โอกาสให้บุคคลอื่นนาเอาระบบนั้นไปพัฒนาได้ต่อไป โดยพัฒนามาจากโครงการ Open Source เดิมของ AVR ท่ีชื่อ Wiring โดยโครงการ Wiring ใช้ไมโครคอนโทรลเลอร์ AVR เบอร์ ATmega128 ซึ่งมีข้อจากัด หลายด้าน เชน่ เป็นชปิ ทม่ี ตี ัวถังแบบ SMD ทาให้นามาใช้งานยากเพราะตัวไมโครคอนโทรลเลอร์มีขนาดเล็ก เกินไปทาใหไ้ ม่สะดวกในการต่อใช้งานจริง มีขาอินพุทและเอ้าท์พุทจานวนมากเกินไป ตัวบอร์ดมีขนาดใหญ่ เกินไป ไม่เหมาะสมสาหรับผู้ที่เร่ิมต้นเรียนรู้ด้านไมโครคอนโทรลเลอร์ ด้วยเหตุผลข้างต้นจึงทาให้ไม่ได้รับ ความนิยม ระยะต่อมาทีมงาน Arduino จึงไดน้ าโครงการ Wiring มาพฒั นาใหมโ่ ดยใช้ไมโครคอนโทรลเลอร์ AVR ขนาดเลก็ คือ Mega8 และ Mega168 ทาให้ได้รบั ความนยิ มจนถึงปัจจุบนั น้ี หนว่ ยท่ี 1 ความรู้เก่ียวกบั ไมโครคอนโทรลเลอรเ์ บ้ืองต้น เรยี บเรียงโดยครูทนั พงษ์ ภรู่ ักษ์

เอกสารประกอบการสอนวชิ าไมโครคอนโทรลเลอร์เบ้ืองต้น 28 แบบฝึกหดั หนว่ ยท่ี 1 เรื่อง ความรเู้ กีย่ วกับไมโครคอนโทรลเลอรเ์ บ้อื งต้น ใชเ้ วลา 20 นาที ********************************************************************************************** คาช้ีแจง 1. แบบฝึกหดั มีทง้ั หมด 2 ตอน ประกอบดว้ ยตอนท่ี 1 และตอนท่ี 2 (20 คะแนน) 2. แบบฝกึ หดั ตอนท่ี 1 เป็นคาถามแบบถูก-ผดิ มีทงั้ หมด 20 ขอ้ (10 คะแนน) 3. แบบฝึกหดั ตอนท่ี 2 เปน็ คาถามแบบปรนยั มีทั้งหมด 10 ขอ้ (10 คะแนน) แบบฝกึ หัดตอนท่ี 1 คาชแ้ี จง ให้ผู้เรยี นกาเครือ่ งหมายถกู  ในข้อท่ีคิดว่าถกู และกาเคร่ืองหมายผดิ  ในขอ้ ท่ีคดิ ว่าผดิ 1. สว่ นประกอบของไมโครคอนโทรลเลอร์คอื หนว่ ยอนิ พตุ /เอาตพ์ ตุ หนว่ ยประมวลผลกลาง หน่วยความจา และพอร์ต 2. Arduino เปน็ ภาษาเยอรมนั นี 3. ขาพอรต์ ของไมโครคอนโทรลเลอร์ คอื ขาทต่ี ่อกบั อุปกรณอ์ ินพตุ /เอาต์พุต 4. ไมโครคอนโทรลเลอรต์ ระกลู Arduino มกี ารทางานแบบ RISC 5. Arduino Ethernet With PoE Module เปน็ บอรด์ Arduino ทใี่ ช้ MCU เบอร์เดยี วกับ Arduino Uno SMD 6. ไมโครคอนโทรลเลอร์ มกั ย่อว่า µC, uC หรือ MCU 7. ปจั จบุ ันบริษัท Microchip Technology เปน็ ผู้สรา้ งไมโครคอนโทรลเลอรต์ ระกูล Arduino 8. Arduino ไมโครคอนโทรลเลอร์บอรด์ แบบสาเรจ็ รูป 9. Arduino Uno R3 เป็นบอรด์ Arduino ทีไ่ ดร้ ับความนยิ มมากทสี่ ดุ 10. Arduino Pro Mini 328 3.3 V เป็นบอร์ด Arduino ขนาดเล็ก 11. Arduino Mega 2560 R3 เป็นบอรด์ Arduino ที่ออกแบบมาสาหรบั งานทีต่ ้องใช้ I/O มากกว่า Arduino Uno R3 12. Arduino Mega ADK เปน็ บอรด์ ทอี่ อกแบบมาให้บอรด์ Mega 2560 R3 สามารถตดิ ต่อกบั อุปกรณ์ Android Device ผ่านพอรต์ USB Host ของบอรด์ ได้ 13. ไมโครคอนโทรลเลอร์ทน่ี ิยมใชก้ นั เริ่มตง้ั แต่ตวั แรกที่เป็นลักษณะของ CPU ไม่ถงึ ขน้ั เรียกว่า ไมโครคอนโทรลเลอร์ก็คอื ตระกลู Z80 14. AVR เปน็ ไมโครคอนโทรลเลอร์ร่นุ หลงั ๆ ท่มี กี ารพฒั นาตอ่ มาจาก MCS-51 โดยบริษทั ATMEL หน่วยที่ 1 ความรเู้ กี่ยวกบั ไมโครคอนโทรลเลอร์เบ้อื งต้น เรยี บเรยี งโดยครทู นั พงษ์ ภู่รกั ษ์

เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอร์เบื้องต้น 29 15. Raspberry Pi เปน็ Board ใช้ Controller ตระกูล ARM 16. Arduino Due เป็นบอร์ด Arduino ทีเ่ ปลย่ี นชปิ MCU ใหม่ ซง่ึ จากเดมิ เปน็ ตระกลู AVR เปล่ยี นเป็นเบอร์ AT91SAM3X8E (ตระกลู ARM Cortex-M3) 17. โมดูลมาตอ่ เพ่ิมของ Arduino จะเรียกว่าเปน็ Shield 18. หนว่ ยความจาสามารถแบ่งออกเป็น 2 สว่ น คอื หน่วยความจาโปรแกรม และหนว่ ยความจา ข้อมลู 19. ตระกลู MCS-51 เป็นตระกูลที่เกิดมาก่อน Z80 20. AVR มคี ุณสมบตั ิหลกั ทคี่ ือสามารถ Interface ผา่ น USB ไดโ้ ดยตรง แบบฝึกหัดตอนท่ี 2 คาชีแ้ จง ใหผ้ ูเ้ รยี นเลอื กคาตอบที่ถกู ทส่ี ดุ แล้วกาเครือ่ งหมายกากบาท () ให้ครบทกุ ข้อ 1. ข้อใดเปรียบเสมือนหัวใจสาคัญของไมโครคอนโทรลเลอร์ ก. หน่วยประมวลผลกลาง ข. หนว่ ยความจา ค. หนว่ ยอินพุต/เอาตพ์ ตุ ง. พอรต์ 2. สมองกลฝังตวั หมายถงึ อะไร ก. Microprocessor ข. ไมโครคอนโทรลเลอร์ ค. Microcomputer ง. Embedded System 3. RISC คืออะไร ก. มีความเร็วในการประมวลผล 1 คาสั่ง ต่อ 1 สญั ญาณนาฬิกา ข. มคี วามเรว็ ในการประมวลผล 2 คาส่ัง ตอ่ 1 สัญญาณนาฬกิ า ค. มีความเรว็ ในการประมวลผล 3 คาสงั่ ตอ่ 1 สัญญาณนาฬิกา ง. มีความเรว็ ในการประมวลผล 4 คาสัง่ ตอ่ 1 สญั ญาณนาฬกิ า 4. ไมโครคอนโทรลเลอร์ตระกูลใด ท่ีออกแบบมาให้ Arduino โดยเฉพาะ ก. ตระกูล MCS-51 ข. ตระกูล AVR ค. ตระกลู BASIC STAMP ง. ตระกูล PIC หน่วยท่ี 1 ความรู้เกย่ี วกบั ไมโครคอนโทรลเลอร์เบือ้ งตน้ เรยี บเรียงโดยครูทนั พงษ์ ภู่รักษ์

เอกสารประกอบการสอนวชิ าไมโครคอนโทรลเลอรเ์ บอ้ื งตน้ 30 5. หนว่ ยความจาโปรแกรมแบบใด เหมาะสาหรับงานต้นแบบหรอื ใช้ในการศึกษาเรยี นรู้ ก. ROM ข. PROM ค. EPROM ง. EEPROM 6. การเขียนโปรแกรมไมโครคอนโทรลเลอร์ภาษาใด ถอื วา่ เป็นภาษาทีเ่ ขียนโปรแกรมยากที่สุด ก. จาวา ข. ภาษาแอสเซมบลี ค. ภาษาเบสิก ง. ภาษาปาสคาล 7. Arduino Uno R3 มพี อร์ตดจิ ติ อลท่ตี ่ออปุ กรณอ์ นิ พตุ /เอาตพ์ ุตทง้ั หมดกขี่ า ก. 7 ขา ข. 14 ขา ค. 20 ขา ง. 37 ขา 8. Interrupt ของ Arduino Uno R3 อยู่ที่พอร์ตใด ก. Analog 1,2 ข. Digital 2,3 ค. Analog 3,4 ง. Analog 4,5 9. Arduino Uno R3 พอรต์ ใดทร่ี ับสัญญาณ Analog ได้ ก. PORTA ข. PORTB ค. PORTD และ PORTE ง. PORTC และ PORTD 10. การออกแบบวงจร Arduino Uno R3 ข้อใดกล่าวผิด ก. ใช้ไมโครคอนโทรลเลอร์ Atmega328 ข. มีพอรต์ แบบ Analog และ Digital ค. พอร์ต A4 และ A5 รับสญั ญาณ I2C (SDA,SCA) ง. มีพอรต์ สื่อสารแบบ SPI (D10-12) หน่วยที่ 1 ความรู้เก่ยี วกับไมโครคอนโทรลเลอร์เบอื้ งตน้ เรยี บเรยี งโดยครูทันพงษ์ ภู่รักษ์

เอกสารประกอบการสอนวชิ าไมโครคอนโทรลเลอร์เบอื้ งตน้ 31 แบบทดสอบหลงั เรยี น หนว่ ยที่ 1 เร่ือง ความรู้เก่ยี วกับไมโครคอนโทรลเลอรเ์ บ้ืองตน้ เรือ่ ง ความรู้เกยี่ วกบั ไมโครคอนโทรลเลอรเ์ บ้อื งต้น ใช้เวลา 20 นาที วิชา ไมโครคอนโทรลเลอรเ์ บื้องตน้ ร หั ส วิ ช า (2 1 2 7 -21 0 7 ) ระดบั ชั้น ประกาศนียบัตรวชิ าชีพ (ปวช.) สาขาวชิ า เมคคาทรอนกิ ส์ ********************************************************************************** คาชแ้ี จง 1. แบบทดสอบมีทัง้ หมด 20 ขอ้ (20 คะแนน) 2. ใหผ้ เู้ รยี นเลอื กคาตอบท่ีถูกท่สี ดุ แล้วกาเคร่อื งหมายกากบาท () ลงในกระดาษคาตอบ 1. ไมโครคอนโทรลเลอร์ (Microcontroller ) มีความหมายตรงกับขอ้ ใด ก. ระบบโทรศัพท์ท่มี า www.ประยุกตใ์ ชง้ านไดห้ ลากหลาย ข. ระบบโทรทศั น์ที่มา www.ประยุกต์ใชง้ านไดห้ ลากหลาย ค. ระบบเครอื่ งเสียงท่ีมา www.ประยกุ ตใ์ ช้งานไดห้ ลากหลาย ง. ระบบคอมพวิ เตอรข์ นาดเลก็ ท่ีมา www.ประยุกตใ์ ช้งานได้หลากหลาย 2. ขอ้ ใดกลา่ วผิด ก. หน่วยประมวลผลกลาง ปัจจบุ ันอยู่ในรปู ของไอซีทเี่ รียกอีกไมโครโปรเซสเซอร์ ข. รอมมีคุณสมบัติ อา่ นได้ เขียนไม่ได้ ค. แรมเรียกอกี อยา่ งหนงึ่ วา่ หน่วยความจาโปรแกรม ง. อุปกรณส์ วติ ช์ ถือวา่ เป็นอปุ กรณอ์ นิ พุต 3. ไมโครคอนโทรลเลอร์ขนาด 8 บิต ตระกลู ใดที่มีการทางานเปน็ แบบ RISC ก. ตระกูล MSC-51 ข. ตระกลู AVR ค. ตระกลู BASIC STOP ง. ตระกลู PICTURE 4. ไมโครคอนโทรลเลอร์ เบอร์ ATmega48 พอรต์ อินพุตเอาต์พตุ ใหใ้ ช้งานจานวน ก. 3 ขา ข. 13 ขา ค. 23 ขา ง. 33 ขา หนว่ ยที่ 1 ความรู้เกี่ยวกับไมโครคอนโทรลเลอร์เบ้ืองตน้ เรียบเรียงโดยครทู ันพงษ์ ภรู่ กั ษ์

เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอร์เบอ้ื งต้น 32 5. ข้อใดไม่ใช่คณุ สมบัตทิ ถ่ี กู ตอ้ งของ ATmega48 ก. มหี น่วยความจาสาหรบั เก็บโปรแกรมแบบแฟลช (ROM) ข. มหี นว่ ยความจาขอ้ มูล (RAM) ค. มี Timer/Counters ขนาด 8 บติ 5 ตัว และ 16 บติ 10 ตวั ง. มีพอร์ตอินพตุ เอาต์พุตใหใ้ ชง้ านจานวน 23 ขา 6. ATmega48 มีหนว่ ยความจาขนาดเท่าไร ก. รอมขนาด 2 Kbyte สามารถเขยี น-ลบได้ประมาณ 10,000 คร้ัง ข. รอมขนาด 4 Kbyte สามารถเขียน-ลบได้ประมาณ 10,000 คร้ัง ค. รอมขนาด 4 Kbyte สามารถเขยี น-ลบได้ประมาณ 100,000 คร้งั ง. รอมขนาด 8 Kbyte สามารถเขยี น-ลบไดป้ ระมาณ 10,000 ครงั้ 7. ATmega48 มโี มดลู สรา้ งสญั ญาณ Pulse width Modulator (PWM) ทงั้ หมดกีแ่ หลง่ ก. 3 ชดุ 6 ช่องสัญญาณ ข. 3 ชุด 12 ช่องสญั ญาณ ค. 4 ชุด 8 ชอ่ งสญั ญาณ ง. 4 ชุด 12 ช่องสัญญาณ 8. Arduino UNO R3 ขาใดมโี ครงสรา้ งภายในรับสญั ญาณ I2C (SCA) ก. A5 ข. B5 ค. C7 ง. D0 9. ขา Digital 11 ของ Arduino UNO R3 นอกจากจะเป็นพอร์ตดิจิตอลแล้วยงั มหี นา้ ท่ีเปน็ ขา ก. Parallel Mode Operation ข. Capture/Compare/PWM (Pulse Width Modulation) ค. In-Circuit Serial Programming ง. SPI (SS) 10. Arduino UNO R3 พอร์ตใดที่เหมาะสาหรับต่อใช้งานการสอื่ สารแบบอนกุ รม ก. Analog 4 ข. PORTB ค. Digital 0 ง. PORTD หนว่ ยที่ 1 ความรู้เก่ยี วกับไมโครคอนโทรลเลอร์เบ้อื งตน้ เรยี บเรยี งโดยครูทนั พงษ์ ภ่รู ักษ์


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