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 Arduino-labviwe by jirapon-ใช้ฝึก2560-1-thai - ปรับ

Arduino-labviwe by jirapon-ใช้ฝึก2560-1-thai - ปรับ

Published by จิรพล บุญยัง, 2019-09-18 03:08:24

Description: Arduino-labviwe by jirapon-ใช้ฝึก2560-1-thai - ปรับ

Search

Read the Text Version

เอกสารประกอบการปฏบิ ตั งิ านฝึกทดสอบใชง้ านเทคโนโลยไี มโครคอนโทรลเลอร์ ประกอบการประยกุ ตใ์ ชง้ าน Labview+ Arduino (LabVIEW Interface for Arduino Microcontroller Technology section TECN0LOGE ELECTRONIC’S) เรียบเรยี งประกอบการฝึ กโดย อ.จิรพล บญุ ยงั อ.บณั ฑิต ชินผา และ อ.กฤตินันท์ ชอบตรง

section-1 คาํ นํา เอกสารชุดน้ีเรียบเรียงเพ่ือเป็ นคู่มือสาหรับประกอบการฝึ กปฏิบตั ิงานดา้ นไมโครคอนโทรลเลอร์ Arduino โดยมีวัตถุประสงค์เพ่ือศึกษาและฝึ กทักษะภาคปฏิบัติในการประยุกต์เกี่ยวกับโครงสร้างของตัว ไมโครคอนโทรลเลอร์ Arduino และเขา้ ใจในโครงสร้างของตวั ไมโครคอนโทรลเลอร์ชนิดต่างๆและของ ไมโครคอนโทรลเลอร์ Arduino เพื่อใหม้ ีทกั ษะในการประยกุ ตใ์ ชง้ าน ซีพยี ู บสั รีจีสเตอร์และหน่วยความจา ไซเคิ้ลและคิวต้ี วิธีการเขียนโฟลวช์ าร์ต การเขียนโปรแกรมสาหรับไมโครคอนโทรลเลอร์และการใชง้ าน เทคนิคการอินเตอร์เฟสและอุปกรณ์เฟอริรัลไดร์ฟและเพื่อสร้างกิจนิสัยในการทางานดว้ ยความประณีต เรียบร้อยขยนั อดทน สาหรับนกั เทคโนโลยีใช้ในการฝึ กทกั ษะการใช้งานLabviewเป็ นโปรแกรมที่ใช้กบั อุตสาหกรรม ต่างๆเร่ิมจากการทดลองอ่านไฟล์รูปภาพต่างๆออกมาปฏิบตั ิการใน Labview(Laboratory Virtual Instrument Engineering Workbench) ซ่ึงจะสามารถนาไปประยกุ ตใ์ ชใ้ นการเขียนโปรแกรมเพ่ืออ่านไฟล์ รูปภาพมาแสดงในโปรแกรม Labview กบั การท่ีเราจะแสดงภาพซ่ึงทางโปรแกรมจะทาการเชื่อมโยง อุปกรณ์ของหนา้ ต่าง Front Panel เป็ น Block ในหนา้ ต่าง Block diagramเพ่ือศึกษาและฝึ กทกั ษะปฏิบตั ิการ ประยกุ ตเ์ ก่ียวกบั โครงสร้างของตวั ไมโครคอนโทรลเลอร์ Arduino กบั Labview ดงั น้นั จึงเหมาะสาหรับผูเ้ ริ่มตน้ ศึกษา ท้งั น้ีผูใ้ ช้งานยงั สามารถดดั แปลง เพิ่มเติม พฒั นาต่อยอด ท้งั ตวั บอร์ด หรือโปรแกรมต่อไดด้ ้วย ความง่ายของบอร์ด Arduino ในการต่ออุปกรณ์เสริมต่างๆ คือ ผใู้ ชง้ านสามารถต่อวงจรอิเล็กทรอนิคส์จากภายนอกแลว้ เชื่อมต่อเขา้ มาท่ีขา I/O ของบอร์ดหรือเพื่อความ สะดวกสามารถเลือกต่อกบั บอร์ดเสริม (Arduino Shield) ประเภทต่างๆแลว้ เขียนโปรแกรมพฒั นาต่อได้ เช่น Arduino XBee Shield, Arduino Music Shield, Arduino Relay Shield, Arduino Wireless Shield, Arduino GPRS Shield เป็นตน้ Microcontroller Technology : การประยุกตใ์ ชง้ าน LabVIEW Interface for Arduino 2

section-1 สารบญั ขอ้ มลู จาํ เพาะไมโครคอนไมโทรลเลอร์ Arduino 4 การประยกุ ตใ์ ชง้ าน Labview เพอ่ื ควบคมุ Arduino - LabVIEW Interface for Arduino 20 การใชง้ านตอ้ งตดิ ตงั้ โปรแกรมต่างๆ และเวอรช์ นั่ ทจ่ี าํ เป็นตอ้ งใช้ 21 การเขยี นโปรแกรมแลปววิ LabVIEW Programming 28 การเช่อื มต่อ Database กบั LabVIEW Intro Prepare your DB (Database) กบั LabVIEW 47 Wonderware IntouchHottkey : ปมุ่ HOTKEY ใน Wonderware Intouch 86 เอกสารประกอบการทดสอบใชง้ าน LabVIEW Interface for Arduino 89 Interface Arduino Guideline สาํ หรบั ผทู้ ส่ี นใจทาํ โปรเจค็ LabVIEW + Arduino( PART I) 109 LABVIEW INTERFACE FOR ARDUINO ( PART II) 115 Microcontroller Technology : การประยกุ ตใ์ ชง้ าน LabVIEW Interface for Arduino 3

section-1 ขอ้ มลู จาํ เพาะไมโครคอนไมโทรลเลอร์ Arduino 1.Arduino ภาพท่ี 1 Arduino Arduino Arduino อ่านว่า (อา-ด-ู อ-ิ โน่ หรอื อาดุยโน่) เป็นบอรด์ ไมโครคอนโทรเลอรต์ ระกูล AVR ทม่ี กี าร พัฒนาแบบ Open Sourceคือมีการเปิดเผยข้อมูลทัง้ ด้าน Hardware และ Software ตัว บอรด์ Arduino ถูกออกแบบมาใหใ้ ชง้ านไดง้ า่ ย ดงั นนั้ จงึ เหมาะสําหรบั ผเู้ รม่ิ ตน้ ศกึ ษา ทงั้ น้ีผใู้ ชง้ าน ยงั สามารถดัดแปลง เพ่ิมเติม พฒั นาต่อยอดทัง้ ตัวบอร์ด หรอื โปรแกรมต่อได้ด้วย ความง่ายของ บอรด์ Arduino ในการต่ออุปกรณ์เสรมิ ต่างๆ คอื ผู้ใช้งานสามารถต่อวงจรอเิ ลก็ ทรอนิคส์จากภายนอก แล้วเช่อื มต่อเขา้ มาท่ขี า I/O ของบอรด์ (ดูตวั อย่างรูปท่ี 1) หรอื เพ่อื ความสะดวกสามารถเลือกต่อกบั บอรด์ เสรมิ (Arduino Shield) ประเภทต่างๆ (ดูตวั อย่างรปู ท่ี 2) เช่น Arduino XBee Shield, Arduino Music Shield, Arduino Relay Shield, Arduino Wireless Shield, Arduino GPRS Shield เป็นต้น มา เสยี บกบั บอรด์ บนบอรด์ Arduino แลว้ เขยี นโปรแกรมพฒั นาต่อไดเ้ ลย ภาพท่ี 2 ardrino กบั การเช่อื มต่อกบั LEDและ XBee Shield 2.จดุ เด่นทท่ี าํ ใหบ้ อรด์ Arduino เป็นทน่ี ิยม 2.1 งา่ ยต่อการพฒั นา มรี ปู แบบคาํ สงั่ พน้ื ฐาน ไมซ่ บั ซอ้ นเหมาะสาํ หรบั ผเู้ รม่ิ ตน้ 2.2 มี Arduino Community กลุม่ คนทร่ี ว่ มกนั พฒั นาทแ่ี ขง็ แรง 2.3 Open Hardware ทาํ ใหผ้ ใู้ ชส้ ามารถนําบอรด์ ไปต่อยอดใชง้ านไดห้ ลายดา้ น ราคาไมแ่ พง 2.4 Cross Platform สามารถพฒั นาโปรแกรมบน OS ใดกไ็ ด้ Microcontroller Technology : การประยกุ ตใ์ ชง้ าน LabVIEW Interface for Arduino 4

