14 มกราคม 2553

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

Tensile Testing

สืบเนื่องจากรายงานครั้งที่ 3 ตรงข้อที่ 2 ของการติดตั้ง firmata ที่ติดไว้ว่า ทำไมถ้าเราเลือกเป็น StandardFirmata แล้วค่าจาก analog I/O มีค่าเป็น 0 ซึ่งได้ข้อสรุปมาว่า เป็น bug ของ firmata ใน arduino 0017 ซึ่งได้รับการแก้ไขจาก firmata developer เรียบร้อยแล้ว ทั้งนี้ได้สรุปวิธีแก้ไข มาดังนี้

1. ให้ทำการโหลด firmata ตัวใหม่จาก >> Firmata-2.1beta7.zip
2. ให้เข้าไปในโฟร์เดอร์ libraries โดยทำได้ดังนี้
สำหรับ
GNU/Linux : ~/Desktop/arduino-0011/hardware/libraries
windows: C:\Program Files\arduino-0011\hardware\libraries
Mac OS X: /Applications/Arduino.app/Contents/Resources/Java/hardware/libraries
(สำหรับใน Mac นั้นหลังจากที่เข้าไปใน Application แล้วจะพบกับ arduino.app ให้คลิกขวาเลือก Show Package Contents)
3. เมื่อเข้าไปในโฟร์เดอร์ libraries แล้วนั้น ให้นำโฟร์เดอร์ Firmata ไว้วางทับ (อย่าเอาไปทั้ง Firmata-2.1beta7)
4. ให้ปิด arduino environment แล้วเปิดใหม่
5. ให้เลือก file > examples > firmata > StandardFirmata แล้วทำการ อัพโหลดเข้าบอร์ด
6. เปิด processing แล้วลองรันงานที่เรียกใช้ทั้ง analog และ digital ดูว่าทำงานได้หรือป่าว (มันต้องได้ถ้าทำไม่ผิดเอง)
ตัวอย่าง
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);
arduino.digitalWrite(13,Arduino.HIGH);
delay(value);
arduino.digitalWrite(13,Arduino.LOW);
delay(value);
}

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

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