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 370_Kittipong_Media_02

370_Kittipong_Media_02

Published by sr.seksan, 2021-05-26 12:09:20

Description: 370_Kittipong_Media_02

Search

Read the Text Version

ไมโครคอนโทรลเลอร์ อาจารยเ์ สกสรร ศรจี ันทร์

ไมโครคอนโทรลเลอร์ (Microcontroller)  อุปกรณค์ วบคมุ ขนาดเลก็ ซ่งึ บรรจคุ วามสามารถทค่ี ลา้ ยคลึงกับระบบ คอมพิวเตอร์ โดยในไมโครคอนโทรลเลอรไ์ ด้รวมเอาซพี ยี ู หนว่ ยความจา และ พอรต์ ซง่ึ เปน็ สว่ นประกอบหลักสาคญั ของระบบคอมพวิ เตอร์เขา้ ไว้ดว้ ยกนั

ไมโครคอนโทรลเลอร์ (Microcontroller) โครงสร้างภายในไมโครคอนโทรลเลอร์

ไมโครโปรเซสเซอร์ (Microprocesser) อปุ กรณ์ประมวลผลขนาดเล็ก แต่การใชง้ านแตกต่างกับไมโครคอนโทรลเลอร์ ตรงที่ การนาไมโครโปรเซสเซอรไ์ ปใช้งานจะต้องต่อหนว่ ยความจาและวงจร กาเนดิ สญั ญาณนาฬิกาเพมิ่ เติม แตไ่ มโครคอนโทรลเลอร์นนั้ นาไปใช้งานได้เลย

ไมโครคอนโทรลเลอร์ (Microcontroller) องคป์ ระกอบภายใน

ภาษาท่ใี ช้กบั ไมโครคอนโทรลเลอร์ ภาษาเครื่อง ภาษาเครื่อง (Machine Language) เปน็ ภาษาทอ่ี ยู่ในรปู แบบของรหสั เลขฐานสอง ไมโครคอนโทรลเลอร์สามารถเขา้ ใจภาษานไ้ี ดท้ นั ที โดยไมต่ ้องผ่านกระบวนการแปล แต่ เปน็ ภาษาทีย่ ากตอ่ การเรยี นรู้ เพราะอยใู่ นรปู แบบของเลขฐานสอง

ภาษาท่ใี ช้กบั ไมโครคอนโทรลเลอร์ ภาษาเคร่อื ง

ภาษาทใ่ี ช้กับไมโครคอนโทรลเลอร์ ภาษา Assembly ภาษา Assembly สร้างขนึ้ มาเพื่อใหก้ ารเขยี นโปรแกรมงา่ ยข้นึ ภาษา assembly ใชค้ าในภาษาองั กฤษ แทนรหัสเลขฐานสอง ในภาษาเคร่ือง ดังน้ันในการใชง้ าน จะตอ้ งผ่านการแปลจากภาษา Assembly เปน็ ภาษาเครื่องกอ่ น

ภาษาที่ใช้กับไมโครคอนโทรลเลอร์ ภาษา Assembly

ภาษาทใ่ี ช้กับไมโครคอนโทรลเลอร์ Compilers compiler คือ ภาษาระดบั สูงซึ่งทาหนา้ ทแี่ ปลโปรแกรมท่เี ขียนข้ึนมาทง้ั หมดใหเ้ ป็นภาษา เครือ่ ง จากน้นั จึงนาเอาโปรแกรมท่แี ปลเสรจ็ แลว้ เข้าไปเกบ็ ในหนว่ ยความจา หลังจากนน้ั จึงส่งั ให้ ไมโครคอนโทรลเลอรป์ ฏบิ ตั ิตามคาสั่งน้ันๆ ทาให้การทางานไดเ้ ร็วขนึ้ ตัวอย่างเชน่ ภาษา C

ภาษาท่ใี ช้กบั ไมโครคอนโทรลเลอร์ Compilers

Arduino

Arduino  Arduino อา่ นวา่ (อา-ดู-อิ-โน่ หรอื อาดุยโน่)  เปน็ บอรด์ ไมโครคอนโทรเลอรต์ ระกลู AVR 8bit ท่ีมีการพฒั นาแบบ Open Source  สามารถตอ่ วงจรอิเลก็ ทรอนิคสจ์ ากภายนอกแลว้ เชอ่ื มตอ่ เขา้ มาทข่ี า I/O ของบอร์ด  มี Shield หรือ Break out จากหลากหลายบรษิ ทั และหลากการใชง้ าน เชน่ Music Shield, Relay Shield, Wireless Shield, GPRS Shield  Arduino ใชพ้ ้ืนฐานภาษา C และ C++ ในการเขียนโปรแกรม

Arduino Arduino UNO R3

Arduino

Arduino

Arduino

หนา้ ที่ตา่ งๆของอปุ กรณบ์ นบอรด์ Arduino UNO R3

ข้อมลู และขอ้ จากัดของบอร์ด Arduino UNO R3  Microcontroller ATmega328  Operating Voltage 5V  Input Voltage (recommended) 7-12V  Input Voltage (limits) 6-20V  Digital I/O Pins 14 (of which 6 provide PWM output)  Analog Input Pins 6  DC Current per I/O Pin 40 mA  DC Current for 3.3V Pin 50 mA  Flash Memory 32 KB (ATmega328) of which 0.5 KB used by bootloader  SRAM 2 KB (ATmega328)  EEPROM 1 KB (ATmega328)  Clock Speed 16 MHz