section-1 3. รปู แบบการเขยี นโปรแกรมบน Arduino ภาพท่ี 2-15 Interface Arduinoกบั Computer 3.1. เขยี นโปรแกรมบนคอมพวิ เตอร์ ผา่ นทางโปรแกรม ArduinoIDE ซง่ึ สามารถดาวน์โหลดได้ จาก Arduino.cc/en/main/software 3.2 หลงั จากทเ่ี ขยี นโคด้ โปรแกรมเรยี บรอ้ ยแลว้ ใหผ้ ใู้ ชง้ านเลอื กรนุ่ บอรด์ Arduino ทใ่ี ชแ้ ละ หมายเลข Com port ภาพท่ี 3 เลอื กรนุ่ บอรด์ Arduino ทต่ี อ้ งการ upload 5 Microcontroller Technology : การประยุกตใ์ ชง้ าน LabVIEW Interface for Arduino

section-1 ภาพท่ี 4 การเลอื กComport ของบอรด์ 3.3 กดปมุ่ Verify เพ่อื ตรวจสอบความถูกตอ้ งและ Compile โคด้ โปรแกรม จากนนั้ กด ปมุ่ Upload โคด้ โปรแกรมไปยงั บอรด์ Arduinoผา่ นทางสาย USB เมอ่ื อบั โหลดเรยี บรอ้ ยแลว้ จะแสดง ขอ้ ความแถบขา้ งลา่ ง ‚Done uploading‛ และบอรด์ จะเรมิ่ ทาํ งานตามทเ่ี ขยี นโปรแกรมไวไ้ ดท้ นั ที ภาพท่ี 5 การveriflyและการupload 6 Microcontroller Technology : การประยุกตใ์ ชง้ าน LabVIEW Interface for Arduino

section-1 3.4. ขาต่างๆของ Arduino UNO R3 ภาพท่ี 4- ขาต่างๆของ Arduino UNO R3 ภาพท่ี 5- ขาต่างๆของ Arduino UNO R3 .1.USBPort: ใชส้ าํ หรบั ต่อกบั Computer เพอ่ื อบั โหลดโปรแกรมเขา้ MCU และจ่ายไฟใหก้ บั บอรด์ .2.Reset Button: เป็นปุ่ม Reset ใชก้ ดเมอ่ื ตอ้ งการให้ MCU เรมิ่ การทํางานใหม่ Microcontroller Technology : การประยุกตใ์ ชง้ าน LabVIEW Interface for Arduino 7

section-1 .3.ICSP Port ของ Atmega16U2 เป็นพอรต์ ทใ่ี ชโ้ ปรแกรม Visual Com port บน Atmega16U2 4.I/OPort: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 7. I/OPort: นอกจากจะเป็น 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 Arduino รนุ่ ต่างๆ ภาพท่ี 6- ขาต่างๆของ Arduino UNO R3 Arduino Board (Official from Arduino.cc) มหี ลากหลายรนุ่ ทน่ี ่าสนใจ สนิ คา้ ผ่านการทดสอบคุณภาพ 100% ลกู คา้ สามารถเลอื กใชบ้ อรด์ Arduino ตามความเหมาะสมกบั การใชง้ าน ซง่ึ มดี งั น้ี 4.4 ชนดิ ของ Arduino Board 4. Arduino Uno R3 เป็นบอรด์ Arduino ทไ่ี ดร้ บั ความนยิ มมากทส่ี ดุ เน่อื งจากราคาไมแ่ พง สว่ น ใหญ่โปรเจคและ Library ต่างๆ ทพ่ี ฒั นาขน้ึ มา Support จะอา้ งองิ กบั บอรด์ น้เี ป็นหลกั เน่อื งจากเป็น ขนาดทเ่ี หมาะสําหรบั การเรมิ่ ตน้ เรยี นรู้ Arduino และมี Shields ใหเ้ ลอื กใชง้ านไดม้ ากกวา่ บอรด์ Arduino รนุ่ อ่นื ๆทอ่ี อกแบบมาเฉพาะมากกว่า โดยบอรด์ Arduino Uno ไดม้ กี ารพฒั นาเรอ่ื ยมา ตงั้ แต่ R2 R3 และรนุ่ ยอ่ ยทเ่ี ปลย่ี นชปิ ไอซเี ป็นแบบ SMD และขอ้ ดอี กี อยา่ งคอื กรณที ่ี MCU เสยี ผใู้ ชง้ าน สามารถซอ้ื มาเปลย่ี นเองไดง้ า่ ย ภาพท่ี 7- Arduino UNO R3 8 Microcontroller Technology : การประยุกตใ์ ชง้ าน LabVIEW Interface for Arduino

section-1 ขอ้ มลู จาํ เพาะ ชปิ ไอซไี มโครคอนโทรเลอร์ ATmega328 ใชแ้ รงดนั ไฟฟ้า 5V รองรบั การจ่ายแรงดนั ไฟฟ้า (ทแ่ี นะนํา) 7 – 12V รองรบั การจ่ายแรงดนั ไฟฟ้า (ทจ่ี าํ กดั ) 6 – 20V 14 พอรต์ (มี 6 พอรต์ PWM output) พอรต์ Digital I/O 6 พอรต์ พอรต์ Analog Input 40mA กระแสไฟทจ่ี า่ ยไดใ้ นแต่ละพอรต์ 50mA กระแสไฟทจ่ี ่ายไดใ้ นพอรต์ 3.3V 32KB พน้ื ทโ่ี ปรแกรม, 500B ใชโ้ ดย พน้ื ทโ่ี ปรแกรมภายใน Booloader พน้ื ทแ่ี รม 2KB พน้ื ทห่ี น่วยความจาํ ถาวร (EEPROM) 1KB 16MHz ความถค่ี รสิ ตลั 68.6x53.4 mm ขนาด 25 กรมั น้ําหนกั 4.1 Arduino Uno SMD เป็นบอรด์ ทม่ี คี ุณสมบตั แิ ละการทาํ งานเหมอื นกบั บอรด์ Arduino UNO R3 ทุกประการ แต่จะแตกต่างกบั ท่Pี ackage ของ MCU ซง่ึ บอรด์ น้ีจะมี MCU ทเ่ี ป็น Package SMD ตดิ กบั บอรด์ เลย (Arduino UNO R3 มี MCU ทเ่ี ป็น Package DIP) Microcontroller Technology : การประยกุ ตใ์ ชง้ าน LabVIEW Interface for Arduino 9

section-1 ภาพท่ี 8- Arduino UNO SMD ขอ้ มลู จาํ เพาะ ชปิ ไอซไี มโครคอนโทรเลอร์ ATmega328 ใชแ้ รงดนั ไฟฟ้า 5V รองรบั การจา่ ยแรงดนั ไฟฟ้า (ทแ่ี นะนํา) 7 – 12V รองรบั การจา่ ยแรงดนั ไฟฟ้า (ทจ่ี าํ กดั ) 6 – 20V พอรต์ Digital I/O 14 พอรต์ (มี 6 พอรต์ PWM output) พอรต์ Analog Input 6 พอรต์ กระแสไฟทจ่ี า่ ยไดใ้ นแตล่ ะพอรต์ 40mA กระแสไฟทจ่ี า่ ยไดใ้ นพอรต์ 3.3V 50mA พน้ื ทโ่ี ปรแกรมภายใน 32KB พน้ื ทโ่ี ปรแกรม, 500B ใชโ้ ดย Booloader พน้ื ทแ่ี รม 2KB พน้ื ทห่ี น่วยความจาํ ถาวร (EEPROM) 1KB ความถค่ี รสิ ตลั 16MHz ขนาด 68.6x53.4 mm น้ําหนกั 25 กรมั 4.2 Arduino Mega 2560 R3 เป็นบอรด์ Arduino ทอ่ี อกแบบมาสาํ หรบั งานทต่ี อ้ ง ใช้ I/O มากกวา่ Arduino Uno R3 เช่น งานทต่ี อ้ งการรบั สญั ญาณจาก Sensor หรอื ควบคุม มอเตอร์ Servo หลายๆ ตวั ทาํ ให้ Pin I/O ของบอรด์ Arduino Uno R3 ไมส่ ามารถรองรบั ได้ ทงั้ น้ี บอรด์ Mega 2560 R3 ยงั มคี วามหน่วยความจาํ แบบ Flash มากกว่า Arduino Uno R3 ทาํ ใหส้ ามารถ เขยี นโคด้ โปรแกรมเขา้ ไปไดม้ ากกว่า ในความเรว็ ของ MCU ทเ่ี ท่ากนั Microcontroller Technology : การประยกุ ตใ์ ชง้ าน LabVIEW Interface for Arduino 10

