13 มกราคม 2553

รายงานความก้าวหน้า ครั้งที่ 3

Tensile Testing
จากรายงานครั้งที่ 2 หลังติดตั้งทุกอย่างพร้อมแล้วก็ลองอัพโหลดโปรแกรมใช้งานดู ปรากฏว่าราบรื่นดีไม่มีปัญหาแต่อย่างใด แต่เคราะห์ซำ้กรรมซัดเหตุอันใดไม่ทราบทำไม code ที่เขียนบน processing ดันรันบน arduino ไม่ได้ แม้ว่าจะ import library มาแล้วก็ตามก็ดันไม่ยอมรัน ฉะนั้นจึงต้องย้ายกลับไปทำบน processing ตามเดิม แต่โชคดีที่ว่าใน processing มี library ของ arduino ให้ใช้งานได้อย่างสะดวกสะบาย เหมือนเขียนอยู่บน arduino ปกติ แต่กว่าจะง่ายเพียงนั้น มันยากลำบากหนักกว่าจะหาวิธีใช้งานได้ ทั้งนี้แล้วจะขอเขียนไว้สำหรับผู้ใช้ processing ในการเขียนโปรแกรมควบคุม arduino หรือ freeduino ก็ตามสามารถใช้ได้เหมือนกัน กระผมทดลองแล้ว ฮ่าๆๆ มีดังนี้

1. เปิดเจ้าตัว arduino evironment ขึ้นมา
2. เลือก file > examples > firmata > StandardFirmata หรือถ้าต้องการเรียกใช้ส่วนของ analog I/O ให้เลือก SimpleAnalogFirmata แทน ไม่งั้นถึงเรียกใช้ไปจะได้แค่ค่า 0 กลับมาส่วนสาเหตุนั้นกำลังศึกษาเบื้องต้นอยู่
3. หลังจากเลือกแล้วให้เชื่อมต่อ arduino board เข้ากับคอมพิวเตอร์ แล้วทำการอัพโหลดเจ้า standardFirmata หรือ SimpleAnalogFirmata ลงไป
4. ทำการลง arduino library ลงใน libraries ของ processing ซึ่งจะอยู่ในส่วนของ sketchbook โดยเราสามารถดูได้ว่าอยู่ที่ไหนจาก preference (ในกรณีที่เราไม่เคยลง library เพิ่มเติมเลยให้เราสร้างโฟร์เดอร์ชื่อ "libraries" ขึ้นมา) และนำโฟร์เดอร์ arduino ไปวางไว้ในนั้น โดย arduino library โหลดได้จากที่นี่ >> processing-arduino-0017.zip
5. หลังจากนั้นก็ลองรันโปรแกรมที่เขียนควบคุม arduino จาก processing ดู
ตัวอย่าง

import processing.serial.*;
import cc.arduino.*;
Arduino arduino;
int analogPin = 0;
int value = 0;

void setup(){
arduino = new Arduino(this, Arduino.list()[0], 57600);
}
void draw(){
value = arduino.analogRead(analogPin);
println(value);
}

หวังว่าคงจะช่วยลดเวลาให้การแก้ปัญหาเดียวกันไปได้ระดับนึงนะ อิอิ ยังไงลองทำดูสำหรับผู้ที่ต้องการใช้ processing เขียนโปรแกรมควบคุม arduino

แหล่งข้อมูลจาก :: http://www.arduino.cc/playground/Interfacing/Processing
http://processing.org/discourse/yabb2/YaBB.pl?num=1232482902

ไม่มีความคิดเห็น:

แสดงความคิดเห็น