ช่วงนี้ ก็เป็นช่วงเด็กทำโปรเจคกัน เราก็มีโปรเจคที่ต้องทำเหมือนกัน ก็เพิ่งจะผ่านการพรีเซ้นต์ หัวข้อโปรเจคผ่านไป ก็สบายใจได้หน่อยนึง ที่เหลือก็ทำโปรเจคให้มันสำเร็จก็แล้วกัน
วันนี พอดีเพื่อนมาหาที่บ้าน มาปรึกษากันเรื่องโปรเจคของมัน ประมาณว่า ต้องการทำให้บอร์ด Arduino Freeduino ติดต่อกับ Labview เพื่อที่เราจะได้เอา NI Labview สร้างเป็นหน้ากาก GUI เพราะเห็นว่า เคยเรียนการใช้ NI LABVIEW มาแล้ว ก็ไม่น่าจะยากมาก ลองๆค้นหาข้อมูลในอินเตอร์เนต ก็เจอ ที่น่าสนใจดู ลิ้งค์ อืมน่าสนแหะ ลองติดตั้งดูสักหน่อยสิ บอร์ด Arduino เราก็มีแล้ว
- อันดับแรก ก็ต้องมี NI LABVIEW เวอร์ชั่น 2009 ขึ้นไป เค้าแนะนำว่า งั้นนะ แต่ที่ผมทดลองใช้อยู่เป็น เวอร์ชั่น NI LABVIEW 2011
- บอร์ด Arduino สักบอร์หนึ่ง ตระกูลไหนก็ได้ แล้วก็พวกอุปกรณ์อิเล็กทรอนิกส์ สักหน่อย
- Arduino IDE แน่นอนหล่ะ มีบอร์ดแล้วไม่มีโปรแกรม ก็ชักจะยังงัยๆ อยู่
หวังว่า เพื่อนๆ มีทั้งสามอย่าง และติดตั้งเรียบร้อยแล้วนะ ต่อจากนี้ไป ก็เป็นการทำให้ Labview สามารถมองเห็น Serial Comport แล้วก็ทำให้ทั้งสองอย่าง Interface กันได้ ก็ทำตามขั้นตอนกันเลยครับ
- ติดตั้ง NI-VISA Drivers เพื่อทำให้ NI LABVIEW มองเห็น Serial Port กันก่อน
- ติดตั้ง VI Package Manager ตัวนี้ จะเป็นตัวสร้าง แชร์ และค้นหา LabVIEW add-ons และ toolkits จาก LabVIEW Tools Network ในที่นี้ เราจะเอามาไว้สำหรับค้นหา และติดตั้ง
- เมื่อติดตั้ง VI Package Manager เสร็จแล้ว ที่หน้าต่างโปรแกรม ให้เราค้นหา Tool kit ที่ชื่อ Labview Interface for Arduino ตามรูป เลยครับ
- รีสตาร์ทเครื่องสักครั้ง เพื่อความเป็นสิริมงคล
- เปิดไฟล์โปรเจคของ Arduino (ในที่นี้ บอร์ด Arduino ของเราควรจะเชื่อมต่อ กับคอมพิวเตอร์เรียบร้อยแล้ว) ซึ่งจะอยู่ใน Folder C:\Program Files\National Instruments\LabVIEW 2011\vi.lib\LabVIEW Interface for Arduino\Firmware\LVIFA_Base ชือไฟล์ LVIFA_Base.pde
- ทำการ Complie ซึ่งน่าจะผ่าน แล้วก็ให้อัพโหลดเข้าไปที่ตัวบอร์ด Arduino ถ้าจำไม่ได้ ให้ดูวิธีการจากโพสเก่าๆ ของผมครับ คลิก
- เปิดโปรแกรม Labview แล้วเปิดไฟล์ทดสอบ โหลดจาก ที่นี่ จากนั้นก็รีนโปรแกรม เลยครับ
- ลองปรับค่า แล้วดูผล
ถ้าอยากทราบว่า สองอันนี้ มันทำงานได้งัย ลองเข้าไปแกะโค๊ดของ Arduino แล้วก็ลองใช้ โปรแกรม Serial Port Monitor นั้งจับข้อมูลที่วิ่งบน Serial Port ดูครับ
20 ความคิดเห็น:
ขอบคุณครับ^^
ลองทำตามวิธีที่แนะนำแล้วค่ะ แต่ยังรันไม่ได้ ขึ้น Error 5005 ต้องแก้ยังไงค่ะ
ตามนี้ครับ http://digital.ni.com/public.nsf/allkb/3DFDB07DC04B036686257885005981E1
ผมขอเสริมนิดหนึ่งจากบทความนี้นะครับ
1. ไฟล์ เฟิร์มแวร์ ของบอร์ด อาจอยู่ใน Programfile(X86)
2. บอร์ดอาจต้องดูหมายเลขที่ mcu ด้วย ตอนคอมไพลโปรแกรม ผมเลือก Uno แล้วไม่ผ่านครับ ต้องเลือกตามเบอร์ของ mcu ที่พิมพ์บนตัวมัน
3. โปรแกรมใน LabVIEW ยังไม่สมบูรณ์ จริงๆเค้าคอมเม้นท์มาให้แล้วว่าต้องทำอย่างไร
3.1 Error 5005 เกิดจากไม่เลือก Comport
3.2 Error 5002 เกิดจาก ใน While Loop ไม่มีดีเลย์ หรือ ดีเลย์เร็วเกินไป 1000 ยังเร็วไป ใช้ที่ 2000 ไม่มี error แต่คนอื่นไม่แน่
3.3 Error 5003 เกิดจาก สาย USB หลุดระหว่างรันโปรแกรม
หวังว่าจะเป็นประโยชน์ต่อผู้อื่นบ้างไม่มากก็น้อย ทั้งนี้ทั้งนั้น ขอขอบคุณบทความนี้ที่เปิดกว้างความคิดผมอีกขั้น
สราวุธ ขุมทอง
จากประสบการณ์ของผมนะครับ บอร์ด Arduino รุ่นหลังๆ ที่ใช้ Atmega16U2 ที่เอามาทำ USB bridge แทน FTDI FT232RL ในบอร์ดรุ่นเก่าๆ ทำงานได้ไม่ค่อยดี ผมมีปัญหา Error บ่อยๆ ใน Labview ยิ่งถ้าตอนโปรแกรมมันค้างแล้วไม่คืน resource หรือเขีียนโปรแกรมไม่ดี รับรองได้ว่า ต้องรีสตาร์ทเครื่องคอมพิวเตอร์กันเลยทีเดียว (ทั้งๆ ที่ ถอดสาย USB ออก ก็น่าจะแก้ปัญหาได้ )
ลองหาบอร์ด arduino รุ่นที่ใช้ FT232RL ที่เป็น USB port มาลองดูครับ อาจจะแก้ปัญหาได้เหมือนผม
ตอนที่ 2 ครับ http://mechacity.blogspot.com/2012/10/labview-interface-for-arduino-part-ii.html
ผมทำถึงขั้นตอนที่ 6 แล้วมันเป็นแบบนี้ครับ
Arduino: 1.5.7 (Windows 7), Board: "Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"
C:\Program Files\Arduino\libraries\RobotIRremote\src\IRremoteTools.cpp:5:16: error: 'TKD2' was not declared in this scope
int RECV_PIN = TKD2; // the pin the IR receiver is connected to
^
This report would have more information with
"Show verbose output during compilation"
enabled in File > Preferences.
เราต้องเอาโค๊ดจากข้อ 5 มา compile ไม่ใช่เหรอครับ
ใช่ครับ ผมก็เอาโค้ดจากข้อ5มา complie แล้วมันก็ขึ้นแบบนี้แหละครับ คุณวิสิทธิ์ แผ้วกระโทก
มีวิธีแก้ไหมครับ ช่วยแนะนำผมที
ให้เอา arduino ide เวอร์ชั่นต่ำกว่า 1.0 มา compile ครับ http://arduino.cc/en/Main/OldSoftwareReleases
ออ คือต้องใช้เป็นพวก arduino 0023,0022,0021 ใช่ไหมครับ หรือว่าใช่ arduino 1.0 ได้หรือป่าวครับ
ถ้าจำไม่ผิด ผมน่าจะใช้เวอร์ชั่น 0022 ตอนอัดคลิปวีดีโอ นะครับ
ตอนนี้มีปัญหาอีกนิดนึงครับ โหลดรุ่นเก่ามา มันดันเปิดไฟล์ LIFA_Base ไม่ได้อะครับพี่
มันขึ้นบอกว่า
Processing can only open its own sketches and other files ending in .pde
ตามนี้ครับพี่
ผมก็สังเกตุอยู่ครับว่าไฟล์ LIFA_Base ตรง type มันเป็น arduino file มันไม่ใช่ pde
ครับ ลองหาไฟล์ที่เวอร์ชั่นทั้งสอง มันเข้ากันได้ ลองทั้งซอร์สโค๊ด และ arduino ide ให้มันเข้ากันได้ครับ ปัญหามันอยู่ตรงนั้นแหละ
ขอบคุณมากๆครับพี่ ที่สละเวลามาแนะนำผม
เดี๋ยวผมจะลองไปเรื่อยๆแล้วกันนะครับ
ใช้ LabVIEW 8.5 Interface for Arduino ได้หรือป่าวครับ
ต้องลองดูครับ ถ้าไม่รองรับ ก็อาจต้องเขียนเอง
LabVIEW สามารถใช้บน raspberry pi ได้มั้ยค่ะ
วิธีเลือก comport ที่labview ทำยังไงครับ มันerror 5005 ครับผม ขอบคุณมากครับ
Post a Comment