section-1 ภาพท่ี 9- Arduino Mega 2560 R3 ขอ้ มลู จาํ เพาะ ชปิ ไอซไี มโครคอนโทรเลอร์ ATmega2560 ใชแ้ รงดนั ไฟฟ้า 5V รองรบั การจา่ ยแรงดนั ไฟฟ้า (ทแ่ี นะนํา) 7 – 12V รองรบั การจา่ ยแรงดนั ไฟฟ้า (ทจ่ี าํ กดั ) 6 – 20V พอรต์ Digital I/O 54 พอรต์ (มี 15 พอรต์ PWM output) พอรต์ Analog Input 16 พอรต์ กระแสไฟฟ้ารวมทจ่ี ่ายไดใ้ นทุกพอรต์ 40mA กระแสไปทจ่ี ่ายไดใ้ นพอรต์ 3.3V 50mA พน้ื ทโ่ี ปรแกรมภายใน 256KB แต่ 8KB ถกู ใชโ้ ดย Bootloader พน้ื ทแ่ี รม 8KB พน้ื ทห่ี น่วยความจาํ ถาวร (EEPROM) 4KB ความถค่ี รสิ ตลั 16MHz 4.3 Arduino Mega ADK เป็นบอรด์ ทอ่ี อกแบบมาใหบ้ อรด์ Mega 2560 R3 สามารถตดิ ต่อกบั อุปกรณ์ Android Deviceผา่ นพอรต์ USB Host ของบอรด์ ได้ Microcontroller Technology : การประยกุ ตใ์ ชง้ าน LabVIEW Interface for Arduino 11

section-1 ภาพท่ี 10- Arduino Mega ADK 4.4. Arduino Leonardo ใชช้ ปิ ไมโครคอนโทรเลอรเ์ บอร์ ATmaega2560 มชี ปิ ไอซี USB Host เบอร์ MAX3421e มาใหบ้ นบอรด์ ใชส้ าํ หรบั เชอ่ื มต่อกบั โทรศพั ทม์ อื ถอื แอนดรอยผา่ น OTG มพี อรต์ ดจิ ติ อลอนิ พตุ เอาตพ์ ุตจาํ นวน 54 พอรต์ มอี นาลอ็ กอนิ พตุ มาให้ 16 พอรต์ ทาํ งานทค่ี วามถ่ี 16MHz บอรด์ Arduino MEGA ADK จะแตกต่างกบั บอรด์ Arduino Duo ตรงทช่ี ปิ บน บอรด์ นนั้ ฉลาดไมเ่ ท่า และใชค้ วามถต่ี ่าํ กวา่ ดงั นนั้ จงึ ไมเ่ หมาะจะนําไปใชก้ บั งานคํานวณ แต่เหมาะสาํ หรบั งานทใ่ี ชก้ าร เช่อื มต่อกบั โทรศพั ทม์ อื ถอื แอนดรอยมากกว่า 4.5 ขอ้ มลู จาํ เพาะ ชิปไอซีไมโครคอนโทรเลอร์ ATmega2560 ใช้แรงดนั ไฟฟ้ า 5V รองรบั การจา่ ยแรงดนั ไฟฟ้ า (ที่แนะนา) 7 – 12V รองรบั การจา่ ยแรงดนั ไฟฟ้ า (ที่จากดั ) 6 – 20V พอรต์ Digital I/O 54 พอรต์ (มี 15 พอรต์ PWM output) พอรต์ Analog Input 16 พอรต์ กระแสไฟฟ้ ารวมท่ีจ่ายได้ในทกุ พอรต์ 40mA กระแสไปที่จา่ ยได้ในพอรต์ 3.3V 50mA พื้นที่โปรแกรมภายใน 256KB แต่ 8KB ถกู ใช้โดย Bootloader พื้นที่แรม 8KB พืน้ ที่หน่วยความจาถาวร (EEPROM) 4KB ความถี่คริสตลั 16MHz ขนาด 101.52x53.3 mm น้าหนัก 36 กรมั ขอ้ ควรระวงั : เน่อื งจาก MCU เป็นคนละเบอรก์ บั Arduino Uno R3 อาจะทาํ ใหบ้ อรด์ Shield บางตวั หรอื Library ใชร้ ว่ มกนั กบั บอรด์ Arduino Leonardo ไมไ่ ด้ ผใู้ ชง้ านจาํ เป็นตอ้ งตรวจสอบก่อนใชง้ าน Microcontroller Technology : การประยุกตใ์ ชง้ าน LabVIEW Interface for Arduino 12

section-1 ภาพท่ี 11- Arduino Leonardo 4.6 Arduino Mini 05 เป็นบอรด์ Arduino ขนาดเลก็ ทใ่ี ช้ MCU เบอร์ ATmega328 เบอรเ์ ดยี วกบั บอรด์ Arduino UNO R3 ขอ้ แตกต่าง: บอรด์ Arduino Mini 05 จะไมม่ พี อรต์ USB มาให้ ผใู้ ชง้ านตอ้ งต่อกบั บอรด์ USB to Serial Converter เพมิ่ เมอ่ื ตอ้ งการโปรแกรมบอรด์ ภาพท่ี 12- Arduino Mini 05 4.7 Arduino Pro Mini 328 3.3V เป็นบอรด์ Arduino ขนาดเลก็ ท่ี ใช้ MCU เบอร์ ATmega328 ซง่ึ จะคลา้ ยกบั บอรด์ Arduino Mini05 แต่บนบอรด์ จะ มี Regulator3.3V เดยี วเท่านนั้ ระดบั แรงดนั ไฟทข่ี า I/O คอื 3.3V ภาพท่ี 13- Arduino Pro Mini 328 13 Microcontroller Technology : การประยกุ ตใ์ ชง้ าน LabVIEW Interface for Arduino

section-1 4.8 Arduino Pro Mini 328 5V เป็นบอรด์ Arduino ขนาดเลก็ ท่ี ใช้ MCU เบอร์ ATmega328 เช่นเดยี วกบั บอรด์ Arduino Mini 05 แต่บนบอรด์ จะมี Regulator 5V ชุด เดยี วเทา่ นนั้ ระดบั แรงดนั ไฟทข่ี า I/O คอื 5V ภาพท่ี 14-1 Arduino Pro Mini 328 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 toSerial Converter เพมิ่ เตมิ ภาพท1่ี 4- 2-27 Arduino Ethernet with PoE 4.10 Arduino Ethernet without PoE module บอรด์ น้ีจะตดั โมดลู POE ออกไป ตอ้ งใชไ้ ฟจาก พอรต์ Power Jack เท่านนั้ คุณสมบตั อิ ่นื ๆ จะเหมอื นกบั บอรด์ Arduino Ethernet withPoEmodule ภาพท่ี 15- Arduino Ethernet without PoE 4.11 Arduino Due Duo เป็นภาษาอติ าลี แปลวา่ สอง เป็นรนุ่ ทเ่ี พม่ิ พอรต์ ใหม้ ากขน้ึ เป็น 54 พอรต์ ดจิ ติ อลอนิ พตุ เอาตพ์ ุต และ 12 พอรต์ อนาลอ็ กอนิ พุต 2 พอรต์ อนาลอ็ กเอาตพ์ ตุ เพมิ่ พน้ื ท่ี โปรแกรมเป็น 512KB สามารถใชง้ านพน้ื ทไ่ี ดเ้ ตม็ ไม่มี Bootloader เน่อื งจากสามารถใชก้ บั พอรต์ USB Microcontroller Technology : การประยกุ ตใ์ ชง้ าน LabVIEW Interface for Arduino 14

