2012-01-02 20 views
5

Obtuve un Arduino Mega 1280 y deseo comunicarme con él a través de Firmata. Eso suena fácil ...Firmata con Arduino Mega 1280, no se pueden leer todos los pines de entrada

Así que mi problema: si utilizo el Firmware StandardFirmata para el Arduino, que está incluido en Arduino 1.0, puedo establecer Pins de salida, y enviarles una señal ((resaltando un led en el pin 24):.

arduino.digitalWrite(24, Arduino.HIGH); 

Pero no puedo leer cualquier entrada digital de mi Mega Como descubrí, algunas personas tenían el problema con la lectura en los puertos superiores a 13. no puedo verificarlo, mis señales de entrada de inicio en el puerto 23. ejemplo:

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

Ahora inst Alled AllInputsFirmata en mi Mega, también está preinstalado en Arduino 1.0. Ahora no hay ningún problema para leer desde una entrada digital: ejemplo:

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

Pero esta vez, no puede enviar ninguna señal de salida.

Entonces, ¿qué está pasando?

(Sí, he comprobado con el software FirmataTest, y no todo va bien!)

+0

¿Has probado con diferentes versiones del software de Arduino? Quizás 0022 o 0023? – fuzz

+0

¿está utilizando la [mega biblioteca específica] (http://arduino.cc/playground/uploads/Nilseuropa/processing-arduinomega.zip) del [Arduino Playground] (http://www.arduino.cc/playground/ Interfacing/Processing)? – JAMESSTONEco

Respuesta

0

no estoy seguro pero en Arduino C++ primero que hay que establecer el modo del pasador, antes de poder enviar datos a cabo. La lectura digital también funciona mejor al configurar el modo primero. ¿Podría aplicarse lo mismo aquí?

Si lo que este podría ser de ayuda para usted http://arduino.cc/en/Reference/Firmata

Cuestiones relacionadas