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 อิเล็กทรอนิกส์และเทคโนโลยีคอมพิวเตอร์

อิเล็กทรอนิกส์และเทคโนโลยีคอมพิวเตอร์

Published by kan bunlengkhong, 2019-06-10 12:03:51

Description: อิเล็กทรอนิกส์และเทคโนโลยีคอมพิวเตอร์

Search

Read the Text Version

บ1ทที่ 2 คออิเมลพ็กทิวเรตออนริก์ใสนค์แชอลีวมะิตพเปทิวครเตะโอนจรโำ�ล์ใวนยันชีคีวอิตมปพริวะเตจำอ�วรั์น บทที่ 21 11

บทท่ี 12 อคิอเลม็กพทิวรเอตนอริก์ใสน์แชลีวะิตเทปคระโนจโำ�ลวยันีคอมพิวเตอร์ 2 2

บ3ทท่ี 2 คออิเมลพ็กทิวเรตออนริก์ใสนค์แชอลีวมะิตพเปทิวครเตะโอนจรโำ�ล์ใวนยันชีคีวอิตมปพริวะเตจำอ�วรั์น บทท่ี 21 คำ�น�ำ การเรียบเรียงเอกสารประกอบการสอนรายวชิ าอเิ ล็กทรอนกิ สแ์ ละ เทคโนโลยคี อมพวิ เตอร์ เปน็ สว่ นหนง่ึ ของการจดั การเรียนการสอนใน รายวชิ าเทคโนโลยสี ่อื สิง่ พิมพ์ เรียบเรียงโดยนิสติ หลกั สูตรศลิ ปะศาสตรบ์ ัณฑิต (เทคโนโลยสี ่อื สารการศึกษา คณะศึกษาศาสตร์ มหาวิทยาลัยนเรศวร) ผเู้ รียบเรียงหวงั วา่ การเรยี บเรียงคร้งั นม้ี ปี ระโยชนต์ ่อผู้สนใจไม่มากก็น้อย 33

บทท่ี 12 อคิอเลม็กพทิวรเอตนอริก์ใสน์แชลีวะิตเทปคระโนจโำ�ลวยันีคอมพิวเตอร์ 4 สารบญั เร่ือง - Arduino คอื อะไร - Arduino ทำ�อะไรได้ ? - สิง่ ทีท่ �ำ ให้ Arduino นา่ สนใจ ? - Arduino IDE วธิ ีติดตัง้ (Windows) - สร้างโปรแกรมภาษา C บน Arduino - ตวั อยา่ งการเขยี นโค้ด arduino ไฟจราจร 4