section-1 ไดโ้ ดยตรง มขี นาดบอรด์ 101.52x53.3mm สามารถใช้ Shields ของ Arduino Uno ได้ แต่บางตวั จาํ เป็นตอ้ งแกข้ าใหถ้ กู ตอ้ ง จากรปู ท่ี 4 จะเหน็ ไดว้ ่าบอรด์ ไดเ้ ปลย่ี นมาใชช้ ปิ ไอซแี บบ SMD จงึ ไม่นยิ ม นํามาใชใ้ นแบบ Standalone แต่นิยมนํามาใชใ้ นงานทจ่ี าํ เป็นตอ้ งพน้ื ทโ่ี ปรแกรมมากขน้ึ ทาํ งานท่ี ซบั ซอ้ นมากยง่ิ ขน้ึ บอรด์ Arduino Duo ใชช้ ปิ ไอซเี บอร์ AT91SAM3X8E ซง่ึ เป็นชปิ ไอซที ใ่ี ชเ้ ทคโนโลยี ARM Core สถาปตั ยกรรม 32 บติ เรง่ ความถค่ี รสิ ตอลขน้ึ ไปสงู ถงึ 84Mhz จงึ ทําใหส้ ามารถงานดา้ นการ คาํ นวน หรอื การประมวลผลอลั กอรทิ มึ ไดเ้ รว็ กว่า Arduino Uno มาก แต่เน่อื งจากชปิ ไอซที ํางานท่ี แรงดนั 3.3V ดงั นนั้ การนําไปใชง้ านกบั เซน็ เซอรค์ วรระวงั ไมใ่ หแ้ รงดนั 5V ไหลเขา้ บอรด์ ควรใชว้ งจร แบ่งแรงดนั เพ่อื ชว่ ยใหล้ อจกิ ลดแรงดนั ลงมาใหเ้ หมาะสม ขอ้ มลู จาํ เพาะ ชปิ ไอซไี มโครคอนโทรเลอร์ AT91SAM3X8E ใชแ้ รงดนั ไฟฟ้า 3.3V 7 – 12V รองรบั การจา่ ยแรงดนั ไฟฟ้า (ทแ่ี นะนํา) 6 – 16V รองรบั การจา่ ยแรงดนั ไฟฟ้า (ทจ่ี าํ กดั ) พอรต์ Digital I/O 54 พอรต์ (มี 12 พอรต์ PWM output) พอรต์ Analog Input 2 พอรต์ กระแสไฟฟ้ารวมทจ่ี ่ายไดใ้ นทุกพอรต์ 130mA กระแสไฟทจ่ี ่ายไดใ้ นพอรต์ 3.3V 800mA กระแสไปทจ่ี ่ายไดใ้ นพอรต์ 5V 800mA พน้ื ทโ่ี ปรแกรมภายใน 512KB พน้ื ทโ่ี ปรแกรม พน้ื ทแ่ี รม 2KB พน้ื ทห่ี น่วยความจาํ ถาวร (EEPROM) 96KB ความถค่ี รสิ ตลั 84MHz ขนาด 101.52x53.3 mm น้ําหนกั 36 กรมั Microcontroller Technology : การประยกุ ตใ์ ชง้ าน LabVIEW Interface for Arduino 15

section-1 ภาพท่ี 16- Arduino Due Duo 4.12 Arduino Microบอรด์ Arduino Micro ออกแบบใหม้ ขี นาดทเ่ี ลก็ และทนั สมยั กว่าบอรด์ Arduino Mini หรอื Arduino Nano เน่อื งจากบนบอรด์ ใชช้ ปิ ไอซไี มโครคอนโทรเลอรเ์ บอรA์ Tmega32u4 ซง่ึ มาพอรต์ USB สามารถเชอ่ื มต่อกบั คอมพวิ เตอรไ์ ดโ้ ดยตรง และมดี จิ ติ อลอนิ พตุ เอาตพ์ ุตมากถงึ 20 พอรต์ มพี น้ื ทเ่ี กบ็ โปรแกรมขนาด 32KB แต่ตอ้ งใชพ้ น้ื ทส่ี าํ หรบั Bootloader ไป 4KB มขี นาดเพยี ง 48x18mm เน่อื งจากบอรด์ ใชช้ ปิ ไอซตี วั เดยี วกบั Arduino Leonardo ทาํ ใหส้ ามารถทาํ ใหบ้ อรด์ จาํ ลอง ตวั เองเป็นเมาสห์ รอื คยี บ์ อรด์ เช่อื มต่อกบั คอมพวิ เตอรไ์ ด้ ขอ้ มลู จาํ เพาะ ชปิ ไอซไี มโครคอนโทรเลอร์ ATmega32u4 ใชแ้ รงดนั ไฟฟ้า 5V รองรบั การจา่ ยแรงดนั ไฟฟ้า (ทแ่ี นะนํา) 7 – 12V รองรบั การจา่ ยแรงดนั ไฟฟ้า (ทจ่ี าํ กดั ) 6 – 20V พอรต์ Digital I/O 20 พอรต์ (มี 7 พอรต์ PWM output) พอรต์ Analog Input 12 พอรต์ กระแสไฟทจ่ี า่ ยไดใ้ นแต่ละพอรต์ 40mA กระแสไปทจ่ี ่ายไดใ้ นพอรต์ 3.3V 50mA พน้ื ทโ่ี ปรแกรมภายใน 32KB พน้ื ทโ่ี ปรแกรม, 4KB ใชโ้ ดย Booloader พน้ื ทแ่ี รม 2.5KB พน้ื ทห่ี น่วยความจาํ ถาวร (EEPROM) 1KB ความถค่ี รสิ ตลั 16MHz ขนาด 48x18 mm น้ําหนกั 13 กรมั Microcontroller Technology : การประยกุ ตใ์ ชง้ าน LabVIEW Interface for Arduino 16

section-1 ภาพท่ี 17- บอรด์ Arduino Micro 4.13 Arduino Nano บอรด์ Arduino Nano ออกแบบมาใหม้ ขี นาดเลก็ และใชก้ บั งานทวั่ ๆไป ใช้ ชปิ ไอซไี มโครคอนโทรเลอรเ์ บอร์ ATmega168 หรอื เบอร์ ATmega328 (มรี ุ่น 2.3 กบั 3 ตอนซอ้ื ตอ้ ง เชค็ ดๆี ก่อน) โปรแกรมผา่ นโปรโตคอล UART มชี ปิ USB to UART มาให้ ใช้ Mini USB เช่อื มต่อกบั คอมพวิ เตอร์ มพี อรต์ ดจิ ติ อลอนิ พตุ เอาตพ์ ตุ 14 พอรต์ มพี อรต์ อนาลอ็ กอนิ พุต 8 พอรต์ บนบอรด์ ยงั มี เรกกูเลเตอร์ สามารถจา่ ยไฟไดต้ งั้ แต่ 7 – 12V เพ่อื ใหบ้ อรด์ ทาํ งานได้ (จา่ ยไฟทข่ี า VIN)กรณมี ี แหล่งจา่ ยไฟ 5V อยแู่ ลว้ กจ็ า่ ยเขา้ ไดเ้ ลยทข่ี า 5V ขอ้ มลู จาํ เพาะ ชปิ ไอซไี มโครคอนโทรเลอร์ ATmega168 หรอื ATmega328 ใชแ้ รงดนั ไฟฟ้า 5V รองรบั การจา่ ยแรงดนั ไฟฟ้า (ทแ่ี นะนํา) 7 – 12V รองรบั การจา่ ยแรงดนั ไฟฟ้า (ทจ่ี าํ กดั ) 6 – 20V 14 พอรต์ (มี 6 พอรต์ PWM output) พอรต์ Digital I/O 6 พอรต์ พอรต์ Analog Input 40mA กระแสไฟทจ่ี า่ ยไดใ้ นแตล่ ะพอรต์ 50mA กระแสไปทจ่ี า่ ยไดใ้ นพอรต์ 3.3V 16KB หรอื 32KB พน้ื ทโ่ี ปรแกรม, 500B ใชโ้ ดยBooloader พน้ื ทโ่ี ปรแกรมภายใน 1 หรอื 2KB 512B หรอื 1KB พน้ื ทแ่ี รม 16MHz พน้ื ทห่ี น่วยความจาํ ถาวร (EEPROM) 45x18 mm 5 กรมั ความถค่ี รสิ ตลั ขนาด น้ําหนกั Microcontroller Technology : การประยกุ ตใ์ ชง้ าน LabVIEW Interface for Arduino 17

section-1 ภาพท่ี 18- บอรด์ Arduino Nano ภาพท่ี 19- ตารางเปรยี บเทยี บคณุ สมบตั ขิ องบอรด์ Arduino แต่ละรนุ่ จากตารางจะเหน็ ไดว้ า่ เน่อื งจากบอรด์ Arduino UNO R3 เป็นรุ่นทไ่ี ดร้ บั ความนยิ มมากทส่ี ุด ทาํ ให้ Library และ บอรด์ Shield สว่ นใหญ่จะรองรบั กบั บอรด์ รนุ่ น้ี การเขยี นโปรแกรมเบอ้ื งตน้ กบั Arduino C++ (การ สอ่ื สารอนุกรม) Microcontroller Technology : การประยุกตใ์ ชง้ าน LabVIEW Interface for Arduino 18

section-1 ภาคปฏบิ ตั กิ ารทดสอบสาํ หรบั การประยกุ ตใ์ ชง้ าน Labview เพ่ือควบคุม Arduino - LabVIEW Interface for Arduino ไมโครคอนโทรลเลอร์ Microcontroller Technology : การประยกุ ตใ์ ชง้ าน LabVIEW Interface for Arduino 19

