0 เอกสารประกอบการสอน 36 หนว่ ยท�ี 5 การอา นคา แอนนาลอ ก
เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 97 หนว่ ยท่ี 5 การอา่ นคา่ แอนนาลอ๊ ก สาระสาคญั การพฒั นาโปรแกรมภาษา C/C++ ด้วย Arduino IDE สาหรบั บอร์ด Arduino ภายใต้ การเรยี กใชง้ านไลบรารหี ลกั ของทาง Arduino จดั เตรยี มใหผ้ นวกเขา้ กบั ไฟลไ์ ลบรารที พ่ี ฒั นาขน้ึ มาเป็นเฉพาะสาหรบั บอรด์ Arduino เพ่อื ช่วยลดความซบั ซอ้ นในการเขยี นโปรแกรมควบคุมลง Arduino IDE ได้บรรจุไฟล์ไลบรารีท่ีช่วยให้การเขียนโปรแกรมภาษา C/C++ เพ่ือให้ใช้งาน ไมโครคอนโทรลเลอร์ได้ง่ายข้ึน รวม ถึงผู้เริ่ม ต้น ให ม่ก็สาม ารถ เรีย น รู้เพ่ือ ใช้งาน ไมโครคอนโทรลเลอรไ์ ด้ โดยไมจ่ าเป็นตอ้ งศกึ ษาเพ่อื ลงลกึ ในรายละเอยี ดของสถาปัตยกรรม สาระการเรยี นรู้ 5.1 ไลบรารขี อง Arduino 5.2 ไลบรารเี กย่ี วกบั เวลา 5.3 การอ่านคา่ แอนนาลอ๊ ก จดุ ประสงคเ์ ชงิ พฤติกรรม เพ่อื ใหน้ กั เรยี น 1. สามารถใชง้ านไลบรารข่ี อง Arduino ไดถ้ กู ตอ้ ง 2. สามารถใชง้ านไลบรารเี กย่ี วกบั เวลาไดถ้ กู ตอ้ ง 3. สามารถใชง้ านไลบรารเี กย่ี วกบั การอ่านค่าแอนนาล๊อกได้ถูกตอ้ ง หน่วยท่ี 5 : การอ่านคา่ แอนนาลอ๊ ก
เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 98 แบบทดสอบก่อนเรยี น หน่วยท่ี 5 การอา่ นคา่ แอนนาล๊อก คาสงั่ จงเลือกคาตอบที่ถกู ท่ีสดุ เพียงข้อเดียว 1. หน่วยความจาขอ้ มลู ออี พี รอม ภายในตวั ไมโครคอนโทรลเลอรเ์ มอ่ื ตอ้ งการใชง้ านตอ้ งผนวก ไฟลไ์ ลบรารี ดว้ ยคาสงั่ ? ก. #include<EEPROM.d> ข. #include<EEPROM.hpp> ค. #include<EEPROM.h> ง. #include<EEPROM.c> จ. #include<EEPROM.o> 2. ตอ้ งใชค้ าสงั่ ใดในการผนวกไฟลไ์ ลบรารขี อง servo? ก. #include<servo.d> ข. #include<servo.hpp> ค. #include<servo.h> ง. #include<servo.c> จ. #include<EEPROM.o> 3. Arduino บรรจฟุ ังกช์ นั่ Wire สาหรบั ตดิ ต่อกบั อุปกรณ์ผา่ นบสั ? ก. URAT ข. I2C ค. SPI ง. USB จ. GSM 4. Arduino UNO บรรจฟุ ังกช์ นั่ และคาสงั่ สาหรบั ตดิ ต่อกบั SPI โดยตอ้ งใชข้ าพอรต์ ? ก. 10 (MISO), 11 (MOSI) และ 12 (SS) ข. 11 (MISO), 10 (MOSI) และ 12 (SS) ค. 12 (MISO), 11 (MOSI) และ 10 (SS) ง. 9 (MISO), 8 (MOSI) และ 7 (SS) จ. 11 (MISO), 12 (MOSI) และ 13 (SS) หน่วยท่ี 5 : การอ่านค่าแอนนาลอ๊ ก
เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 99 5. ไลบรารี Wire ตดิ ต่อกบั อปกุ รณ์ผ่านบสั I2C ขาพอรต์ ? ก. A4 (SDA) และ A5 (SCL) ข. A1 (SDA) และ A2 (SCL) ค. A2 (SDA) และ A3 (SCL) ง. A3 (SDA) และ A4 (SCL) จ. A4 (SDA) และ A3 (SCL) 6. คาสงั่ ใดเป็นไลบรารเี กย่ี วกบั เวลา? ก. delay ข. delays ค. us_delay ง. sleep_us จ. void delay_us 7. จานวนขาแอนนาล๊อกบอรด์ Arduino Uno R3? ก. 4 ข. 5 ค. 6 ง. 8 จ. 10 8. ยา่ นคา่ แรงดนั ทพ่ี อรต์ แอนนาล๊อก? ก. 0 ถงึ +1v ข. 0 ถงึ +3.3v ค. 0 ถงึ +5v ง. 0 ถงึ +12v จ. 0 ถงึ +14v 9. คา่ ความละเอยี ดในการแปลงสญั ญาณแอนนาล๊อกเป็นดจิ ติ อลภายไมโครคอนโทรลเลอร์? ก. 5 บติ ข. 8 บติ ค. 10 บติ ง. 16 บติ จ. 18 บติ หน่วยที่ 5 : การอ่านค่าแอนนาลอ๊ ก
เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 100 10. คา่ ขอ้ มลู แอนนาล๊อกทถ่ี ูกแปลงเป็นดจิ ติ อลจะอยรู่ ะหวา่ ง? ก. 0 ถงึ 128 ข. 0 ถงึ 256 ค. 0 ถงึ 512 ง. 0 ถงึ 1,023 จ. 0 ถงึ 2,046 หน่วยท่ี 5 : การอ่านคา่ แอนนาลอ๊ ก
เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 101 เน่ืองจากค่าท่ีอ่านจากการกดสวิตช์เข้ามาทางพอร์ตแอนาลอกมีโอกาสท่ี ตัวเลข จะแกว่งได้ ดงั นนั้ หากเขยี นโปรแกรมโดยวธิ กี ารตรวจสอบการเท่ากนั ของค่าทก่ี าหนดมโี อกาส จะคลาดเคล่อื นได้ ทางแก้ปัญหาการแกว่งของค่าท าได้โดยเพมิ่ ช่วงในการตรวจสอบแทนท่ี จะตรวจสอบเพยี งคา่ เดยี ว การทดลองน้เี ป็นการทดลองการกดสวติ ชท์ ร่ี บั เขา้ มาทางพอรต์ แอนา ลอกและมกี ารเพม่ิ ชว่ งในการตรวจสอบ เป็น ±30 ค่าและแสดงผลเป็นขอ้ ความว่าสวติ ชใ์ ดถกู กด 5.1 ไลบรารีของ Arduino ไฟล์ไลบรารที ่พี ัฒนาข้นึ มาเป็นเฉพาะสาหรบั บอรด์ Arduino ทงั้ น้ีเพ่ือช่วยลดความ ซบั ซ้อนในการเขยี นโปรแกรมควบคุมลง Arduino IDE ไดบ้ รรจุไฟล์ไลบรารที ช่ี ่วยใหก้ ารเขยี น โปรแกรมภาษา C/C++ เพ่อื ใชง้ านไมโครคอนโทรลเลอรไ์ ดง้ า่ ยขน้ึ โดยไฟลไ์ ลบรารที ส่ี าคญั และ ใชง้ านกบั บอรด์ Arduino ประกอบดว้ ย 5.1.1 EEPROM บรรจไุ ลบรารแี ละคาสงั่ สาหรบั ตดิ ต่อกบั หน่วยความจาข้อมลู ออี พี รอม ภายในตวั ไมโครคอนโทรลเลอร์ เมอ่ื ตอ้ งการใชง้ านตอ้ งผนวกไฟลไ์ ลบรารไี วใ้ นตอนตน้ ของโปรแกรม รปู แบบคาสงั่ #include <EEPROM.h> 5.1.2 LiquidCrystal บรรจุไลบรารีและคาสัง่ สาหรบั ติดต่อกับโมดูล LCD แบบอักขระเพ่ือแสดงผล ขอ้ ความและตวั เลข รองรบั ทงั้ การติดต่อแบบ 4 บติ และ 8 บติ ใชง้ านได้กบั โมดูล LCD 8, 16 และ 20 ตวั อกั ษร 1, 2 และ 4 บรรทดั เม่อื ต้องการใช้งานต้องผนวกไฟล์ไลบรารไี ว้ในตอนต้นของ โปรแกรม รปู แบบคาสงั่ #include <LiquidCrystal.h> 5.1.3 servo บรรจุไลบรารแี ละคาสงั่ สาหรบั เรยี กใช้งานการขบั เซอร์โวมอเตอร์ ต้องทางาน รว่ มกบั เซอรโ์ วมอเตอรแ์ ละต้องใชไ้ ฟเลย้ี งแยกสาหรบั เซอรโ์ วมอเตอร์ เม่อื ต้องการใช้งานต้อง ผนวกไฟลไ์ ลบรารไี วใ้ นตอนตน้ ของโปรแกรม รปู แบบคาสงั่ #include <servo.h> 5.1.4 SoftwareSerial บรรจไุ ลบรารแี ละคาสงั่ สาหรบั ใช้งานขาพอรต์ ของ Arduino ในการส่อื สารขอ้ มูล อนุ กรมไลบรารีจะถูกนามาใช้งานเม่ือขาเช่ือมต่อพอร์ตอนุ กรมหลัก (RxD และ TxD) หน่วยท่ี 5 : การอ่านค่าแอนนาลอ๊ ก
เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 102 ของ Arduino ถูกใช้งานไปแล้ว และมคี วามต้องการติดต่ออุปกรณ์ท่ตี ้องใช้การส่อื สารข้อมูล อนุกรม การใชง้ านไลบรารจี ะช่วยให้ผู้ใชง้ านสามารถใช้ ขาพอรต์ ของ Arduino ขาอ่นื ท่วี ่างมา ทาหน้าท่เี ป็นขาพอรต์ สาหรบั ส่อื สารขอ้ มูลอนุกรม เม่อื ต้องการใช้งานต้องผนวกไฟล์ไลบรารี ไวใ้ นตอนตน้ ของโปรแกรม รปู แบบคาสงั่ #include <SoftwareSerial.h> 5.1.5 SPI บรรจุไลบรารแี ละคาสงั่ สาหรบั ตดิ ต่อกบั อุปกรณ์ผ่านบสั SPI (Serial Peripheral Interface) โดยต้องใช้ขาพอร์ต 12 (MISO), 11 (MOSI) และ 10 (SS) ในการติดต่ออุปกรณ์ท่ี ทางานผ่านบสั แบบ SPI ประกอบ ด้วยไอซีหน่วยความจาอีอีพรอมในอนุกรม 93Cxxx, ไอซี แปลงสญั ญาณแอนะล็อกเป็นดิจติ อล, ไอซีแปลง สัญญาณดิจติ อลเป็นแอนะล็อก, ไอซีวดั อุณหภูม,ิ ไอซขี บั LED ตวั เลข 7 ส่วน เป็นต้น เม่อื ต้องการใชง้ านต้องผนวกไฟลไ์ ลบรารไี วใ้ น ตอนตน้ ของโปรแกรม รปู แบบคาสงั่ #include <SPI.h> 5.1.6 Wire บรรจุไลบรารแี ละคาสงั่ สาหรบั ตดิ ต่อกบั อปุกรณ์ผ่านบสั I2C โดยตอ้ งใชข้ าพอรต์ A4 (SDA) และ A5 (SCL) ในการติดต่ออุปกรณ์ ท่ีทางานผ่านบัส I2C มีมากมายเช่นไอซี หน่วยความจาออี พี รอมในอนุกรม 24Cxxx, ไอซแี ปลงสญั ญาณแอนนาล๊อกเป็นดจิ ติ อล, ไอซี แปลงสญั ญาณดจิ ติ อลเป็นแอนนาล๊อก ,ไอซวี ดั อุณภมู ิ , ไอซขี ยายพอรต์ อนิ พุตเอาต์พตุ, โมดูล วทิ ยุ FM, ตวั ตรวจจบั ความชน้ื , ตวั ตรวจจบั ความดนั บรรยากาศ, ตวั ตวั ตรวจจบั ความเรง่ แบบ 3 แกน เป็นตน้ เมอ่ื ตอ้ งการใชง้ านตอ้ งผนวกไฟลไ์ ลบรารไี วใ้ นตอนตน้ ของโปรแกรม รปู แบบคาสงั่ #include <Wire.h> ทงั้ น้ีสาหรบั ฮารด์ แวร์ Arduino Leonardo ซ่งึ บอรด์ Arduino ก็เป็นฮารด์ แวรแ์ บบหน่ึง ท่ีเข้ากันได้มไี ลบรารพี ิเศษท่ีเพิ่มเติมข้นึ มานัน่ คือ ไลบรารี USB ในการใช้งานไลบรารขี อง ไลบรารี USB น้ีไม่ต้องทาการผนวกไลบรารเี พ่ิมเติมแต่อย่างใด ผู้พฒั นาโปรแกรมสามารถ เรยี กใชง้ านไลบรารไี ดเ้ ลย ไลบรารี USB มี 2 ไลบรารยี อ่ ยคอื Mouse บรรจุไลบรารีและคาสัง่ เพ่ือให้ฮาร์ดแวร์ Arduino Leonardo หรือบอร์ด Arduino ทางานเป็นเมาส์ USB Keyboard บรรจุไลบรารแี ละคาสัง่ เพ่ือให้ฮาร์ดแวร์ Arduino Leonardo หรือบอร์ด Arduino ทางานเป็ นคีย์บอร์ด USB นอกไปจากไลบรารีมาตรฐานและไลบรารี USB หน่วยท่ี 5 : การอ่านค่าแอนนาลอ๊ ก
เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 103 ท่ที าง Arduino เตรยี มมาให้พร้อมใช้งานการเรยี กใช้งานชุดคาสงั่ ย่อยต่าง ๆ เพ่อื การพฒั นา โปรแกรมควบคุมสาหรบั บอรด์ Arduino ผู้พฒั นาต้องผนวกไฟล์ไลบรารหี ลกั Arduino.h โดย #include <Arduino.h> เพ่อื ประกาศใหต้ วั แปลภาษาหรอื คอมไพเลอรร์ จู้ กั ชุดคาสงั่ ยอ่ ยต่าง ๆ ท่ี กาลงั จะถูกเรยี กใช้งานจากไฟล์ไลบรารี Arduino.h ไลบรารยี ่อย ของไฟล์ไลบรารี Arduino.h ประกอบดว้ ย glcd บรรจุไลบรารแี ละคาสงั่ สาหรับแสดงผลข้อความ, ตัวเลข และสร้างภาพกราฟิกสี ท่ีจอแสดงผลแบบกราฟิ ก LCD สีของแผงวงจร GLCD-XT ไลบรารีน้ีมีการกาหนดขาใช้งานท่ี เฉพาะเจาะจง sleep บรรจไุ ลบรารแี ละคาสงั่ สาหรบั การหน่วงเวลา in out บรรจไุ ลบรารแี ละคาสงั่ สาหรบั อ่านค่าอนิ พุตดจิ ติ อลและส่งค่าออกทางขาพอร์ต เอาตพ์ ตุ ดจิ ติ อล analog บรรจไุ ลบรารแี ละคาสงั่ สาหรบั อ่านค่าจากอนิ พตุ แอนะลอ็ กทต่ี ่อกบั ตวั ตรวจจบั sound บรรจุไลบรารแี ละคาสงั่ สาหรบั สรา้ งเสียงเพ่ือขบั ออกลาโพง ฟังก์ชนั่ น้ีมกี าร กาหนดขาใชง้ านทเ่ี ฉพาะเจาะจง motor บรรจุไลบรารแี ละคาสงั่ สาหรบั ขบั มอเตอร์ไฟตรง 2 ช่อง ต้องทางานร่วมกับ วงจรขบั มอเตอรท์ ่ใี ช้ไอซี TB6612 และต้องใช้ไฟเล้ยี งแยกสาหรบั มอเตอรไ์ ฟตรง ไลบรารนี ้ีมี การกาหนดขาใชง้ านทเ่ี ฉพาะเจาะจง servoMotor บรรจไุ ลบรารแี ละคาสงั่ สาหรบั ขบั เซอรโ์ วมอเตอรต์ ้องทางานรว่ มกบั เซอร์ โวมอเตอรแ์ ละต้องใช้ไฟเล้ยี งแยกสาหรบั เซอรโ์ วมอเตอร์ ไลบรารน้ีมกี ารกาหนดขาใช้งานท่ี เฉพาะเจาะจง serial บรรจไุ ลบรารแี ละคาสงั่ สาหรบั สอ่ื สารขอ้ มลู อนุกรมผ่านทางพอรต์ USB และผา่ น ทางขาพอรต์ TxD และ RxD ของบอรด์ Arduino IRremote บรรจุไลบรารแี ละคาสงั่ สาหรบั อ่านรหสั ของปุ่มรโี มตคอนโทรลอนิ ฟราเรด ท่ี ใชใ้ นเครอ่ื งใชไ้ ฟฟ้า เมอ่ื ตอ้ งการใชง้ านไลบรารนี ้ี ต้องผนวกไฟลไ์ วใ้ นตอนต้นของโปรแกรมหลงั คาสงั่ #include <Arduino.h> ดว้ ยคาสงั่ #include <IRremote.h> ในการเรยี นรเู้ พ่อื ใชง้ านบอรด์ Arduino จะใชไ้ ฟลไ์ ลบรารที งั้ แบบมาตรฐาน และไฟล์ Arduino.h รว่ มกนั เพอ่ื ช่วยใหก้ ารพฒั นา โปรแกรมสาหรบั การใช้งานมปี ระสทิ ธภิ าพสูงสุด และสามารถทาความเขา้ ใจได้ง่าย ทงั้ น้ีเพ่อื ประโยชน์ในการต่อยอดการเรยี นรขู้ องผใู้ ชง้ านในวงกวา้ ง หน่วยที่ 5 : การอ่านค่าแอนนาลอ๊ ก
เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 104 5.2 ไลบรารีเกี่ยวกบั เวลา 5.2.1 sleep และ delay เป็นไลบรารหี น่วงเวลาโดยประมาณภายในโปรแกรมในหน่วย มลิ ลวิ นิ าที รปู แบบ void delay(unsigned int ms) void sleep(unsigned int ms) พารามิเตอร์ ms - กาหนดค่าเวลาทต่ี อ้ งการหน่วงในหน่วยมลิ ลวิ นิ าทมี คี ่า 0 ถงึ 65,535 ตวั อย่างการใช้งาน delay(1000); // หน่วงเวลาประมาณ 1 วนิ าที sleep(50); // หน่วงเวลาประมาณ 60 มลิ ลวิ นิ าที 5.2.2 delay us เป็นไลบรารหี น่วงเวลาโดยประมาณภายในโปรแกรมในหน่วย ไมโครวนิ าที รปู แบบ void delay_us(unsigned int us) พารามิเตอร์ us - กาหนดค่าเวลาทต่ี อ้ งการหน่วงในหน่วยไมโครวนิ าทมี คี า่ 0 ถงึ 65,535 ตวั อย่างการใช้งาน delay_us(500); // หน่วงเวลาประมาณ 500 ไมโครวนิ าที 5.3 การอา่ นคา่ แอนนาล๊อก เป็ นไลบรารีอ่ านค่ าข้อมู ลแอนนาล๊ อก และแปลงเป็ นสัญ ญ าณ ดิจิตอลขอ ง ไมโครคอนโทรลเลอร์ ทพ่ี อรต์ A0 ถงึ A6 (สาหรบั Arduino Uno R3) ซง่ึ ใชใ้ นการเชอ่ื มต่อกบั ตวั ตรวจจบั ทใ่ี หผ้ ลการทางานในรปู แรงดนั ไฟฟ้าในยา่ น 0 ถงึ +5V รปู แบบ unsigned int analog(unsigned char channel) หน่วยที่ 5 : การอ่านคา่ แอนนาลอ๊ ก
เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 105 พารามิเตอร์ channel - กาหนดช่องอนิ พุตแอนนาล๊อกท่ตี ้องการมคี ่า 0 ถงึ 6 ซง่ึ ตรงกบั ขาพอรต์ A0 ถงึ A6 การคืนค่า เป็นขอ้ มูลทไ่ี ดจ้ ากการแปลงสญั ญาณของโมดูลแปลงสญั ญาณแอนนาล๊อกเป็นดจิ ติ อล ภายในไมโครคอนโทรลเลอร์ จากช่องอนิ พุตทก่ี าหนด โดยขอ้ มลู มคี วามละเอยี ด 10 บติ ดงั นัน้ คา่ จะอยรู่ ะหวา่ ง 0 ถงึ 1,023 ตวั อยา่ งโปรแกรมเรยี กอ่านคา่ แอนนาล๊อกทข่ี า A0 จากนนั้ สง่ ค่าออกทาง Serial Plotter (Ctrl+Shift+L) เปิ ดโปรแกรมตัวอย่างโดยเลือกจากเมนู File > Examples > 03.Analog > AnalogInOutSerial รปู ท่ี 5.1 หน้าต่างโปรแกรมตวั อยา่ งการอ่านค่าแอนนาลอ๊ ก หน่วยที่ 5 : การอ่านคา่ แอนนาลอ๊ ก
เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 106 แบบทดสอบหลังเรยี น หนว่ ยที่ 5 การอา่ นคา่ แอนนาล๊อก คาสงั่ จงเลือกคาตอบที่ถกู ที่สดุ เพียงข้อเดียว 1. หน่วยความจาขอ้ มลู ออี พี รอม ภายในตวั ไมโครคอนโทรลเลอรเ์ มอ่ื ตอ้ งการใชง้ านตอ้ งผนวก ไฟลไ์ ลบรารี ดว้ ยคาสงั่ ? ก. #include<EEPROM.d> ข. #include<EEPROM.hpp> ค. #include<EEPROM.h> ง. #include<EEPROM.c> จ. #include<EEPROM.o> 2. ตอ้ งใชค้ าสงั่ ใดในการผนวกไฟลไ์ ลบรารขี อง servo? ก. #include<servo.d> ข. #include<servo.hpp> ค. #include<servo.h> ง. #include<servo.c> จ. #include<EEPROM.o> 3. Arduino บรรจฟุ ังกช์ นั่ Wire สาหรบั ตดิ ต่อกบั อุปกรณ์ผา่ นบสั ? ก. URAT ข. I2C ค. SPI ง. USB จ. GSM 4. Arduino UNO บรรจฟุ ังกช์ นั่ และคาสงั่ สาหรบั ตดิ ต่อกบั SPI โดยตอ้ งใชข้ าพอรต์ ? ก. 10 (MISO), 11 (MOSI) และ 12 (SS) ข. 11 (MISO), 10 (MOSI) และ 12 (SS) ค. 12 (MISO), 11 (MOSI) และ 10 (SS) ง. 9 (MISO), 8 (MOSI) และ 7 (SS) จ. 11 (MISO), 12 (MOSI) และ 13 (SS) หน่วยท่ี 5 : การอ่านคา่ แอนนาลอ๊ ก
เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 107 5. ไลบรารี Wire ตดิ ต่อกบั อปกุ รณ์ผา่ นบสั I2C ขาพอรต์ ? ก. A4 (SDA) และ A5 (SCL) ข. A1 (SDA) และ A2 (SCL) ค. A2 (SDA) และ A3 (SCL) ง. A3 (SDA) และ A4 (SCL) จ. A4 (SDA) และ A3 (SCL) 6. คาสงั่ ใดเป็นไลบรารเี กย่ี วกบั เวลา? ก. delay ข. delays ค. us_delay ง. sleep_us จ. void delay_us 7. จานวนขาแอนนาล๊อกบอรด์ Arduino Uno R3? ก. 4 ข. 5 ค. 6 ง. 8 จ. 10 8. ยา่ นคา่ แรงดนั ทพ่ี อรต์ แอนนาล๊อก? ก. 0 ถงึ +1v ข. 0 ถงึ +3.3v ค. 0 ถงึ +5v ง. 0 ถงึ +12v จ. 0 ถงึ +14v 9. คา่ ความละเอยี ดในการแปลงสญั ญาณแอนนาล๊อกเป็นดจิ ติ อลภายไมโครคอนโทรลเลอร์? ก. 5 บติ ข. 8 บติ ค. 10 บติ ง. 16 บติ จ. 18 บติ หน่วยที่ 5 : การอ่านคา่ แอนนาลอ๊ ก
เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 108 10. คา่ ขอ้ มลู แอนนาล๊อกทถ่ี ูกแปลงเป็นดจิ ติ อลจะอยรู่ ะหวา่ ง? ก. 0 ถงึ 128 ข. 0 ถงึ 256 ค. 0 ถงึ 512 ง. 0 ถงึ 1,023 จ. 0 ถงึ 2,046 หน่วยท่ี 5 : การอ่านคา่ แอนนาลอ๊ ก
เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 109 แบบฝกึ หัด หน่วยท่ี 5 การอา่ นคา่ แอนนาล๊อก ตอนท่ี 1 ให้ผเู้ รยี นเลือกคาตอบที่ถกู ท่ีสดุ แล้วกาเครือ่ งหมายกากบาท () ให้ครบทกุ ข้อ 1. คาสงั่ สาหรบั ตดิ ต่อกบั หน่วยความจาขอ้ มลู ออี พี รอม ก. #include <EEROM.d> ข. #include <EROM.h> ค. #include <EEPROM.h> ง. #include <EEPROM.hpp> 2. คาสงั่ สาหรบั ตดิ ต่อกบั โมดลู LCD ก. #include <LiquidCristal.h> ข. #include <LiquidCrystal.h> ค. #include <LiquidCrystal.c> ง. #include <LiquidCrystal.d> 3. คาสงั่ สาหรบั เรยี กใชง้ านการขบั เซอรโ์ วมอเตอร์ ก. #include <servo.h> ข. #include <servo.f> ค. #include <servo.d> ง. #include <servo.c> 4. การส่อื สารขอ้ มลู อนุกรมไลบรารถี ูกนามาใชง้ านเมอ่ื ขาเชอ่ื มต่อ ก. RxP และ TxP ข. RxC และ TxC ค. RvD และ TvD ง. RxD และ TxD 5. คาสงั่ สาหรบั อ่านรหสั ของป่มุ รโี มตคอนโทรลอนิ ฟราเรด ก. #include <IRremote.e ข. #include <IRremote.k> ค. #include <IRremote.c> ง. #include <IRremote.h> หน่วยท่ี 5 : การอ่านคา่ แอนนาลอ๊ ก
เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 110 6. อธบิ ายคาสงั่ delay_us(500); ก. หน่วงเวลาประมาณ 500 ไมโครวนิ าที ข. หน่วงเวลาประมาณ 500 นาโนวนิ าที ค. หน่วงเวลาประมาณ 500 วนิ าที ง. หน่วงเวลาประมาณ 500 มลิ ลวิ นิ าที 7. คาสงั่ สาหรบั เรยี กอ่านค่าแอนนาลอ๊ กสาหรบั Arduino Uno R3 ก. anelogRead(A0); ข. anelogRead(A0); ค. analogRead(A9); ง. analogRead(A6); 8. การตดิ ต่ออุปกรณ์ทท่ี างานผ่านบสั แบบ SPI ยอ่ มาจาก ก. Serial Peripheral Interface ข. Serial Permission Interlock ค. Serial Monitor Interface ง. Serial Monitor Interlock หน่วยที่ 5 : การอ่านค่าแอนนาลอ๊ ก
เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 111 ตอนที่ 2 ใหผ้ เู้ รยี นทาการทดลองจากโปรแกรมตวั อยา่ ง EEPROM, Analog และเขยี น โปรแกรม รบั คา่ จาก LDR ดว้ ยบอรด์ Arduino Uno R3 โดยใชเ้ วลา 180 นาที จดุ ประสงคเ์ ชิงพฤติกรรม 1. สามารถทดสอบบอรด์ โปรแกรมตวั อยา่ ง EEPROM และ Analog ได้ 2. สามารถอธบิ าย เขยี นโปรแกรม และแกป้ ัญหาในการรบั คา่ จาก LDR ดว้ ยบอรด์ Arduino Uno R3 ได้ อปุ กรณ์การทดลอง 1 โปรแกรม 1 เสน้ 1. โปรแกรม Arduino IDE 1 บอรด์ 2. สายโหลด USB Arduino Uno R3 1 ชดุ 3. บอรด์ Arduino Uno R3 1 เครอ่ื ง 4. สายต่อวงจร 1 ตวั 5. เครอ่ื งคอมพวิ เตอร์ 6. แผงต่อวงจร การทดลองท่ี 3.1 การเขียนและลบ EEPROM รปู ท่ี 5.2 ตวั อยา่ งการเช่อื มต่อบอรด์ Arduino กบั คอมพวิ เตอร์ ขนั้ ตอนการทดลอง 1. เปิดโปรแกรม Arduino IDE 2. ต่อบอรด์ Arduino เขา้ กบั คอมพวิ เตอร์ 3. เปิดโปรแกรมตวั อยา่ ง File > Examples > EEPROM ประเมินผลการทดลอง 1. สามารถตดิ ตงั้ โปรแกรม Arduino IDE ไดถ้ กู ตอ้ ง 10 คะแนน 10 คะแนน 2. สามารถทดสอบและอธบิ ายการทางานไดถ้ กู ตอ้ ง ………… คะแนน รวมคะแนนภาคปฏิบตั ิ หน่วยท่ี 5 : การอ่านคา่ แอนนาลอ๊ ก
เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 112 การทดลองท่ี 5.2 การอ่านค่าแอนนาลอ๊ ก รปู ที่ 5.3 ตวั อยา่ งการเชอ่ื มต่อบอรด์ Arduino กบั คอมพวิ เตอร์ ขนั้ ตอนการทดลอง 1. เปิดโปรแกรม Arduino IDE 2. ต่อบอรด์ Arduino เขา้ กบั คอมพวิ เตอร์ 3. เปิดโปรแกรมตวั อยา่ ง File > Examples > 03.Analog ประเมินผลการทดลอง 10 คะแนน 10 คะแนน 1. สามารถเขยี นโปรแกรมไดถ้ ูกตอ้ งตามเงอ่ื นไข 2. สามารถทดสอบและอธบิ ายการทางานได้ …………………… คะแนน ถูกตอ้ ง รวมคะแนนภาคปฏิบตั ิ หน่วยท่ี 5 : การอ่านคา่ แอนนาลอ๊ ก
เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 113 การทดลองท่ี 5.3 การอ่านค่าแอนนาลอ๊ ก จากตวั รบั แสง LDR รปู ท่ี 5.4 รปู แบบการต่อวงจรการทดลองท่ี 5.3 ขนั้ ตอนการทดลอง 1. ต่อวงจรตามรปู ท่ี 5.4 2. เขยี นโปรแกรมรบั ค่าจาก LDR 2.1 ใชค้ าสงั่ if… else if… else 2.2 เงอ่ื นไขแสดงขอ้ ความแบง่ เป็น 4 ระดบั ออกทาง Serial Monitor ประเมินผลการทดลอง 1. สามารถเขยี นโปรแกรมไดถ้ กู ตอ้ งตามเงอ่ื นไข 10 คะแนน 2. สามารถทดสอบและอธบิ ายการทางานได้ 10 คะแนน ถกู ตอ้ ง …………………..… คะแนน รวมคะแนนภาคปฏิบตั ิ หน่วยท่ี 5 : การอ่านค่าแอนนาลอ๊ ก
เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 114 เฉลยแบบทดสอบก่อนเรียน 5. ก 10. ง หน่วยท่ี 5 การอ่านค่าแอนนาลอ๊ ก 1. ค 2. ค 3. ค 4. ค 6. ก 7. ค 8. ค 9. ค เฉลยแบบทดสอบหลงั เรียน 5. ข 10. ค หน่วยที่ 5 การอ่านค่าแอนนาลอ๊ ก 1. ก 2. ง 3. ข 4. ข 6. ง 7. ก 8. ง 9. ข เฉลยแบบฝึ กหดั 5. ง หน่วยที่ 5 การอ่านค่าแอนนาลอ๊ ก ตอนท่ี 1 จงเลือกคาตอบที่ถกู ท่ีสดุ เพียงข้อเดียว 1. ค 2. ข 3. ก 4. ง 6. ก 7. ง 8. ก หน่วยท่ี 5 : การอ่านค่าแอนนาลอ๊ ก
Search
Read the Text Version
- 1 - 19
Pages: