2012-01-02 14 views
5

Tôi nhận được Arduino Mega 1280 và muốn liên lạc với nó qua Firmata. Điều đó nghe có vẻ dễ dàng ...Firmata với Arduino Mega 1280, không thể đọc tất cả các ghim đầu vào

Vì vậy, vấn đề của tôi: Nếu tôi sử dụng Firmware StandardFirmata cho Arduino, được bao gồm trong Arduino 1.0, tôi có thể đặt Ghim đầu ra và gửi tín hiệu cho họ ((làm nổi bật đèn pin 24):

arduino.digitalWrite(24, Arduino.HIGH); 

Nhưng tôi không thể đọc bất kỳ đầu vào kỹ thuật số nào từ Mega. Tôi không thể xác minh, tín hiệu đầu vào của tôi bắt đầu tại cổng 23. ví dụ:

if (arduino.digitalRead(25) == Arduino.HIGH){ 
    println("is high"); 
    } 

Bây giờ tôi đã tham gia alled AllInputsFirmata trên Mega của tôi, nó cũng được cài đặt sẵn trong Arduino 1.0. Bây giờ không có vấn đề gì khi đọc từ đầu vào kỹ thuật số: ví dụ:

if (arduino.digitalRead(25) == Arduino.HIGH){ 
    println("is high"); 
    } 

Nhưng lần này, tôi không thể gửi tín hiệu.

Vì vậy, những gì đang xảy ra?

(Vâng, tôi đã thử nghiệm nó với các phần mềm FirmataTest, và có mọi thứ diễn ra ổn!)

+0

Bạn đã thử với các phiên bản khác nhau của Phần mềm Arduino chưa? Có lẽ 0022 hoặc 0023? – fuzz

+0

bạn đang sử dụng [thư viện đặc biệt lớn] (http://arduino.cc/playground/uploads/Nilseuropa/processing-arduinomega.zip) từ [Sân chơi Arduino] (http://www.arduino.cc/playground/ Interfacing/Processing)? – JAMESSTONEco

Trả lời

0

không chắc chắn nhưng trong Arduino C++ đầu tiên bạn cần phải thiết lập các chế độ của pin, trước khi bạn có thể gửi dữ liệu ra. Có công việc đọc kỹ thuật số cũng tốt hơn khi thiết lập chế độ đầu tiên. Có thể áp dụng tương tự ở đây không?

Nếu vậy điều này có thể giúp ích cho bạn http://arduino.cc/en/Reference/Firmata