section-1 การใช้งานต้องติดตงั้ โปรแกรมต่างๆ และเวอรช์ นั่ ท่ีจาเป็นต้องใช้ มีรายการดงั นี้ 1.LabVIEW 2014 หรอื สงู กว่า (*ดงั นนั้ คนสว่ นใหญ่ทใ่ี ช้ LabVIEW เวอรช์ นั่ ต่ํากว่าน้ี ตอ้ ง Upgrade เป็นเวอรช์ นั่ 2014 ครบั ) 2.NI-VISA Driver เวอรช์ นั่ ลา่ สุด เน่อื งจากว่าตอ้ งตดิ ต่อบอรด์ Arduino ผ่านทาง RS-232 ซง่ึ ตวั คอมไพเลอรใ์ ช้ NI-VISA ในการเช่อื มต่อเพ่อื ดาวน์โหลด Code 3. Arduino IDE version 1.5.7 หรอื สงู กว่า ( *แต่เวอรช์ นั่ 1.6.2 ใชง้ านไมไ่ ด)้ 4. ส่วนของ Windows แนะนําใหใ้ ช้ Windows 7 (32-bit หรอื 64-bit กไ็ ดค้ รบั ) แต่ไมแ่ นะนําให้ ใช้ Windows XP เพราะตวั โปรแกรมไมไ่ ดอ้ อกแบบมาใหใ้ ชง้ านกนั XP และมี Bug ดว้ ย ดงั นนั้ จงึ แนะนําใหใ้ ช้ Windows 7 การใช้งานต้องติดตงั้ โปรแกรม 1.ตดิ ตงั้ LabVIEW เวอรช์ นั่ ล่าสดุ สามารถ Download เวอรช์ นั่ ทดลองไดจ้ ากลงิ คน์ ้ี http://www.ni.com/download-labview 2.การตดิ ตงั้ N-VISA Driver แนะนําใหเ้ ป็นเวอรช์ นั่ ล่าสุด *ดใู หด้ จี ะมี 2 เวอรช์ นั่ สาํ หรบั Mac และ Windows ดาวน์โหลด NI-VISA เวอรช์ นั่ ล่าสดุ ไดท้ ล่ี งิ คน์ ้ี Microcontroller Technology : การประยุกตใ์ ชง้ าน LabVIEW Interface for Arduino 20

section-1 3.ตดิ ตงั้ Arduino? IDE สามารถ Download ไดจ้ ากลงิ ค์ http://arduino.cc/en/main/software 4.ตดิ ตงั้ ‚Arduino compatible compiler for LabVIEW‛ มี 2 วธิ ดี ว้ ยกนั 4.1 วธิ แี รก เปิดโปรแกรม ‚VI Package Manager‛ จากนนั้ คน้ หาคาํ วา่ ‚Arduino compatible‛ จากนนั้ ใหต้ ดิ ตงั้ Toolkit แสดงดงั รปู จะเหน็ ไดว้ ่ามใี หต้ ดิ ตงั้ 2 เวอรช์ นั่ คอื Standard และ Home สาํ หรบั ใครทต่ี อ้ งการทดลองเพ่อื ใชง้ าน *แนะนําใหต้ ดิ ตงั้ เวอรช์ นั่ Home ครบั (สามารถทดลองใชง้ านฟรี ได้ 7 วนั ) 4.2 Download ไฟล์ .vip มาตดิ ตงั้ บนเครอ่ื ง โดย Download จาก FTP ลงิ คน์ ้คี รบั จากนนั้ พอไดไ้ ฟลม์ า ไวบ้ นเครอ่ื งก็ Double Click เพอ่ื ตดิ ตงั้ ไดเ้ ลย http://www.ni.com/gate/gb/GB_E.....INOCOMP/US Microcontroller Technology : การประยุกตใ์ ชง้ าน LabVIEW Interface for Arduino 21

section-1 กจ็ ะเหน็ เมนูยอ่ ยของ ‚Arduino compatible compiler for LabVIEW‛ บน LabVIEW พรอ้ มใช้ งานแลว้ ครบั ดงั รปู ตดิ ตงั้ พรอ้ มแลว้ กเ็ รม่ิ ตน้ ใชง้ าน Credit : https://www.facebook.com/LabviewEmbedded4Arduino/ โพสตเ์ มอ่ื 1st December 2015 โดย Sarawut Khumthong การใชง้ าน Parallel Loop ใน LabVIEW Embedded+Arduino การใชง้ าน LabVIEW ในสว่ นของParallel Loop/Time Loop เป็นจดุ เด่นในการพฒั นาดว้ ย LabVIEW ทใ่ี ชง้ านงา่ ยมาก เมอ่ื เปรยี บเทยี บกบั ภาษาอ่นื สาํ หรบั การใชง้ านกบั LabVIEW กบั Arduino ทาง Tsxpert กท็ าํ Solutions ไวใ้ หก้ บั นกั พฒั นาเชน่ กนั โดยเลอื กใชเ้ ทคนิค Hardware Time มาช่วยกาํ หนดฐานเวลาใหก้ บั Loop ท#่ี 2 หรอื ลปู ยอ่ ยของโปรแกรม Microcontroller Technology : การประยุกตใ์ ชง้ าน LabVIEW Interface for Arduino 22

section-1 โดยใช้ Library Timer 1 ซง่ึ มมี าใหใ้ น AVR เทา่ นนั้ ขอ้ คดิ การเพม่ิ เตมิ Feature ทางผผู้ ลติ เสนอ ว่าถา้ ตอ้ งการใหเ้ พมิ่ เตมิ Feature เขา้ ไปในตวั Compiler เพราะเป็นฟงั ก์ชนั่ ท่ี จาํ เป็นมากสําหรบั นกั พฒั นา แต่ไดค้ าํ ตอบมาว่า เน่อื งดว้ ยประสทิ ธภิ าพของ Arduino เอง ซง่ึ เป็น MCU ทม่ี ี RAM น้อยมาก ดงั นนั้ การเพมิ่ Parallel Loop/Time Loop เป็นเรอ่ื งทย่ี ากมาก ดงั นนั้ จงึ เสนอ ทางเลอื กโดยใชเ้ ทคนคิ Hardware Timer เขา้ มาแทน ตวั อยา่ ง: ในกรณนี ้ี Loop ท่ี 1 และ Loop ท่ี 2 ทาํ งานคนละ Rate (s) กนั คอื โดย Loop ที 1 จะใช้ เทคนิด Timer Interrupt ทาํ งานทุกๆ 100ms ซง่ึ ผมนําไปขบั LED ท่ี Pin 4 Loop ท่ี 2 จะเป็น Main Loop ทาํ งานท่ี Rate 500 ms ผมนําไปขบั LED ท่ี Pin 5 ซง่ึ ผลการทดสอบจะเหน็ ไดว้ า่ LED กระพรบิ คนละ Rate กนั การประยกุ ตใ์ ชค้ อื Main Loop ทาํ งาน ตามปกติ แต่ Timer Loop จะทาํ งานแบบขนานไปตรวจสอบ Task ต่างๆทเ่ี ราตอ้ งการ เช่น สถาะปุ่ม สถานะ SW อาทิ Emergency Button เป็นตน้ ตวั อยา่ งการใชง้ านจรงิ อาทิ Data Logger แอพพลเิ คชนั่ สามารถกําหนด Loop ท่ี 1 เป็น Main Loop อ่านค่าสญั ญาณ แสดงผล เกบ็ เขา้ ไปใน Variable จากนนั้ Loo ท่ี 2 หรอื Timer Loop นําค่า Var เขยี นลงไฟล์ อาทิ SD Card Microcontroller Technology : การประยุกตใ์ ชง้ าน LabVIEW Interface for Arduino 23

