Problema con un arduino mega 2560

Salve a tutti, ho un programma che funziona bene con un arduino 2009, ma non vuole funzionare con un arduino mega 2560.
Il problema é che non vuole funzionare in uscita seriale, ho provato un piccolo esempio di uscita seriale e funziona bene, dunque penso che il problema sia nel codice.
Se qualcuno vuole aiutarmi sara il benvenuto, ho poco conoscenze con arduino...

Alfredo

Un altro candidato per la sfera di cristallo. :wink: :wink: :wink:
Cosa voliamo fare? Tu Ti tieni il Programma e noi indoviniamo o ci dai il programma e cerchiamo la causa del Tuo problema, Te lo risolviamo e Ti spieghiamo cos’era l’errore? :wink: :wink: :wink:
Ciao Uwe

Oups scusami e vero quello che dici.
Ecco il programma al completo trovato qui Dangerpants Labs Air Data Instrument
il problema penso che sia nel file adi_main.pde

adi_main.zip (13.5 KB)

che libreria usi? non tutte vanno con la mega...

Ho l’IDE 0022, ma ho provato con altri e stesso problema…

Se metto in commentario queste linee funziona

//#ifdef SERIAL_ON
// Serial.begin(9600);
//#endif

void output_line(int lineno, char * string)
{
/*
if (millis() - last_print < 100)
{
last_print = millis();
return;
}

printf("%d: %s\n", lineno, string);
Serial.println(string);
*/
lcd.setCursor(0, lineno);
lcd.print(string);
}

Se usi lo stesso shield e non é un shield R3 e un Arduino xxx R3 il problema non é la seriale sui pin 0 e 1 ma la I2C che sul Arduino 2009 - UNO é sui piedini A4 e A5 e sul Arduino MEGA/MEGA2560 é sui piedini 20 e 21.

Solo la versione R3 sia dei Arduini che dei Shield rispplve questo problema con dei pin aggiuntivi per la I2C.

Ciao Uwe

Scusami non mi spiego bene (dopo 38 anni in Francia) io parlavo sull'uscita Serial Monitor del IDE 0022 per visualizzare i cambiamenti dei sensori...mille scuse
Quello che dicevi conoscevo gia

Ma col MEGA sulla seriale e il terminale del IDE cosa esce?
Niente o dati / caratteri insensati?
Ciao Uwe

Credo per il fatto che sulla MEGA2560, avendo 3 seriali, devi sempre specificare quale vuoi usare.
Prova sostituendo Serial con Serial1 ad esempio

no, leo non mi risulta.
Serial.begin(9600); si riferisce alla prima seriale che va sui piedini 0 e 1 ed che é collegata al adattatore USB-Seriale.

http://arduino.cc/en/Reference/Serial:
The Arduino Mega has three additional serial ports: Serial1 on pins 19 (RX) and 18 (TX), Serial2 on pins 17 (RX) and 16 (TX), Serial3 on pins 15 (RX) and 14 (TX).

Ciao Uwe

uwefed:
no, leo non mi risulta.
Serial.begin(9600); si riferisce alla prima seriale che va sui piedini 0 e 1 ed che é collegata al adattatore USB-Seriale.

E' vero, hai ragione tu. L'Atmega2560 ha 4 seriali.

Salve amici, ho risolto il mio problema, non avevo visto che avevo anche una variante di questo codice che lui funziona benissimo, pero l’ultima mia tappa e d’inserire un altro pezzo di codice per un funzionamento globale e qui ho un big problema.

Mi presento, sono Pilota Privato Aero e Instruttore di volo ULM, e sto per fabbricarmi un EFIS (Electronic Flight Instruments System) e sono appassionato con i sistemi imbarcati.
Ho comprato molti sensori in cui avro bisogno per questo EFIS ecco la lista:

  • Razor IMU 6DOF (Orizonte Artificiale)

  • GPS EM411

  • BMP085 (Per Altimetro e Variometro)

  • LSM303DLH (Bussola in ozione)

  • DS1307 (Orologio)

  • Arduino 2009

  • Arduino Mega 2560

  • chipKit UNO32

Tutto funziona perfettamente, pero vorrei poter mettere tutto sul Mega 2560 o meglio il chipKit UNO32 per un massimo di precisione.

I dati sono recuperati tramiite l’uscita seriale con un soft che ho fatto (che funziona bene) che attivera gli ActiveX (Global Majic) di tutti i strumenti di volo.

Il mio problema e, come inserire il codice del file ha.pde nel file adi_main.pde per utilizzare tutti questi sensori con un Mega 2560 o UNO32 ?

Grazie d’avanzo per il vostro aiuto.

Alfredo

adi_main.zip (14.1 KB)