โครงสร้างของโปรแกรม Arduino สาหรบั ภาษาของ Arduino จะแบ่งออกเปน็ 2 สว่ น คอื 1. ฟงั กช์ นั่ setup() 2. ฟังกช์ ่นั loop()

ฟังก์ชนั่ setup() จะทางานเพียงครงั้ เดยี วเพอ่ื ใช้กาหนดค่าในตอนโปรแกรมเริม่ ตน้ ทางาน ซงึ่ อาจจะใชใ้ นการกาหนดคา่ เร่มิ ต้นการทางานให้กับตัวแปร การ ทางานของขาตา่ งๆ กาหนดลกั ษณะการสือ่ สารข้อมลู แบบอนุกรม หรือ การทางานอ่ืนๆ ในการเรียกใช้ไลบราร่เี ปน็ ต้น

ฟงั ก์ชั่น loop() เปน็ สว่ นที่ประกอบด้วยชดุ คาส่งั ของโปรแกรมทท่ี างาน ที่จะทางานสนตอนเนื่อง อยู่ตลอดเวลา เชน่ ประมวลผลทางลอจิกหรืคณติ ศาสตร์ การอา่ นคา่ จากอินพุต ทเ่ี ปน็ สวิตชเ์ พอ่ื ตรวจสอบการตรวจสอบการกดสวิตช์ หรือสง่ ออกไปเอาตพ์ ตุ เพ่อื แสดงผล เป็นตน้ ถ้าโปรแกรมมเี ฉพาะฟังกช์ ่ัน setup() โดยไม่มใี นสว่ นของ ฟงั ก์ช่นั loop() น้ี กจ็ ะเสมอื นกับว่า ต้องการให้โปรแกรมทางานเพยี งรอบเดยี ว แลว้ จบการทางาน

โครงสร้างของโปรแกรม Arduino

คาสงวนต่างๆของ Arduino ในโปรแกรมภาษาซขี อง Arduino นนั้ จะมี ประโยค หรือคาสงั่ ทีก่ าหนดข้นึ มาใช้งาน ไว้แลว้ จานวนหน่ึง เม่อื ผู้ใช้ตอ้ งการจะประกาศ สร้างตวั แปร หรอื สร้างคาส่ัง หรือ ฟังกช์ ันต่างๆ ข้นึ มาใชง้ านเอง กต็ อ้ งไม่ตั้งชอื่ ใหซ้ ้ากับชอื่ ของคาสงั่ ทมี่ อี ยแู่ ล้วของ Arduino อีก ซึง่ คาสง่ั ท่ี Arduino กาหนดขน้ึ เพื่อใชง้ านเป็นการเฉพาะไว้แล้วน้ันจะถอื เป็น คาสงวน ท่ีหา้ มไมใ่ หผ้ ู้ใชท้ าการประกาศขน้ึ มาใช้งานใหมอ่ ีก เพราะจะไปซา้ กับคาสง่ั เดมิ ที่มีอยแู่ ลว้ นนั่ เอง ซ่ึงคาสงวนของ Arduino



ชนดิ และประเภทของตวั แปร  ตวั แปร คอื ภาชนะสาหรบั บรรจุส่งิ ของ  ข้อมูล คือ สิง่ ของทีเ่ รา ต้องการจะเก็บ เราจาเปน็ ตอ้ งเลอื กชนดิ ของ ภาชนะให้มคี วามเหมาะสมทจ่ี ะใชเ้ กบ็ ส่ิงของ  ซ่ึงส่ิงแรกท่ตี อ้ งพจิ ารณาคอื เราจะต้องรู้จกั คณุ สมบตั ขิ องสิง่ ของที่ ต้องการจะจดั เก็บ และ จดุ ประสงค์ การใชง้ าน

ชนิดและประเภทของตัวแปร ในภาษาซนี ั้นมกี ารกาหนด และ จาแนก ชนิดของตัวแปร ไวเ้ ปน็ 5 ชนิดดว้ ยกัน โดยแตล่ ะ ชนิดจะมี คุณสมบตั ิการใช้งานที่ต่างกนั เพ่อื ใช้ในการเก็บขอ้ มูลทม่ี ีรูปแบบแตกตา่ งกัน Char ใชเ้ ก็บข้อมลู ทเี่ ป็นอักษร (character) ใชเ้ กบ็ ข้อมูลทเ่ี ป็นตัวเลขจานวนเต็มได้ 256 ค่า int ใชเ้ กบ็ ขอ้ มูลทเี่ ปน็ เลขจานวนเต็ม (integer) ใช้เกบ็ ข้อมลู ท่เี ปน็ เลขจานวนเตม็ ได้ 65536 ค่า Float ใชเ้ กบ็ ข้อมลู ที่เปน็ เลขทศนิยมแบบ Single Precision Double ใช้เก็บขอ้ มูลทีเ่ ป็นเลขทศนยิ มแบบ Double Precision void ใชเ้ ก็บตวั แปรทไี่ มม่ ีค่า

ชนดิ และประเภทของตัวแปร

ชนดิ และประเภทของตัวแปร

ชนดิ และประเภทของตัวแปร


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