section-1 *เทคนคิ Hardware Interrupt แบบน้ี ใช้ Library ของ AVR ช่อื \"Timer 1\" โดย minimum time ท่ี set ไดต้ ่าํ สดุ คอื 1 uS สงู สดุ 8.3 S ใชง้ านไดก้ บั AVR เทา่ นัน้ สาํ หรบั Arduino Due (ARM) และ ESP8266 ใชไ้ มไ่ ด้ ป.ล ทางแอดมนิ กก็ ําลงั พฒั นา Feature Parallel Loop ใหก้ บั ESP8266 เช่นเดยี วกนั LabVIEW Embedded for ESP8266 (WiFi) Dev Kit พรอ้ มแลว้ สาํ หรบั นกั พฒั นาไทย LabVIEW Embedded for ESP8266 (WiFi) Dev Kit พรอ้ มแลว้ สาํ หรบั การพฒั นาไทย ไดท้ ดลอง ลองใชง้ าน สงั่ ซอ้ื ไดท้ ่ี ... www.qwaveshop.com Wemos D1 ESP8266 (LabVIEW Version) -ราคา 690 บาท http://goo.gl/JttP9H NodeMCU V2 ESP8266 (LabVIEW Version) -ราคา 490 บาท http://goo.gl/f55uD7 หากตอ้ งการพฒั นาแอพพลเิ คชนั่ IoT หรอื Embedded WiFi อยา่ งรวดเรว็ โดยไมต่ อ้ งมคี วามรเู้ รอ่ื ง Text Programming ไมต่ อ้ งเขยี นภาษา C/C++ โดยการใชฟ้ งั กช์ นั่ ต่างๆ ของ LabVIEW มาวางแลว้ ลากเสน้ เช่อื มต่อ กพ็ ฒั นา IoT Application ไดท้ นั ที การพฒั นาสามารถทาํ ความเขา้ ใจโปรแกรมรวดเรว็ Maintenance Code และสง่ ต่อโค๊ดใหก้ บั นกั พฒั นาในทมี ไดง้ า่ ย ต่อยอดจากการทาํ งานเดมิ พฒั นาระบบระบบใหญ่ๆไดร้ วดเรว็ LabVIEW ESP8266 Dev Kit ตวั น้ี สามารถเบรนิ ์ LabVIEW Code ลงในบอรด์ ไดท้ นั ที ใชง้ าน แบบ WiFi Embedded สรา้ งแอพพลเิ คชนั่ Internet of Things (IoT) แบบมอื อาชพี ไดอ้ ยา่ งรวดเรว็ Dev Kit มาพรอ้ มกบั ESP8266 Library ตดิ ตงั้ งา่ ย พรอ้ มใชง้ าน และมตี วั อยา่ ง Examples ท่ี นําไปใชไ้ ดท้ นั ที อาทิ เช่น ตวั อยา่ ง Internet of Things Application: -Update Data to Thingspeak Cloud Server -Update Data to Google Sheet เกบ็ ขอ้ มลู ออนไลน์ฟรี Export มาพลอ็ ตกราฟ หรอื วเิ คราะหข์ อ้ มลู ดว้ ย Excel ไดเ้ ลย (*ตอ้ งเขยี นโปรแกรมฝงั่ Server รว่ มดว้ ย) -สามารถสง่ ขอ้ มลู ไปเกบ็ บน Online Database ทใ่ี ดกไ็ ด้ ผ่านทาง HTTP ดว้ ย REST API (POST,GET) -การสงั่ ขอ้ ความเขา้ ระบบแจง้ เตอื น บนมอื ถอื (*ตอ้ งเขยี นโปรแกรมฝงั่ Server รว่ มดว้ ย) ตวั อยา่ ง ทาํ เป็น Embedded Data Logger และเชอ่ื มต่อกบั Hardware ต่างๆ -แสดงผลขอ้ มลู ดว้ ย LCD 16x2 Display (I2C) -อ่านขอ้ มลู เวลาจาก RTC จากบอรด์ Data Logger Shield (I2C) -เขยี นขอ้ มลู บนั ทกึ ลง SD Card สามารถเกบ็ ขอ้ มลู แบบ Offline ได้ (SPI) -Temperature เซนเซอร์ K-Thermocouple,DHTxx,DS18x20 -แสดงผลออกจอ 0.96\" OLED 128x64 (SSD1306) -และการเชอ่ื มต่อกบั ฮารด์ แวรอ์ ่นื ๆ มากมาย สงั่ ไดแ้ ลว้ วนั น้ที ่ี ... www.qwaveshop.com ตามลงิ คด์ า้ นลา่ ง ตดิ ต่อสอบถาม [email protected] เบอรโ์ ทร 094 426 7685 LINE@ \"@qwavesys\" Microcontroller Technology : การประยุกตใ์ ชง้ าน LabVIEW Interface for Arduino 24

section-1 Wemos D1 ESP8266 Development Kit (LabVIEW Version) http://goo.gl/JttP9H NodeMCU V2 ESP-8266 Development Kit (LabVIEW Version) http://goo.gl/f55uD7 Credit : https://www.facebook.com/LabviewEmbedded4Arduino/ 25 Microcontroller Technology : การประยุกตใ์ ชง้ าน LabVIEW Interface for Arduino

section-1 เขยี นโปรแกรมแลปววิ LabVIEW Programming ( แลปววิ LABVIEW PROGRAMMING CONCEPT) 1. STRUCTURE เพอ่ื เวลาแกไ้ ขงานจะทําไดร้ วดเรว็ ยงิ่ ขน้ึ รว่ มถงึ ถา้ เรามหี น้าท่เี พมิ่ มากขน้ึ คนท่ี เขา้ มาทําต่อจะไดเ้ ขา้ ใจง่ายและเรว็ ขน้ึ 2. PERFORMANCE เพอ่ื ทาํ ใหโ้ ปรแกรมใชท้ รพั ยากรทม่ี อี ยใู่ หน้ ้อยทส่ี ุดพรอ้ มทงั้ ลดกระบวนการ ทาํ งานทไ่ี มจ่ าํ เป็นออกไป(ทางตรง) และยดื อายุการใชง้ านของอุปกรณ์ทเ่ี รานําโปรแกรมไปตดิ ตงั้ (ทางออ้ ม) 3. FLEXIBLE เพอ่ื ใหโ้ ปรแกรมมคี วามยดื หยนุ่ โดยทไ่ี มต่ ้องมกี ารแกไ้ ขโปรแกรมอกี หากมขี อบเขต ทเ่ี พม่ิ มากขน้ึ LabVIEW เป็นซอฟตแ์ วรท์ เ่ี หมาะสาํ หรบั งานระบบสเกดา้ (SCADA) ซง่ึ ความหมายของสเกดา้ หรอื สกาดา้ นนั่ หาความหมายไดไ้ มย่ ากเทา่ ไหร่ ซง่ึ จะขา้ มการอธบิ ายดา้ นน้ไี ป หน้าต่างแรกเมอ่ื เปิดโปรแกรม ในสว่ นของการเขยี นโปรแกรมแลปววิ นนั่ จะมสี องหน้าตาแสดงอยคู่ อื Front Panel และ Block Diagram แต่เมอ่ื คลกิ๊ Blank VI นนั่ จะมหี น้าตาเดยี วคอื สว่ น Front Panel จะเปิดหน้า Block Diagram ไดโ้ ดยเลอื ก Window > Show Block Diagram หรอื คยี บ์ อรด์ CTRL + E หรอื กด ใหแ้ บง่ สองจอโดย CTRL + W Microcontroller Technology : การประยุกตใ์ ชง้ าน LabVIEW Interface for Arduino 26

section-1 หน้าต่างสว่ น FrontPanel จะทาํ หน้าทส่ี าํ หรบั การแสดงผลการทาํ งานต่างๆของโปรแกรม และ สามารถสงั่ การโปรแกรม หรอื สง่ คา่ ต่างๆไปในโปรแกรมไดด้ ว้ ย หรอื เรยี กยอ่ ๆวา่ เป็น GUI,HMI, MMI นนั่ เอง(ไมร่ จู้ ะเรยี กช่อื ไรดี เหมอื นกนั หมด) *****เมอ่ื คลก๊ิ ขวาทห่ี น้าต่าง Front Panel จะเจอ Tools ต่างๆ ในส่วนของ Block Diagram จะเป็นสว่ นของการเขยี นคาํ สงั่ ต่างๆของโปรแกรมนนั่ เอง *****เมอ่ื คลก๊ิ ขวาทห่ี น้าต่าง Block Diagram จะเจอ Tools ต่างๆ Microcontroller Technology : การประยุกตใ์ ชง้ าน LabVIEW Interface for Arduino 27

section-1 ทดลองเขยี นโปรแกรม เรมิ่ จากสรา้ ง ปมุ่ กด , กล่องขอ้ ความ , กล่องตวั เลขกลอ่ งขอ้ ความกลอ่ งตวั เลขน้ที าํ งานไดเ้ หมอื นกนั แต่แตกต่างทช่ี นิดตวั แปรดงั นนั้ เลอื กใหเ้ หมาะกบั งานใหม้ ากทส่ี ุด โดยไปหน้าต่าง Front Panel คลกิ ขวาในหน้าต่างนนั้ จะมเี ครอ่ื งมอื ต่างๆโผล่มาใหเ้ ลอื กใช้ เมอ่ื คลกิ๊ ท่ี Num Ctrl กจ็ ะสามารถเลอื กทว่ี างไดต้ ามใจชอบ เมอ่ื เมอ่ื คลก๊ิ วางลงแลว้ ทห่ี น้าต่าง Block Diagram จะมี Icon ชอ่ื Numeric ของเจา้ Num Ctrl ไปโผล่ ซงึ เราจะนําส่วนน้เี องไปเขยี น โปรแกรมต่อ Num Ctrl หรอื Number Control จะทาํ หน้าทส่ี ง่ ค่าไปในโปรแกรม Microcontroller Technology : การประยกุ ตใ์ ชง้ าน LabVIEW Interface for Arduino 28

