2012-01-02 10 views
5

Mam Arduino Mega 1280 i chce komunikować się z nim poprzez Firmata. To brzmi łatwo ...Firmata z Arduino Mega 1280, nie może odczytać wszystkich pinów wejściowych

Więc mój problem: jeśli używam oprogramowania układowego StandardFirmata dla Arduino, które jest zawarte w Arduino 1.0, mogę ustawić wyprowadzenia i wysłać do nich sygnał ((podświetlenie diody na pinezce) 24).

arduino.digitalWrite(24, Arduino.HIGH); 

Ale nie mogę odczytać żadnych danych cyfrowych z mojego Mega Jak się dowiedzieliśmy, niektórzy mieli problem z czytania na porty wyższe niż 13. nie mogę zweryfikować to, moje sygnały wejściowe zacząć na porcie 23. przykład:

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

teraz inst alledputsFirmata na moim Mega, jest również preinstalowany w Arduino 1.0. Teraz nie ma problemu z odczytem z wejścia cyfrowego: przykład:

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

Ale tym razem nie mogę wysłać żadnego sygnału.

Więc co się dzieje?

(Tak, ja testowałem to z oprogramowaniem FirmataTest, a tam wszystko idzie w porządku!)

+0

Czy próbowałeś z różnymi wersjami oprogramowania Arduino? Być może 0022 czy 0023? – fuzz

+0

używasz przycisku [mega konkretną bibliotekę] (http://arduino.cc/playground/uploads/Nilseuropa/processing-arduinomega.zip) z [Arduino Playground] (http://www.arduino.cc/playground/ Łączenie/Przetwarzanie)? – JAMESSTONEco

Odpowiedz

0

nie wiem, ale na Arduino C++ najpierw trzeba ustawić tryb kołka, zanim będzie można wysyłać dane na zewnątrz. Tam cyfrowy odczyt działa również lepiej po ustawieniu trybu jako pierwszy. Czy to samo dotyczy tutaj?

Jeśli tak, to może być pomocne dla Ciebie http://arduino.cc/en/Reference/Firmata

Powiązane problemy