2012-01-02 17 views
5

Ho un Arduino Mega 1280 e voglio comunicare con esso tramite Firmata. Sembra facile ...Firmata con Arduino Mega 1280, impossibile leggere tutti i pin di input

Quindi il mio problema: se uso il firmware StandardFirmata per Arduino, incluso in Arduino 1.0, posso impostare i Pin di uscita e inviare loro un segnale ((evidenziando un led sul pin 24):.

arduino.digitalWrite(24, Arduino.HIGH); 

Ma non riesco a leggere qualsiasi ingresso digitale dal mio Mega Come ho scoperto, alcune persone avevano il problema con la lettura su porte superiore a 13. non posso verificarlo, i miei segnali di ingresso Iniziamo alla porta 23. esempio:

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

Ora I inst alling the AllInputsFirmata sul mio Mega, è anche preinstallato in Arduino 1.0. Ora non è un problema di leggere da un ingresso digitale: Esempio:

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

Ma questa volta, non posso inviare alcun segnale fuori.

Quindi, cosa sta succedendo?

(Sì, ho provato con il software FirmataTest, e c'è tutto va bene!)

+0

Hai provato con diverse versioni del Software Arduino? Forse 0022 o 0023? – fuzz

+0

stai usando la [biblioteca specifica per mega] (http://arduino.cc/playground/uploads/Nilseuropa/processing-arduinomega.zip) dal [Arduino Playground] (http://www.arduino.cc/playground/ interfacciamento/Processing)? – JAMESSTONEco

risposta

0

non è sicuro, ma in Arduino C++ prima è necessario impostare la modalità del perno, prima di poter inviare i dati fuori. La lettura digitale funziona anche meglio quando si imposta prima la modalità. Potrebbe lo stesso valere qui?

Se quindi questo potrebbe essere di aiuto per voi http://arduino.cc/en/Reference/Firmata