section-1 กลบั มาท่ี Front Panel ต่อมาสรา้ ง Indicator ไวส้ าํ หรบั แสดงผลกนั แลว้ ไปท่ี Block Diagram หน้าตาจะเป็นแบบน้คี รบั วางหน้า Front (Front Panel สวยๆ Icon ในหน้า Block (Block Diagram) จะหาไดง้ า่ ยๆ Microcontroller Technology : การประยกุ ตใ์ ชง้ าน LabVIEW Interface for Arduino 29

section-1 ตวั ไหนคอื Control ตวั ไหน Indicator ดไู ดท้ ล่ี กู ศร โปรแกรมทํามาใหใ้ ชง้ ่ายๆแลว้ Programming Concept 1. Structure เพ่อื เวลาแกไ้ ขงานจะทําไดร้ วดเรว็ ยง่ิ ขน้ึ รว่ มถงึ ถา้ เรามหี น้าทเ่ี พม่ิ มากขน้ึ คนทเ่ี ขา้ มาทําต่อจะไดเ้ ขา้ ใจ งา่ ยและเรว็ ขน้ึ 2. Performance เพ่อื ทาํ ใหโ้ ปรแกรมใชท้ รพั ยากรทม่ี อี ยใู่ หน้ ้อยทส่ี ุดพรอ้ มทงั้ ลดกระบวนการทาํ งานทไ่ี มจ่ าํ เป็นออกไป (ทางตรง) และยดื อายกุ ารใชง้ านของอุปกรณ์ทเ่ี รานําโปรแกรมไปตดิ ตงั้ (ทางออ้ ม) 3. Flexible เพอ่ื ใหโ้ ปรแกรมมคี วามยดื หยนุ่ โดยทไ่ี มต่ อ้ งมกี ารแกไ้ ขโปรแกรมอกี หากมขี อบเขตทเ่ี พม่ิ มากขน้ึ [FIX,Repair]Trouble Connection Database ปญั หาการเชอ่ื มต่อฐานขอ้ มลู ปญั หาการเชอ่ื มต่อตรงน้ี ไม่มผี ลมากมายในระบบเพยี งแต่จะมผี ลต่อการเขยี น Query ของเดตา้ เบส ปญั หามไี รบา้ งมาดกู นั ครบั สงั เกต Query ทงั้ สองฝงั่ ลกั ษณะการเขยี นจะแตกต่างกนั นดิ หน่อย การเขยี น Query ดา้ นซา้ ยจะตอ้ งมกี ารกําหนดตาํ แหน่งของฐานขอ้ มลู แบบละเอยี ดและเป็นมาตรฐาน อยา่ งมาก แต่การเขยี นแบบขวาจะเป็นการกําหนดตาํ แหน่งแบบไมล่ ะเอยี ดเป็นการเขยี นแบบงา่ ย การเขยี น Query แบบซา้ ยจะไมม่ ปี ญั หาในการเชอ่ื มต่อ หรอื Execute Query ใดๆทงั้ นนั้ แต่การเขยี น แบบดา้ นขวา จะมปี ญั หาในการ Execute เน่อื งจากจะเชอ่ื มต่อฐานขอ้ มลู ไมไ่ ด้ Microcontroller Technology : การประยกุ ตใ์ ชง้ าน LabVIEW Interface for Arduino 30

section-1 ตอ้ งเขา้ ไปท่ี Mycom>C:>Windows>SysWOW64>odbc32 ยา้ํ ว่าตอ้ งเขา้ มาทน่ี ้เี ทา่ นนั้ การเขา้ ไปแกท้ ่ี Control panel>Admin Tools ไมไ่ ด้ เลอื ก ฐานขอ้ มลู ทเ่ี ราสรา้ งไวเ้ มอ่ื ตอนแรกนุ้นนะครบั แลว้ เลอื ก Configure... 31 Microcontroller Technology : การประยุกตใ์ ชง้ าน LabVIEW Interface for Arduino

section-1 เลอื ก Next Next อกี ครงั้ 32 Microcontroller Technology : การประยุกตใ์ ชง้ าน LabVIEW Interface for Arduino

section-1 Next ต่อ คลกิ Change the default database to : เลอื ก SK แลว้ Next Microcontroller Technology : การประยุกตใ์ ชง้ าน LabVIEW Interface for Arduino 33

section-1 มปี มุ่ เดยี วแลว้ Finish Test Data Source ดู 34 Microcontroller Technology : การประยกุ ตใ์ ชง้ าน LabVIEW Interface for Arduino

section-1 แสดงว่าผา่ น [Fix,Repair] Cannot Saving Database SQL : ปญั หาการไมส่ ามารถเซฟฐานขอ้ มลู เมอ่ื เราทาํ การสรา้ งฐานขอ้ มลู จะตอ้ งมกี ารกําหนด Column หรอื Field Name ไวส้ าํ หรบั การ บนั ทกึ ขอ้ มลู ต่างๆ ทนี ้ถี ้าหากเราอยากจะกําหนด Properties ของ Column หรอื Field Name มาละกจ็ ะ ไมส่ ามารถ Save ได้ และลองมาแกป้ ญั หาน้ีดู หน้าตา Properties ของ Column Microcontroller Technology : การประยกุ ตใ์ ชง้ าน LabVIEW Interface for Arduino 35

section-1 ก่อนทาํ การแกไ้ ข ลกั ษณะของ Column หรอื Field Name ต่างๆ (เดมิ ๆ) ในทท่ี าํ การแกไ้ ข ในส่วนของ Field Name = id ทต่ี อ้ งการใหห้ า้ มบนั ทกึ ไดท้ หี า้ มซ้าํ และหา้ มว่าง Primary Key , Not Null Microcontroller Technology : การประยุกตใ์ ชง้ าน LabVIEW Interface for Arduino 36

section-1 กดตาม Tools > Option... คลกิ ถกู ช่อง Prevent Saving Changes ... ออกไป แลว้ กค็ ลกิ OK ถา้ จะเซฟไดอ้ นั ดบั แรกตอ้ งเชค็ ฐานขอ้ มลู ก่อนว่า ตอนน้เี น่ยี มขี อ้ มลู ใดทซ่ี ้าํ กนั อยหู่ รอื ไม่ เชน่ เมอ่ื เราเซต็ ให้ Column id มคี ุณสมบตั (ิ Properties) เป็น Primary Key อยกู่ ต็ อ้ งเชค็ วา่ ท่ี Column id มี ขอ้ มลู ใดซา้ํ กนั อยหู่ รอื เปล่า ถา้ มกี ล็ บออกเสยี ก่อน จงึ จะเซฟได้ โพสตเ์ มอ่ื 27th November 2015 โดย Sarawut Khumthong การเช่อื มต่อ Database กบั LabVIEW ภาค2. Connecting With LabVIEW Microcontroller Technology : การประยุกตใ์ ชง้ าน LabVIEW Interface for Arduino 37

section-1 คาํ สงั่ หลกั ๆในสว่ นของ Block Diagram ไดป้ ระมาณน้ี คลก๊ิ ขวา Connectivity > Database Microcontroller Technology : การประยกุ ตใ์ ชง้ าน LabVIEW Interface for Arduino 38

section-1 เพราะฉนนั้ เลอื ก Connectivity > Database > DB Tools Open Connection.vi DB Tools Open Connection.vi ทาํ หน้าทเ่ี ปิดการเช่อื มต่อฐานขอ้ มลู ต่อมาไมต่ อ้ งไปคลกิ ไกลอกี ต่อไป ชท้ี ่ี ICON แรกทเ่ี ราลง(DB Tools Open Connection.vi) ชโ้ี นด Connection Reference แลว้ คลกิ ขวา เลอื ก Database Palette > Advanced > DB Tools Execute Query.vi DB Tools Execute Query.vi ทาํ หน้าทร่ี บั คาํ สงั่ สาํ หรบั สงั่ Database รบั เฉพาะภาษา SQL Microcontroller Technology : การประยกุ ตใ์ ชง้ าน LabVIEW Interface for Arduino 39

section-1 ท่ี ICON ชโ้ี นด Connection Reference เลอื ก Advance > DB Tools Fetch Recordset Data.vi DB Tools Fetch Recordset Data.vi ทาํ หน้าทใ่ี นการนําขอ้ มลู มากจดั เรยี งตามทเ่ี ราสงั่ เอาอกี สองตวั มาใส่ ทาํ เหมอื นๆกนั นัน้ แหละ แคเ่ ลอื กคนละชอ่ื มาต่อ DB Tools Free Object.vi มนั จะทาํ หน้าทไ่ี มใ่ หเ้ กดิ error เวลาฐานขอ้ มลู ว่าง DB Tools Close Connection.vi ทาํ หน้าทป่ี ิดการเชอ่ื มต่อฐานขอ้ มลู ****** ทต่ี อ้ งปิดเพราะมปี ญั หาเรอ่ื งการบรโิ ภค memory ของตวั เครอ่ื งครบั เมอ่ื สรา้ ง DB tools Close Connection แลว้ กจ็ ะสรา้ ง Indicator ไวส้ าํ หรบั เชค็ ดวู ่าการเชอ่ื มต่อนนั้ สาํ เรจ็ หรอื ไมอ่ ย่างไร Microcontroller Technology : การประยุกตใ์ ชง้ าน LabVIEW Interface for Arduino 40

section-1 สรา้ ง String Constant คลกิ ขวา เลอื ก String > String Constant ลากตามรปู กรณที ภ่ี าพไมเ่ หมอื นกนั ไมต่ อ้ งสนใจ ลาก String Constant ตวั แรกไปท่ี Icon DB Tools Open Connection โนด Connection Information ตามรปู เลย ลาก String Constant ตวั ทส่ี องไปท่ี Icon DB Tools Execute โนด SQL Query ตามรปู ล่าง บาง ICON มนั หายากกต็ อ้ งใชว้ ธิ ี Search เน่อื งจาก Software เคา้ ทาํ มใี หใ้ ชอ้ ยแู ลว้ โดยทพ่ี มิ พช์ ่อง Search ว่า Variant แลว้ เลอื ก Variant to Data มาลากไวร้ อก่อน Variant to Data.vi ทาํ หน้าทแ่ี ปลง Microcontroller Technology : การประยกุ ตใ์ ชง้ าน LabVIEW Interface for Arduino 41

section-1 ประเภทขอ้ มลู แลว้ นําไปแสดงต่ออกี ทที ่ี LabVIEW แลว้ Icon Table มาไงวะ งงสิ เรากไ็ ปสรา้ ง Table ในหน้า Front Panel เปลย่ี นทศิ ของลกู ศรไปซา้ ย หรอื เปลย่ี น Control ไปเป็น Indicator ใชส้ าํ หรบั แสดงผล ถา้ Table มี คุณสมบตั เิ ป็น Control อยลู่ กู ศรจะชไ้ี ปขวาจะทาํ หน้าทส่ี ง่ ค่าไปในโปรแกรม Microcontroller Technology : การประยุกตใ์ ชง้ าน LabVIEW Interface for Arduino 42

section-1 ลากเสน้ ใหถ้ ูก เละๆ กช็ า่ งมนั เรามเี คลด็ ลบั จดั เสน้ โดยการกด เครอ่ื งมอื ไมก้ วาด ทด่ี า้ นบน (วงกลมสแี ดงๆ) กด Ctrl + T เพอ่ื แสดงสองหน้าต่างแลว้ กด Run Program ดู แน่นอนครบั มนั error กย็ งั ไมไ่ ดท้ ําการใส่ code SQL เลยมนั จะทาํ งานยงั ไงละ มาลองใส่ Code SQL งา่ ยๆกนั ดคู รชั Microcontroller Technology : การประยุกตใ์ ชง้ าน LabVIEW Interface for Arduino 43

section-1 กเ็ ปิด SQL แลว้ เปิดฐานขอ้ มลู ทเ่ี ราสรา้ งไว้ แต่คราวก่อนแลว้ ก็ ทาํ การ SELECT Top 1000 กจ็ ะมี Code แสดงก็ Copy แลว้ มา Past ในช่อง String Contant ไดเ้ ลย http://www.tutorialspoint.com/sql/sql-insert-query.htm 44 Microcontroller Technology : การประยุกตใ์ ชง้ าน LabVIEW Interface for Arduino

section-1 การเชื่อมต่อ Database กบั LabVIEW Intro Prepare your DB (Database) กบั LabVIEW 10 Step การต่อ cRIO และ เซนเซอร์ เรอ่ื งราวการเชอ่ื มต่ออุปกรณ์ระหวา่ ง Compact RIO กบั อุปกรณ์ตรวจวดั อุณภูมิ ก่อนอ่นื สง่ิ ทต่ี อ้ งมี ก่อนการเช่อื มต่อ 1. CompactRIO ในทน่ี ้ผี มใช้ cRIO 9076 2. Analog Input Module ในทน่ี ้ผี มใช้ NI9208 3. TempSensor 1. เปิดโปรแกรม LabVIEW ก่อนเลย แลว้ เลอื กท่ี Empty Project 2.คลกิ๊ ขวาท่ี Project > New > Target and Devices 45 Microcontroller Technology : การประยกุ ตใ์ ชง้ าน LabVIEW Interface for Arduino

section-1 3.เลอื กท่ี Realtime Compact RIO รอโหลดสกั ครกู่ จ็ ะเจอ CompactRIO เรา กรณตี วั อยา่ งน้ีทาํ การเซต็ Properties ของ CompactRIO แลว้ เลยช่อื วา่ Main ถา้ ไมไ่ ดต้ งั้ จะเป็นช่อื รนุ่ ของ CompactRIO นนั้ ๆครบั 4. คลกิ ขวา My Computer(ท่ี Project นะครบั ไมใ่ ช่ Desktop) > New > VI เพ่อื เขยี นโปรแกรม Microcontroller Technology : การประยุกตใ์ ชง้ าน LabVIEW Interface for Arduino 46

section-1 5. กลบั ไปท่ี Project เลอื ก Compact RIO (ของผมช่อื Main)กจ็ ะเจอรายชอ่ื ของ Module ต่างๆทเ่ี รา ตดิ ตงั้ ไปไวท้ ่ี CompactRIO แลว้ นะครบั ในทน่ี ้ี Module NI9208 คอื Analog Input Module 6. Drag ไอคอน AI0 ทห่ี น้าต่างโปรเจคลงมาไวห้ น้า BlockDiagrams และเขยี นตามรปู 7.เมอ่ื Run แลว้ คา่ ทไ่ี ดย้ งั ไมส่ ามารถนําไปใชง้ านไดเ้ น่ืองจากมคี ่ากระแสจาก Sensor เพยี วๆ Microcontroller Technology : การประยกุ ตใ์ ชง้ าน LabVIEW Interface for Arduino 47

section-1 8. กลบั มาทห่ี น้าต่าง Project คลกิ ขวา AI0 เพ่อื ทาํ การ Scale 9. คลกิ Scaling > Enable Scaling > กาํ หนดคา่ ต่างๆตามท่ี DataSheet Sensor ใหไ้ ว้ ตวั Sensor ท่ี ใชน้ ้ี มชี ว่ งกระแสการทํางานตงั้ แต่ 4mA - 20mA และอุณภมู กิ ารทาํ งารทว่ี ดั ได้ คอื -50 ถงึ 150 องศา C ดงั นนั้ กก็ รอกชอ่ ง Raw Full Scale เป็น 0.02 และ Raw Zero เป็น 0.004 และ Engineering Full Scale เป็น 150 และ Zero เป็น -50 ตาม Datasheet Microcontroller Technology : การประยุกตใ์ ชง้ าน LabVIEW Interface for Arduino 48

section-1 10. Run โปรแกรมอกี ครงั้ กจ็ ะไดค้ ่าทแ่ี สดงเป็น องศาเซลเซยี สแลว้ สง่ิ สาํ คญั กวา่ นนั้ คอื คณุ อ่าน DataSheet ของอุปกรณ์เป็น เพราะเซนเซอรม์ กี ารส่งขอ้ มลู หลากหลายแบบทงั้ RS485, Analog, Digital ซง่ึ การ Wirring กแ็ ตกต่างกนั ไป อยา่ งไรกแ็ ลว้ แต่ ต่อสายใหช้ วั รก์ ่อนทจ่ี ะจา่ ยไฟ เรม่ิ ท่ี Control Panel > Adminitrative Tools 49 Microcontroller Technology : การประยกุ ตใ์ ชง้ าน LabVIEW Interface for Arduino

section-1 เรม่ิ ทาํ การจดั การการเชอ่ื มต่อฐานขอ้ มลู DataSource (ODBC) ซอตฟ์ แวรน์ ้ตี ดิ มากบั เครอ่ื งครบั ฟรๆี คลกิ Add เพ่อื เพม่ิ ฐานขอ้ มลู สาํ หรบั การเชอ่ื มต่อกบั โปรแกรมอ่นื 50 Microcontroller Technology : การประยกุ ตใ์ ชง้ าน LabVIEW Interface for Arduino


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