บ5ทท่ี 2 คออิเมลพ็กทิวเรตออนริก์ใสนค์แชอลีวมะิตพเปทิวครเตะโอนจรโำ�ล์ใวนยันชีคีวอิตมปพริวะเตจำอ�วรั์น บทท่ี 21 Arduino คืออะไร Arduino เปน็ ภาษาอิตาลี อ่านว่า อาดุอีโน่ (ฟงั การออกเสยี ง ได้ท่ีท้ายบทความ) ส่วนคนทว่ั ไปทไ่ี ม่ใช่คนอติ าลผี มว่าออกเสียง ว่า อาดยุ โน่ กพ็ อแลว้ ครบั , Arduino คือ Open- Source Platform สาหรบั การสร้างตน้ แบบทางอเิ ลก็ ทรอนิกส์ โดยมีจุดม่งุ หมายให้ Arduino Platform เป็น Platform ท่ีงา่ ยต่อ การใชง้ าน, โดย Arduino Platform ประกอบไปด้วย 1. สว่ นทเี่ ป็นฮารด์ แวร์ (Hardware) บอรด์ อิเล็กทรอนิกส์ขนาดเลก็ ท่ีมไี มโครคอนโทรลเลอร์ (MCU) เปน็ ช้นิ ส่วนหลัก ถกู นามาประกอบรว่ มกบั อุปกรณ์ อเิ ลก็ ทรอนกิ ส์อื่นๆ เพ่ือใหง้ ่ายตอ่ การใช้งาน หรือทเ่ี รยี กกัน วา่ บอรด์ Arduino, โดยบอร์ด Arduino เองก็มหี ลายร่นุ ให้เลอื กใช้ โดยในแต่ละรนุ่ อาจมคี วามแตกต่างกันในเรือ่ งของขนาดของบอร์ด หรือสเปค เชน่ จานวนของขารบั สง่ สัญญาณ, แรงดันไฟที่ใช้, ประสทิ ธิภาพ ของ MCU เป็นตน้ (สามารถเปรียบเทียบ และดสู เปคคร่าวๆ ของ Arduino แตล่ ะ รุ่นได้ที่ 55

บทท่ี 12 อคิอเลม็กพทิวรเอตนอริก์ใสน์แชลีวะิตเทปคระโนจโำ�ลวยันีคอมพิวเตอร์ 6 2. สว่ นท่ีเปน็ ซอฟตแ์ วร์ (Software) ภาษา Arduino (ซึ่งจริงๆ แล้วก็คือ ภาษา C/C++) ใชส้ าหรบั เขียน โปรแกรมควบคุม MCU Arduino IDE เปน็ เคร่ืองมือสาหรบั เขียนโปรแกรมด้วยภาษา Arduino, คอมไพล์โปรแกรม (Compile) และอัปโหลดโปรแกรม ลงบอรด์ (Upload) 6

บ7ทที่ 2 คออิเมลพ็กทิวเรตออนริก์ใสนค์แชอลีวมะิตพเปทิวครเตะโอนจรโำ�ล์ใวนยันชีคีวอิตมปพริวะเตจำอ�วรั์น บทที่ 21 Arduino ทาอะไรได้ ? Arduino ถกู ใช้ประโยชนใ์ นลักษณะเดยี วกับ MCU คอื ใช้ ตดิ ต่อสื่อสารและควบคมุ อุปกรณ์ไฟฟา้ อ่ืนๆ ด้วยการเขียน โปรแกรมใหก้ ับ MCU เพ่ือควบคุมการรบั สง่ สญั ญาณทางไฟฟ้าตาม เงอื่ นไขต่างๆ ตวั อย่าง การประยกุ ต์ใช้ Arduino ในชีวติ ประจาวนั เชน่ ระบบ เปดิ /ปดิ ไฟในบา้ นอัตโนมตั ิ, ระบบรดน้าต้นไม้อัตโนมัติ, ระบบเปิด/ ปดิ ประตูอัตโนมตั ิ, ระบบเครื่องซกั ผา้ หยอดเหรียญ หรือ ใช้ควบคมุ ความเร็ว และทศิ ทางการหมุนของคุมมอเตอร์ เปน็ ต้น Arduino Official Board กับ Compatible Board ต่างกัน อยา่ งไร ? Arduino เปน็ บอรด์ อเิ ล็กทรอนิกสท์ ี่ Open-Source ฮารด์ แวร์ นั่น คือเปดิ เผยแบบแปลนในการผลติ ทาใหใ้ ครๆ กส็ ามารถผลติ หรอื สรา้ งบอรด์ Arduino ข้นึ มาจาหน่ายได้ (แต่มขี ้อแม้ว่าหา้ มใชช้ ่อื บอร์ดวา่ Arduino) ดงั นน้ั บอร์ด Arduino จงึ มผี ้ผู ลติ ออกมา จาหนา่ ยมากมาย โดยแบ่งประเภทของบอรด์ Arduino จาก แหล่งท่ีมาท่ีต่างกันได้เป็น 2 ประเภท ดังนี้ 77

บทที่ 12 อคิอเลม็กพทิวรเอตนอริก์ใสน์แชลีวะิตเทปคระโนจโำ�ลวยันีคอมพิวเตอร์ 8 Official Board หรอื บอรด์ ท่ีผลติ โดยตน้ ตารบั ผลติ จากประเทศ อติ าลี “บอร์ดจะถกู ผลติ ดว้ ยความประณตี สวยงาม อปุ กรณ์แตล่ ะ ชิ้นได้มาตรฐาน ผ่านการตรวจเช็คความสมบรู ณ์ของสนิ ค้าอย่างดี กอ่ นออกจาหนา่ ย” (ตรงเคร่ืองหมายคาพูดน้ี ความรสู้ กึ สว่ นตัว ลว้ นๆ ครบั ) Compatible Board หรอื บอร์ดทเ่ี ข้ากันได้ (ใชแ้ ทน Official Board ได)้ ซง่ึ ไมไ่ ด้ถูกผลิตโดยตน้ ตารับ แต่อาจถกู ผลติ ข้นึ มาตาม แบบแปลนแป๊ะๆ หรอื อาจผลิตใหใ้ กล้เคียงกบั แบบแปลนจากตน้ ตารบั โดยอาจมีการปรับน่นู นิด ปรับนห่ี นอ่ ยบา้ ง เพ่ือลดต้นทนุ หรือเพ่ือเพิ่มความสามารถ บอรด์ ประเภทนสี้ ่วนมากผลติ ท่ีจนี ครบั คณุ ภาพใช้ได้ และราคาถูก เหมาะกบั การเอามาศึกษาในระดบั ผู้ เร่ิมต้น ซึง่ ถ้าเทียบราคากันในรุ่น Arduino UNO R3 ราคาของ Official Board จะอยูท่ ี่ราวๆ 800 บาท ส่วน Compatible Board จะอยูท่ ีร่ าวๆ 200 บาท เทา่ นัน้ เองครบั 8

บ9ทที่ 2 คออิเมลพ็กทิวเรตออนริก์ใสนค์แชอลีวมะิตพเปทิวครเตะโอนจรโำ�ล์ใวนยันชีคีวอิตมปพริวะเตจำอ�วรั์น บทที่ 21 สง่ิ ที่ทาให้ Arduino นา่ สนใจ ? Arduino กาลงั เป็นทน่ี ิยม และเป็นที่สนใจ สาหรับนัก อิเลก็ ทรอนกิ ส์ทั้งมือใหม่ และมือเก่า ทาใหเ้ ราสามารถหาอ่านคมู่ ือ วิธีใช้ วธิ ีแกป้ ัญหาตา่ งๆ ได้งา่ ยบนอนิ เทอร์เน็ต Arduino พร้อมใชง้ านทนั ที เพราะบอรด์ Arduino ติดตง้ั อุปกรณ์ จาเป็นพื้นฐานมาให้หมดแล้ว (ตา่ งจาก MCU เปลา่ ๆ ทต่ี ้องซื้อ อุปกรณจ์ าเป็นอ่นื ๆ มาติดต้ังเพิ่มเตมิ ) Arduino สามารถเขยี นโปรแกรมส่งั งานดว้ ยไวยากรณภ์ าษา C/C++ ซง่ึ งา่ ยสาหรบั ผทู้ ม่ี พี ้ืนฐานดา้ นการเขยี นโปรแกรมอยบู่ า้ ง แล้ว แตส่ าหรบั ผูท้ ี่ไมเ่ คยเขยี นโปรแกรมมาก่อนเลย ก็สามารถ เรม่ิ ตน้ ศึกษา และหาหนังสอื อ่านไดไ้ มย่ าก นอกจากนย้ี ังมีไลบรารี (Library) ให้เลือกใชม้ ากมาย ทาให้การเขียนโปรแกรมทาได้งา่ ย และรวดเรว็ ขึ้นครบั Arduino ราคาไมแ่ พงเกนิ ไปสาหรับผทู้ อี่ ยากจะเร่ิมตน้ ใชง้ าน การอปั โหลดโปรแกรมท่ีเขียนบนคอมพิวเตอร์ลงไปที่ Arduino ก็ ทาได้โดยง่าย แคใ่ ช้สาย USB ต่อบอรด์ Arduino เขา้ กบั คอมพิวเตอร์ แลว้ อัปโหลดดว้ ยโปรแกรม Arduino IDE เท่าน้นั เอง ครับ 99

บทที่ 12 อคิอเลม็กพทิวรเอตนอริก์ใสน์แชลีวะิตเทปคระโนจโำ�ลวยันีคอมพิวเตอร์ 10 Arduino IDE วธิ ตี ิดตงั้ (Windows) IDE (Integrated Development Environment) คือซอฟตแ์ วร์ เครื่องมือสาหรบั พัฒนาโปรแกรม ซง่ึ มสี ง่ิ อานวยความสะดวกตา่ ง ๆ เชน่ RUN, Compile, DEBUG ซ่ึงมี GUI ทถ่ี กู ออกแบบมาให้มี สภาวะแวดล้อม (Environment) เหมาะสมการพฒั นาโปรแกรม โดยหน้าท่หี ลกั ของ IDE คอื การเขยี นไฟล์ เปดิ ไฟล์ บัญทึกไฟล์ ทดสอบการทางาน จัดเตรยี มข้อมูล รวมถึง จัดการ Directory สาหรบั ภาษาน้นั ๆ ทร่ี องรบั Arduino IDE คอื ซอฟตแ์ วร์เครื่องมือสาหรบั พฒั นาโปรแกรมด้วย ภาษา C / C++ สาหรบั ควบคมุ บอรด์ Arduino และเครื่องมือตา่ ง ๆ ที่จาเป็นสาหรับใชง้ านบอร์ด Arduino เช่น Serial Monitor, Compile, Libraries ฯลฯ แตก่ ่อนอน่ื เราไปดูวิธีตดิ ตั้งสาหรับใช้ งานกันก่อนนะครับ 10

บ1ท1ท่ี 2 คออิเมลพ็กทิวเรตออนริก์ใสนค์แชอลีวมะิตพเปทิวครเตะโอนจรโำ�ล์ใวนยันชีคีวอิตมปพริวะเตจำอ�วรั์น บทท่ี 21 1. ค้นหาคาว่า Arduino IDE บน Google 11 11

บทท่ี 12 อคิอเลม็กพทิวรเอตนอริก์ใสน์แชลีวะิตเทปคระโนจโำ�ลวยันีคอมพิวเตอร์ 12 2. จากนน้ั เขา้ สู่เวบ็ ไซต์ www.arduino.cc จะปรากฏลงิ้ สาหรบั ดาวโหลด ใหเ้ ลือกตามระบบปฏบิ ัติการทต่ี อ้ งการใช้ งาน 12

บ1ท3ท่ี 2 คออิเมลพ็กทิวเรตออนริก์ใสนค์แชอลีวมะิตพเปทิวครเตะโอนจรโำ�ล์ใวนยันชีคีวอิตมปพริวะเตจำอ�วรั์น บทท่ี 12 3. กดดาวน์โหลดโดยกดที่ JUST DOWNLOAD 13 13

บทท่ี 12 อคิอเลม็กพทิวรเอตนอริก์ใสน์แชลีวะิตเทปคระโนจโำ�ลวยันีคอมพิวเตอร์ 14 4. รอจนดาวน์โหลดเสรจ็ สิ้น 14

บ1ท5ท่ี 2 คออิเมลพ็กทิวเรตออนริก์ใสนค์แชอลีวมะิตพเปทิวครเตะโอนจรโำ�ล์ใวนยันชีคีวอิตมปพริวะเตจำอ�วรั์น บทที่ 12 5. จะไดไ้ ฟลส์ าหรบั ติดต้ังโปรแกรม Arduino IDE 15 15

บทท่ี 12 อคิอเลม็กพทิวรเอตนอริก์ใสน์แชลีวะิตเทปคระโนจโำ�ลวยันีคอมพิวเตอร์ 16 6. เปดิ ไฟลต์ ดิ ตัง้ ข้นึ มาจะปรากฏหน้าตา่ งสาหรับติดตั้ง กด I Agree 16

บ1ท7ท่ี 2 คออิเมลพ็กทิวเรตออนริก์ใสนค์แชอลีวมะิตพเปทิวครเตะโอนจรโำ�ล์ใวนยันชีคีวอิตมปพริวะเตจำอ�วรั์น บทท่ี 21 7. กด Next เพื่อไปส่ขู ้นั ตอนถัดไป 17 17

บทท่ี 12 อคิอเลม็กพทิวรเอตนอริก์ใสน์แชลีวะิตเทปคระโนจโำ�ลวยันีคอมพิวเตอร์ 18 8. เลอื กทตี่ ดิ ตั้งโปรแกรมจากนั้น กด Install 18

บ1ท9ท่ี 2 คออิเมลพ็กทิวเรตออนริก์ใสนค์แชอลีวมะิตพเปทิวครเตะโอนจรโำ�ล์ใวนยันชีคีวอิตมปพริวะเตจำอ�วรั์น บทที่ 21 9. รอการตดิ ตงั้ 19 19

บทที่ 12 อคิอเลม็กพทิวรเอตนอริก์ใสน์แชลีวะิตเทปคระโนจโำ�ลวยันีคอมพิวเตอร์ 20 10. กด Install เพ่อื ตดิ ต้ัง Adafruit Industries LLC Ports 20

บ2ท1ที่ 2 คออิเมลพ็กทิวเรตออนริก์ใสนค์แชอลีวมะิตพเปทิวครเตะโอนจรโำ�ล์ใวนยันชีคีวอิตมปพริวะเตจำอ�วรั์น บทที่ 21 11. กด Install เพ่ือติดตง้ั Arduino USB Driver srl 21 21

บทท่ี 12 อคิอเลม็กพทิวรเอตนอริก์ใสน์แชลีวะิตเทปคระโนจโำ�ลวยันีคอมพิวเตอร์ 22 12. กด Install เพอื่ ติดต้ัง Arduino USB Driver LLC 22

บ2ท3ที่ 2 คออิเมลพ็กทิวเรตออนริก์ใสนค์แชอลีวมะิตพเปทิวครเตะโอนจรโำ�ล์ใวนยันชีคีวอิตมปพริวะเตจำอ�วรั์น บทท่ี 12 13. รอจนแสดงคาวา่ Completed เปน็ อนั เสร็จส้นิ การ ติดตง้ั จากนัน้ กด Close เพ่อื ปิด 23 23

บทท่ี 12 อคิอเลม็กพทิวรเอตนอริก์ใสน์แชลีวะิตเทปคระโนจโำ�ลวยันีคอมพิวเตอร์ 24 14. จะไดไ้ อคอน Arduino บนหนา้ จอ 15. ทดสอบเปิดโปรแกรมจะได้หนา้ ต่างดังรูป 24

บ2ท5ที่ 2 คออิเมลพ็กทิวเรตออนริก์ใสนค์แชอลีวมะิตพเปทิวครเตะโอนจรโำ�ล์ใวนยันชีคีวอิตมปพริวะเตจำอ�วรั์น บทท่ี 21 25 25

บทท่ี 12 อคิอเลม็กพทิวรเอตนอริก์ใสน์แชลีวะิตเทปคระโนจโำ�ลวยันีคอมพิวเตอร์ 26 สรา้ งโปรแกรมภาษา C บน Arduino จะมลี กั ษณะแบบเดยี วกับ C ทั่วๆไป แตส่ าหรับคนทยี่ ังไมเ่ คยเรียนร้กู ารเขยี นโปรแกรมภาษา ใดๆมาก่อน ทา่ นตอ้ งทาความเขา้ ใจในเร่ืองตา่ งๆดังนี้ 1. ปรีโปรเซสเซอรไ์ ดเรก็ ทฟี (Preprocessor directives) 2. สว่ นของการกาหนดคา่ (Global declarations) 3. ฟงั กช์ ่ัน setup() และ ฟังก์ชนั่ loop() 4. การสร้างฟังก์ชน่ั และการใชง้ านฟงั ก์ชน่ั (Users-defined function) 5. สว่ นอธิบายโปรแกรม (Progarm comments) 1. ปรโี ปรเซสเซอรไ์ ดเรก็ ทฟี (Preprocessor directives) โดยปกติแลว้ เกือบทุกโปรแกรมต้องมี โดยสว่ นนจ้ี ะเป็นส่วนท่คี อม ไพลเลอรจ์ ะมีการประมวลผลและทาตามคาสั่งก่อนที่จะมีการ คอมไพลโ์ ปรแกรม ซึ่งจะเร่มิ ต้นดว้ ยเครื่องหมายไดเร็กทีฟ (directive) หรือเครื่องหมายส่เี หลีย่ ม # แล้วจึงตามดว้ ยชอ่ื คาสง่ั ที่ ต้องการเรียกใช้ หรอื กาหนด โดยปกตแิ ล้วสว่ นนี้จะอยใู่ นส่วนบน 26

บ2ท7ที่ 2 คออิเมลพ็กทิวเรตออนริก์ใสนค์แชอลีวมะิตพเปทิวครเตะโอนจรโำ�ล์ใวนยันชีคีวอิตมปพริวะเตจำอ�วรั์น บทท่ี 12 สุด หรอื สว่ นหวั ของโปรแกรม และตอ้ งอยู่นอกฟงั กช์ น่ั หลกั ใดๆก็ ตาม #include เป็นคาสง่ั ท่ีใชอ้ า้ งอิงไฟล์ภายนอก เพ่ือเรยี กใช้ฟังก์ชัน่ หรอื ตวั แปรที่มีการสรา้ งหรือกาหนดไว้ในไฟลน์ นั้ รปู แบบการใช้ งานคอื #include <ชอ่ื ไฟล.์ h> ตัวอย่างเช่น #include <Wire.h> #include <Time.h> จากตัวอย่าง จะเหน็ ว่าได้มีการอ้างอิงไฟล์ Wire.h และไฟล์ Time.h ซึง่ เป็นไลบารี่พน้ื ฐานทีม่ ีอยู่ใน Arduino ทาให้เราสามารถ ใชฟ้ ังก์ชนั่ เกี่ยวกบั เวลาที่ไลบารี่ Time มกี ารสรา้ งไวใ้ ห้ใชง้ านได้ การอา้ งอิงไฟลจ์ ากภายใน หรือการอ้างองิ ไฟลไ์ ลบาร่ีที่มีอยู่แล้วใน Arduino หรอื เปน็ ไลบารีท่ ีเ่ ราเพิม่ เขา้ ไปเอง จะใช้เคร่ืองหมาย <> ในการคร่อมชื่อไฟลไ์ ว้ เพื่อให้โปรแกรมคอมไพลเลอร์เขา้ ใจว่าควร ไปหาไฟลเ์ หลา่ นจ้ี ากในโฟลเดอรไ์ ลบารี่ แตห่ ากต้องการอ้างอิงไฟล์ 27 27

บทที่ 12 อคิอเลม็กพทิวรเอตนอริก์ใสน์แชลีวะิตเทปคระโนจโำ�ลวยันีคอมพิวเตอร์ 28 ท่ีอยใู่ นโฟลเดอรโ์ ปรเจค จะต้องใชเ้ ครื่อหมาย \"\" ครอ่ มแทน ซึง่ คอมไพลเ์ ลอร์จะวงิ้ ไปหาไฟล์น้โี ดยอ้างอิงจากไฟลโ์ ปรแกรมท่ี คอมไพลเ์ ลอรอ์ ยู่ เช่น #include \"myFunction.h\" จากตวั อย่างด้านบน คอมไพล์เลอร์จะวงิ้ ไปหาไฟล์ myFunction.h ภายในโฟลเดอรโ์ ปรเจคทนั ที หากไม่พบกจ็ ะแจ้งเปน็ ข้อผดิ พลาด ออกมา #define เป็นคาสั่งที่ใช้ในการแทนข้อความท่ีกาหนดไว้ ดว้ ย ขอ้ ความท่กี าหนดไว้ ซง่ึ การใชค้ าสงั่ น้ี ข้อดีคือจไม่มีการอ้างอิงกับ ตวั โปรแกรมเลย รปู แบบ #define NAME VALUE ตวั อยา่ งเช่น #define LEDPIN 13 28

บ2ท9ท่ี 2 คออิเมลพ็กทิวเรตออนริก์ใสนค์แชอลีวมะิตพเปทิวครเตะโอนจรโำ�ล์ใวนยันชีคีวอิตมปพริวะเตจำอ�วรั์น บทท่ี 12 จากตัวอยา่ ง ไมว่ า่ คาวา่ LEDPIN จะอยสู่ ว่ นใดของโค้ดโปรแกรมก็ ตาม คอมไพลเ์ ลอรจ์ ะแทนคาวา่ LEDPIN ด้วยเลข 13 แทน ซึง่ ขอ้ ดี คือเราไม่ต้องสร้างเปน็ ตัวแปรขนึ้ มาเพ่อื เปลืองพนื้ ท่แี รม และยัง ชว่ ยใหโ้ ปรแกรมทางานเรว็ ขึ้นอกี ด้วยเพราะซีพยี ูไมต่ ้องไปขอข้อมลู มาจากแรมหลายๆทอด 2. ส่วนของการกาหนดค่า (Global declarations) สว่ นนีจ้ ะเป็นสว่ นทใี่ ช้ในการกาหนดชนดิ ตวั แปรแบบนอกฟังกช์ ั่น หรอื ประกาศฟงั กช์ ่นั เพื่อให้ฟังก์ช่นั ท่ีประกาศสามารถกาหนด หรือ เรียกใชไ้ ด้จากทุกส่วนของโปรแกรม เช่น int pin = 13; void blink(void) ; 29 29

บทท่ี 12 อคิอเลม็กพทิวรเอตนอริก์ใสน์แชลีวะิตเทปคระโนจโำ�ลวยันีคอมพิวเตอร์ 30 3. ฟงั ก์ชนั่ setup() และฟงั กช์ นั่ loop() ฟงั ก์ชน่ั setup() และฟังก์ช่นั loop() เปน็ คาส่งั ที่ถกู บังคบั ใหต้ ้องมี ในทกุ โปรแกรม โดยฟงั กช์ ่ัน setup() จะเป็นฟงั กช์ ั่นแรกท่ีถูก เรยี กใช้ นิยมใชก้ าหนดค่า หรือเร่ิมต้นใช้งานไลบาร่ตี ่างๆ เชน่ ใน ฟังกช์ ่นั setup() จะมีคาสัง่ pinMode() เพอื่ กาหนดให้ขาใดๆก็ ตามเปน็ ดจิ ิตอลอินพุต หรือเอาตพ์ ุต สว่ นฟังกช์ ั่น loop() จะเป็น ฟงั ก์ชัน่ ที่ทางานหลังจากฟังก์ชนั่ setup() ได้ทางานเสรจ็ ส้ินไปแลว้ และมกี ารวนรอบแบบไม่รูจ้ บ เมอ่ื ฟังก์ช่นั loop() งานครบตาม คาสั่งแลว้ ฟังกช์ ั่น loop() กจ็ ะถกู เรยี กข้นึ มาใช้อีก 30

บ3ท1ท่ี 2 คออิเมลพ็กทิวเรตออนริก์ใสนค์แชอลีวมะิตพเปทิวครเตะโอนจรโำ�ล์ใวนยันชีคีวอิตมปพริวะเตจำอ�วรั์น บทที่ 21 ตวั อย่าง int pin = 13; void setup() { pinMode(pin, OUTPUT); } void loop() { digitalWrite(pin, HIGH); delay(1000); digitalWrite(pin, LOW); delay(1000); } 31 31

บทที่ 12 อคิอเลม็กพทิวรเอตนอริก์ใสน์แชลีวะิตเทปคระโนจโำ�ลวยันีคอมพิวเตอร์ 32 จากตวั อยา่ ง จะเห็นว่ามกี ารประกาศตวั แปรแบบนอกฟังกช์ ั่น ทา ให้สามารถกาหนด หรือเรียกใช้จากในฟังกช์ ่ันใดๆกต็ ามได้ ใน ฟงั ก์ชัน่ setup() ไดม้ ีการกาหนดใหข้ าท่ี 13 เป็นดิจติ อลเอาต์พุต และในฟังก์ชนั่ loop() มีการกาหนดให้พอร์ต 13 มลี อจิกเปน็ 1 และใชฟ้ งั ก์ชั่น delay() ในการหน่วงเวลา 1 วินาที แลว้ จงึ กาหนดให้พอรต์ 13 มสี ถานะลอจกิ เป็น 0 แลว้ จงึ หน่วงเวลา 1 วนิ าที จบฟังก์ช่ัน loop() และจะเร่มิ ทาฟังก์ชน่ั loop() ใหม่ ผลที่ ไดค้ ือไฟกระพรบิ บนบอรด์ Arduino Uno ในพอรต์ ท่ี 13 ทางาน แบบไม่รจู้ บ ในทุกๆการทางานของฟังก์ชั่น จะต้องเร่ิมด้วยการกาหนดค่าท่ี สง่ กลบั ตามดว้ ยชื่อฟังกช์ นั่ แล้วตามดว้ ยเครือ่ งหมายปีกกาเปดิ { และจบดว้ ยเคร่ืองหมายปีกกาปิด ภายในฟังก์ชั่น หากจะเรียก ฟงั ก์ชัน่ ใช้งานย่อยใดๆ จะต้องมเี ครื่องหมาเซมโิ คลอ่ น ; ตอ่ ทา้ ย เสมอ 32

บ3ท3ท่ี 2 คออิเมลพ็กทิวเรตออนริก์ใสนค์แชอลีวมะิตพเปทิวครเตะโอนจรโำ�ล์ใวนยันชีคีวอิตมปพริวะเตจำอ�วรั์น บทที่ 12 ตวั อย่างการเขียนโคด้ arduino ไฟจราจร 1. ตอ่ วงจรตามรปู 2. เขียน Source code โดยบนั ทึกในชอ่ื TrafficLight หรือทา่ น จะบนั ทกึ เปน็ ชอื่ อ่นื กไ็ ดค้ รับ แนะนาใหด้ าวน์โหลด แลว้ พมิ พต์ าม นะครับ จะไดเ้ ป็นการอา่ น Source code ใหเ้ ข้าใจไปในตัว เมอ่ื เสรจ็ แลว้ ก็ทาการ อัพโหลด Sketch ได้เลย 33 33

บทที่ 12 อคิอเลม็กพทิวรเอตนอริก์ใสน์แชลีวะิตเทปคระโนจโำ�ลวยันีคอมพิวเตอร์ 34 34

บ3ท5ที่ 2 คออิเมลพ็กทิวเรตออนริก์ใสนค์แชอลีวมะิตพเปทิวครเตะโอนจรโำ�ล์ใวนยันชีคีวอิตมปพริวะเตจำอ�วรั์น บทที่ 12 3. เม่อื ทาตามทุกขั้นตอนอยา่ งถูกต้อง จะได้ผลลพั ธด์ งั รูปครับ รปู นี้ จงั หวะไฟแดง 35 35

บทท่ี 12 อคิอเลม็กพทิวรเอตนอริก์ใสน์แชลีวะิตเทปคระโนจโำ�ลวยันีคอมพิวเตอร์ 36 4. รูปน้ี จังหวะไฟเหลือง - แดง เหลอื ถ้าท่านอยากใหม้ ีแค่ไฟเหลือง เพียว ๆ กส็ ามารถสง่ สัญญาณ LOW ไปทข่ี า 12 ซง่ึ เป็นขาที่สง่ สญั ญาณไป Led สแี ดง 36

บ3ท7ที่ 2 คออิเมลพ็กทิวเรตออนริก์ใสนค์แชอลีวมะิตพเปทิวครเตะโอนจรโำ�ล์ใวนยันชีคีวอิตมปพริวะเตจำอ�วรั์น บทท่ี 12 5. จังหวะไฟเขียว 37 37

บทที่ 12 อคิอเลม็กพทิวรเอตนอริก์ใสน์แชลีวะิตเทปคระโนจโำ�ลวยันีคอมพิวเตอร์ 38 การควบคมุ การทางานของอินพุทและเอาต์พุท การเชื่อมต่อไมโครคอนโทรลเลอร์ Arduino กบั หลอด LED ไมโครคอนโทรลเลอร์ Arduino Uno ท่พี อรต์ สามารถจา่ ยกระแส เอาต์พตุ โดยกระแสซิงค์และกระแสซอร์ส มีค่าสูงถึง 20 mA สามารถติดต่อและควบคุมอปุ กรณ์ภายนอกได้ดว้ ยตวั มนั เองเชน่ ควบคมุ หลอดไฟฟา้ แบบ LED ขนาด 4 วตั ต์แตใ่ นทางปฏิบตั คิ วรใช้ ไอซีบัฟเฟอร์ (IC Butter) เป็นตวั ขับกระแสโดยภาคอนิ พตุ (Input) ของไอซบี ัฟเฟอรส์ ามารถรับกระแสไม่สูงมากจากภาคเอาต์พุต (Output) ของไมโครคอนโทรลเลอร์ / และถ้าภาคเอาต์พตุ ของไอซี บัฟเฟอรเ์ กิดการลัดวงจรสามารถขบั กระแสได้สูงที่ภาคเอาต์พุตของ ไอซีบัฟเฟอร์ (Short Circuit) ของวงจรไอซบี ัฟเฟอร์กจ็ ะเป็นตวั ป้องกันความเสยี หายให้กบั ไมโครคอนโทรลเลอร์ได้ไอซีบัฟเฟอรท์ ่ี ใช้ทัว่ ไปเช่น IC 74LS245, IC ULN2003, 74HC595 เป็นต้น 38

บ3ท9ท่ี 2 คออิเมลพ็กทิวเรตออนริก์ใสนค์แชอลีวมะิตพเปทิวครเตะโอนจรโำ�ล์ใวนยันชีคีวอิตมปพริวะเตจำอ�วรั์น บทที่ 21 สาหรบั ในบทนี้จะเริ่มการต่อวงจรพ้นื ฐานโดยเป็นการทดลองกบั หลอดไฟ LED ดงั รูปที่ 2. 2 และ 2. 3 ตามลาดบั สาหรับการต่อ อุปกรณ์อนิ พตุ และเอาต์พตุ แบบดิจติ อล (Digital VO) ในวงจร อเิ ลก็ ทรอนิกส์เพื่อให้ทางานตามตอ้ งการนั้นการตอ่ อปุ กรณ์เหล่าน้ี จะมอี ยู่ 2 รปู แบบคือ Active Low หรือ Pull-up และ Active High หรอื Pull-down โดยการตอ่ วงจรของแตล่ ะแบบก็ตา่ งกัน และให้คา่ สัญญาณแบบดจิ ติ อลทต่ี า่ งกันด้วย 39 39

บทท่ี 12 อคิอเลม็กพทิวรเอตนอริก์ใสน์แชลีวะิตเทปคระโนจโำ�ลวยันีคอมพิวเตอร์ 40 จากรูปที่ วงจรน้ีจะทางาน (Active) ในกรณีท่ีสญั ญาณมีค่าตา่ ซึ่ง หมายถงึ สญั ญาณ 0 หรือตอ่ สายสัญญาณลง GND เช่นสวติ ซแ์ บบ Active Low จะใช้ตวั ต้านทานตอ่ ระหวา่ งขา I / O และ Vec (Pull-up Resistor) และจะต่อสวติ ซไ์ ว้ระหวา่ งขา I / O และ GND ในกรณีไม่กดสวติ ซไ์ ฟจาก Vcc จะไปเลี้ยงท่ีขา 10 ตลอดเวลาหรือ สญั ญาณที่ไดจ้ ะมคี า่ เป็น 1 หรอื High เมอ่ื กดสวติ ซข์ า I / O จะถกู ตอ่ ลง GND ซ่งึ จะทาให้สัญญาณทไ่ี ด้รับมคี ่าเป็น 0 หรือ Low นน่ั เองจากรูปท่ี 2. 1 (ข) วงจรนจ้ี ะทางาน (Active) ในกรณที ่ี สญั ญาณมคี ่าสูงซ่งึ หมายถึงสัญญาณ 1 หรอื ตอ่ สายสญั ญาณกบั Vcc เช่นสวิตซแ์ บบ Active High จะใช้ตัวต้านทานต่อระหวา่ งขา I / O และ GND (Pull-down Resistor) และจะต่อสวิตซ์ไว้ระหว่าง ขา i/oและ Vcc ในกรณีไมก่ ดสวิตซไ์ ฟขา 1/0 จะตอ่ กบั GND ตลอดเวลาหรือสญั ญาณที่ได้จะมคี ่าเปน็ 0 หรอื Low เมอ่ื กดสวิตซ์ ขา IO จะถกู ต่อกับ Vcc ซ่งึ จะทาใหส้ ัญญาณท่ีไดร้ ับมีคา่ เป็น 1 หรือ High นั่นเองดังนน้ั สามารถนาวธิ ีการต่ออปุ กรณ์ตา่ งๆซึ่ง อาจจะอยู่ในรูปแบบการต่อแบบ Active Low หรือรูปแบบการตอ่ แบบ Active High มาใช้รว่ มในการออกแบบควบคุมการทางาน ของอินพุตและเอาต์พุต พอรต์ และสามารถทดลอง และควบคุมอปุ กรณ์ได้ หลายอย่างเช่นหลอดไฟ 40

บ4ท1ท่ี 2 คออิเมลพ็กทิวเรตออนริก์ใสนค์แชอลีวมะิตพเปทิวครเตะโอนจรโำ�ล์ใวนยันชีคีวอิตมปพริวะเตจำอ�วรั์น บทท่ี 12 (LED), ปมุ่ กด (Pushbutton) แบบ Start / Stop หรือแบบ Toggle, หลอดไฟ LED7-Segment, คียส์ วิตซ์แบบแมทริกซ์ (Keypad), โมดูล LCD เป็นตน้ การเช่ือมต่อไมโครคอนโทรลเลอร์ Arduino กับ LED 7- Segment ED 7 Segment โดยท่วั ไปจะมหี ลอด LED ตวั เลข 7 หลอดมาต่อรว่ มกันเหมือนกับ เลข 8 ต่อละตาแหน่งจะมสี ญั ลกั ษณ์บอกประจาตาแหน่งคือ a, b, C, d, e, f, g และ dp (จุดทศนิยม) เพื่อแสดงเป็นตวั เลขหลอด LED 7 Segment จะนาขาทัง้ 7 หลอดมาต่อร่วมกันแบ่งออกเปน็ 2 ลักษณะคือ 1. ต่อแบบแอโนดร่วม (Common Anode 7- Segment) 2. ต่อแบบแคโทดรว่ ม (Common Cathode 7- Segment) การตอ่ แบบแอโนดรว่ ม (Common Anode) จะต้อง จ่ายไฟขว้ั บวกท่ีขาร่วมและต้องจ่ายไฟขวั้ ลบเข้าทข่ี าแคโทดสว่ น การตอ่ แบบแคโทดรว่ ม (Common Cathode) จะต้องจา่ ยไฟขว้ั ลบเข้าทข่ี ารว่ มแลว้ จ่ายไฟขั้วบวกเขา้ ที่ขาแอโนดการใช้ ไมโครคอนโทรลเลอร์ Arduino เป็นบติ เอาต์พุตควรใชไ้ อซีบัฟเฟอร์ (74LS245) ต่อร่วมเพ่ือขบั กระแสใหห้ ลอด LED 7-Segment สว่าง ไดด้ งั แสดงใน 41 41

บทท่ี 12 อคิอเลม็กพทิวรเอตนอริก์ใสน์แชลีวะิตเทปคระโนจโำ�ลวยันีคอมพิวเตอร์ 42 การเชื่อมต่อไมโครดอนโทรลเลอร์ Arduino กบั คยี ส์ วติ ช์ แบบแมทริกซ์ (Keypad) คียส์ วติ ซแ์ บบแมทริกซ์ (Keypad) เมือ่ นามาเชอ่ื มต่อกับไมโครคอนโทรลเลอรจ์ ะทาให้ประหยัดพอรต์ อยา่ งมากโดยในหัวข้อนจ้ี ะขอยกตวั อยา่ งการใช้ Keypad แบบ 4x3 ซงึ่ จะใช้บิตจากไมโครคอนโทรลเลอร์เพียง 7 บติ เท่านั้นเอง สามารถกดตัวเลขบน Keypad ได้ท้ังหมด 12 ปมุ่ กดท้ังแนว Row และColumn ดงั แสดงในรปู ที่ 2. 17 ซ่งึ เปน็ การต่อ Keypad 4X3 (Row and Column) โดยการอา่ นคา่ จะถูกตอ้ งแมน่ ยาไม่ว่าเราจะ กด Keypad ปมุ่ ไหนก็อ่านได้เพราะถ้าเรากด Keypad ปมุ่ ใดปุ่ม หนึ่งจะสแกนค่าความสมั พันธ์ระหว่างค่าบติ ทอ่ี ่านเข้ามาและคา่ นดิ ทส่ี ง่ ออกนั่นเองสาหรบั ฮารด์ แวร์ของ Keypad จะประกอบดว้ ย 8 Pins การใช้ Keypad 4X3 จะใชท้ ้งั หมด 7 Pins จากรปู ท่ี 2. 17 แสดง Keypad 4X3 รวม 12 ปุ่มกดจะต้องหารหสั ประจาคีย์เพื่อใช้ ในการเขยี นโปรแกรมและนาไปควบคุมอุปกรณภ์ ายนอกต่อไปโดย รหสั ประจาคีย์สามารถหาได้ดังแสดงในตารางที่ 42

บ4ท3ท่ี 2 คออิเมลพ็กทิวเรตออนริก์ใสนค์แชอลีวมะิตพเปทิวครเตะโอนจรโำ�ล์ใวนยันชีคีวอิตมปพริวะเตจำอ�วรั์น บทท่ี 21 การเช่ือมต่อไมโครคอนโทรลเลอร์ Arduino กับโมดลู LCD ปจั จบุ นั โมดลู LCD (Liquid Crystal Display module) ได้ ถูกนามาใชอ้ ยา่ งแพร่หลายในการแสดงผลตัวเลขหรอื ตวั อกั ษร ตลอดจนภาพเคลื่อนไหวและไดร้ ับความนิยมมากในการใชง้ าน ร่วมกับไมโครคอนโทรลเลอร์สาหรับแสดงผลออกทางโมดูล LCD น้นั จะต้องเขยี นชุดคาสง่ั เพ่ือควบคุมการแสดงผลให้กับโมดูล LCD หลังจากนนั้ จะส่งข้อมูลหรือข้อความ เพ่ือใหแ้ สดงผลออกทางหนา้ จอโดยใน โหมดนจ้ี ะติดต่อกบั ขาข้อมลู (Data bus) ของ LCD 8 pins (D0-D7) แบบ 8 บิตหรือ 4 Pins (D4-D7) แบบ 4 บิต นอกจากนั้นยังตดิ ต่อกับขา RW สาหรบั เลือกคาสงั่ อา่ นหรือเขียนขอ้ มูลให้กับ LCD หรอื ติดต่อกบั ขา RS สาหรบั เลือกส่งคาสง่ั หรือสง่ ขอ้ มลู แสดงผลให้กบั LCD และ ติดตอ่ กับขา E โดยจะสง่ สญั ญาณพลั ส์ (Pulse) เพ่ืออนี าเบิล (Enable) ให้ LCD ทางาน 43 43

บทที่ 12 อคิอเลม็กพทิวรเอตนอริก์ใสน์แชลีวะิตเทปคระโนจโำ�ลวยันีคอมพิวเตอร์ 44 เซ็นเซอรแ์ ละระบบอจั ฉริยะ ในปจั จุบันอตุ สาหกรรมในหลายๆด้านมกี ารนาอุปกรณ์และระบบ อิเลก็ ทรอนกิ ส์มาช่วยทาให้การผลิตเพ่อื ให้เกิดประสิทธิภาพและ ประสิทธผิ ลมากขนึ้ รวมทง้ั ไดใ้ ชเ้ ซ็นเซอรม์ าชว่ ยทาใหเ้ กิดระบบ อัจฉรยิ ะท่ีสามารถประเมินผลและควบคุมตนเองไดด้ ้วยการส่งและ รบั ข้อมลู ต่างๆดังนน้ั เซน็ เซอร์จงึ ถกู นาไปใชใ้ นระบบอัตโนมัตใิ น แนวโน้มทีเ่ พิ่มข้นึ เนื่องจากมีขนาดกะทัดรดั อายกุ ารใช้งานท่ี ยาวนานและความเท่ยี งตรงสูงล้วนมีสว่ นเพิ่มประสทิ ธิภ์ าพและ ความปลอดภยั ในระบบอัตโนมัติเซน็ เซอร์ถูกนาไปใช้สาหรับการวดั ขนาดการนับการคัดเลือกและการตรวจสอบเซ็นเซอร์ช่วยแยกแยะ ขนาดของวตั ถุกาหนดตาแหน่งการแยกสีแยกรปู ร่างท่ีต่างกันของ ชน้ิ งานในระบบอุตสาหกรรมตา่ งๆเช่นอตุ สาหกรรมชิ้นส่วนยาน ยนตอ์ ตุ สาหกรรมอิเล็กทรอนิกส์อุตสาหกรรมเกษตรและอ่ืน ๆ อีก มากมายสาหรับระบบอจั ฉริยะนั้นเซ็นเซอร์มสี ่วนสาคญั อย่างมากใน การตรวจและควบคุมหรือชว่ ยเชอ่ื มตอ่ อปุ กรณ์เข้าหากนั ในปจั จบุ ันทไ่ี ดย้ ินกันบอ่ ยๆก็คอื IOT (Internet of Things) เชน่ สมารต์ ฟาร์ม (Smart Farm) ฟารม์ อัจฉรยิ ะ (Intelligent Farming, Autonomous Farming) เกษตรกรรมความแม่นยาสูง (Precision Farming Precision Agriculture) รวมไปถงึ การ 44

บ4ท5ที่ 2 คออิเมลพ็กทิวเรตออนริก์ใสนค์แชอลีวมะิตพเปทิวครเตะโอนจรโำ�ล์ใวนยันชีคีวอิตมปพริวะเตจำอ�วรั์น บทที่ 21 บริหารจัดการน้า (Water Resources Management) ทางด้าน การเกษตรทั้งหมดท้ังมวลเหล่านปี้ ระกอบดว้ ยเทคโนโลยหี ลกั ๆ ทางด้านอิเล็กทรอนิกส์และเซ็นเซอร์ซึ่งถอื วา่ เปน็ ฮาร์ดแวร์การ จัดสง่ และรับข้อมูลไม่วา่ จะเป็นแบบมีสาย (LAN) หรอื ไร้สาย (Wireless LAN) และการประเมนิ ผลดว้ ยโปรแกรมหรือระบบงาน (Software or Application) ซึง่ กเ็ ป็นระบบอัจฉริยะอย่างหน่งึ ในบทน้จี ะขอยกตัวอย่างการใช้ไมโครคอนโทรเลอร์ Arduino Uno ควบคมุ เซ็นเซอร์ชนิดต่าง ๆ ดังนี้ 1. อลั ตราโซนิกเซ็นเซอร์ (Ultrasonic Sensor) 2. เซน็ เซอรว์ ดั อุณหภูมิ (Temperature sensor) 3. บลูทธู โมดูลเซน็ เซอร์ (Xbee Module Sensor) 4. เซ็นเซอรไ์ รส้ าย (Wireless Sensor) 5. เซน็ เซอรว์ ัดมมุ (Gyroscope Sensor 6. การควบคมุ ดซี ีมอเตอรแ์ ละเอนโค้ดเดอรด์ ้วยระบบ PID 7. เพนดูลมั ผกผนั (Inverted Pendulum) 45 45

บทที่ 12 อคิอเลม็กพทิวรเอตนอริก์ใสน์แชลีวะิตเทปคระโนจโำ�ลวยันีคอมพิวเตอร์ 46 อัลตราโซนิกเซ็นเซอร์ (Ultrasonic Sensor) HC SP04 เปน็ เซ็นเซอรโ์ มดลู สาหรับตรวจจบั วตั ถุและวัดระยะทางแบบไม่สมั ผัสมี หลักการทางานการสะทอ้ นของเสยี งและการสะทอ้ นกลับมาของ เสียงเพือ่ นามาคานวณหาระยะท่ีวดั ได้จริงโดยใช้คลน่ื คันตระซึง่ เป็น คลื่นเสียงความถี่สงู เกนิ กวา่ การไดย้ ินของมนุษยว์ ัดระยะได้ตงั้ แต่ 6- 400 Cm สามารถตอ่ ใช้งานกันไมโครคอนโทรลเลอร์ไดง้ ่ายใช้ พลังงานต่าเหมาะกับการนาไปประยกุ ต์ใชง้ านด้านระบบควบคุม อัตโนมตั ิหรืองานดา้ นหุน่ ยนต์หลักการทางานจะเหมือนกนั กบั การ ตรวจจับวัตถดุ ้วยเสียงของค้างคาวโดยจะมีการสะท้อนของเสียง และนาเสยี งกลับมาเพื่อนามาคานวณหาระยะท่วี ัดไดจ้ รงิ สาหรบั โมดลู HC-SR04 จะประกอบไปดว้ ยตวั กัน (Trig) และตัวส่ง (Echo) ของอลั ตราโซนิกตัวส่งจะส่งคลนื่ ความถ่ีท่ี 4) KHz ออกไปในอากาศ ด้วยความเร็วประมาณ 346 เมตรตอ่ วนิ าทีและตวั รบั จะคอยรบั สัญญาณทส่ี ะทอ้ นกลับจากวตั ถเุ มือ่ ทราบความเร็วในการเคลอ่ื นท่ี ของคล่ืนเวลาทใ่ี ช้ในการเดินทางไปและกลับ (t) ก็จะสามารถ คานวณหาระยะห่างของวัตถุ (s) ไดจ้ ากสมการดงั น้ี 46

บ4ท7ท่ี 2 คออิเมลพ็กทิวเรตออนริก์ใสนค์แชอลีวมะิตพเปทิวครเตะโอนจรโำ�ล์ใวนยันชีคีวอิตมปพริวะเตจำอ�วรั์น บทท่ี 21 เซ็นเซอรว์ ดั อุณหภมู ิ (Temperature Sensor) เซ็นเซอรว์ ัดอุณหภมู ิ (Temperature Sensor) เปน็ อปุ กรณท์ ท่ี า หนา้ ที่เปล่ียนระดับอุณหภูมิเช่นรอ้ น-เย็นเปน็ ระดบั แรงดันไฟฟ้าซง่ึ จะทาหน้าที่เป็นสว่ นรบั ความรูส้ กึ ของหนุ่ ยนตป์ จั จุบนั กระบวนการ ต่างๆในโรงงานอุตสาหกรรมโดยทวั่ ไปแลว้ จะไมส่ ามารถหลีกเลย่ี ง ไดก้ บั สถานการณท์ ี่ต้องเขา้ ไปเกี่ยวข้องกบั การวัดอุณหภมู ิซึ่งจาก สภาพแวดลอ้ มท่ีแตกต่างกันในแต่ละโรงงานอตุ สาหกรรมรวมไปถงึ ปัจจัยต่างๆทาใหเ้ กดิ ปัญหาต่างๆตามมาเชน่ อุณหภมู ิทวี่ ัดไดม้ ีคา่ ไม่ เท่ยี งตรงอุปกรณ์ทใ่ี ชง้ านมีปัญหาชารุดเสยี หายเรว็ เกนิ กวา่ ท่ีควรจะ เปน็ หรอื แมแ้ ต่การเปล่ยี นแปลงของอุณหภูมิท่วี ัดได้มีการ เปล่ยี นแปลงทร่ี วดเร็วไม่เพยี งพอทาใหไ้ มส่ ามารถตอบสนองความ ต้องการในการทางานน้นั ๆได้จากปจั จัยดังกล่าวขา้ งตน้ จงึ ทาให้มี ความจาเป็นตอ้ งเรยี นรู้เพื่อทาความรู้จักกับอุปกรณ์วดั อุณหภูมิและ ทาการเลอื กใชใ้ ห้ถูกต้องซึง่ จะช่วยใหก้ ระบวนการทางานตา่ งๆใน 47 47

บทท่ี 12 อคิอเลม็กพทิวรเอตนอริก์ใสน์แชลีวะิตเทปคระโนจโำ�ลวยันีคอมพิวเตอร์ 48 โรงงานอตุ สาหกรรมเป็นไปได้อย่างราบรน่ื รวมไปถึงการทีส่ ามารถ จะทาให้เครือ่ งจักรทางานได้อย่างเต็มประสิทธภิ าพและมีคุณภาพ ตรงตามความต้องการซ่ึงในปัจจุบนั อุปกรณ์ส่วนใหญ่ท่ใี ชก้ ันในงาน อตุ สาหกรรมมกั จะเป็นอปุ กรณ์วดั อณุ หภูมิโดยอาศยั การ เปลยี่ นเป็นพลงั งานทางไฟฟ้าซง่ึ อุปกรณ์ดังกลา่ วจะแบง่ ได้เปน็ 2 ชนิดหลักๆดงั น้คี ือเทอร์โมคปั เปลิ (Thermocouple) และ RTD บลทู ูธโมดลู เซน็ เซอร์ (XBee Module Sensor) ระบบ การผลติ อตั โนมตั ิในโรงงานสามารถเพ่ิมประสิทธิภาพในการผลติ ใน โรงงานให้เพมิ่ มากขึ้นอยา่ งไรก็ตามการควบคุมการทางานของ เครื่องจักรอตั โนมัติยังจากัดอยู่ทร่ี ะยะทางของสายเคเบลิ ที่เช่ือมตอ่ กบั ตัวควบคมุ เขา้ กบั เครอ่ื งจักรอตั โนมตั กิ ารพฒั นาระบบแบบระบบ 48

บ4ท9ที่ 2 คออิเมลพ็กทิวเรตออนริก์ใสนค์แชอลีวมะิตพเปทิวครเตะโอนจรโำ�ล์ใวนยันชีคีวอิตมปพริวะเตจำอ�วรั์น บทที่ 12 ฝังตัว (Embedded System) เพื่อควบคมุ เครือ่ งจักรอัตโนมตั จิ าก ระยะไกลผ่านเครือขา่ ยอนิ เทอร์เน็ตและตรวจสอบสถานะภายใน โรงงานจากเซ็นเซอรท์ ี่ติดต้ังภายในโดยมีการคานึงถึงความโรงงาน โดยมงุ่ นาเสนอแนวคดิ ของระบบท่สี ามารถทางานได้อยา่ งมี ประสิทธิภาพปลอดภัยของขอ้ มูลท่ีสง่ ผา่ นระบบอนิ เทอรเ์ น็ตและ ความสะดวกในการควบคุมอุปกรณใ์ นโรงงานด้วยระบบไร้สาย ZigBee หรอื บลูทธู โมดลู เซ็นเซอร์ (XBee Module Sensor) 49 49

บทท่ี 12 อคิอเลม็กพทิวรเอตนอริก์ใสน์แชลีวะิตเทปคระโนจโำ�ลวยันีคอมพิวเตอร์ 50 เซน็ เซอรไ์ ร้สาย (Wireless Sensor) ความก้าวหน้าทางเทคโนโลยเี ซน็ เซอร์ หน่วยประมวลผลการติดต่อสื่อสารไร้ สายเป็นเทคโนโลยที ี่มีคณุ ภาพสงู ประหยัดพลังงานและมขี นาดเลก็ จงึ ทาให้เกิดวธิ ีการวัดและเกบ็ ข้อมูล แบบใหมโ่ ดยใช้หนว่ ยรว่ มกบั เซน็ เซอร์ขนาดเล็กจานวนมากกระจาย และฝังตวั ในสิ่งแวดล้อมเพื่อเก็บข้อมลู หน่วยร่วมเซน็ เซอร์แตล่ ะตัว ทาหนา้ ทีเ่ ป็นส่วนหนึง่ ของเครือข่าย และสร้างเครือขา่ ยเซ็นเซอร์ไร้สายเพื่อ สอ่ื สารและส่งข้อมลู หนว่ ยร่วมเซ็นเซอร์ และเครือขา่ ยเซ็นเซอร์ไร้สายทางานได้ ดว้ ยตัวเองเน่ืองจากข้อจากัดในหลาย ด้านทาใหร้ ูปแบบของเครือขา่ ย เซ็นเซอร์ไรส้ ายจะต้องถูกปรับเปล่ยี นใหเ้ หมาะสมตามวตั ถุประสงค์ การใชง้ านจรงิ 50


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