Arduino CW Keyer e Arduino Mega 2560

Ho realizzato il progetto Arduino CW Keyer su un Arduino Mega 2560 che potete vedere nell'immagine allegata e ho un problema che non sono riuscito a risolvere neanche interpellando l'autore (non conoscendo l'inglese ho fatto le traduzioni con Google :roll_eyes: ).
Lo sketch (più di 7000 righe) lo si può trovare a questo indirizzo: K3NG Arduino CW Keyer download | SourceForge.net mentre la descrizione del progetto e' a questo indirizzo: The K3NG Arduino CW Keyer – Radio Artisan
Ma veniamo al problema…
Come si vede dall'immagine, nella parte inferiore sinistra troviamo i pulsanti che richiamano la funzione Command (S1) e le memorie (S2…6).
L'anomalia e' che quando premo il pulsante S1 mi manda a massa la tensione 5V (come se R7 non ci fosse) con il conseguente riavvio dello sketch (stessa cosa se faccio un ponticello tra AN1 e massa) mentre i pulsanti S2…6 non richiamano alcuna memoria.
Come si può vedere e' previsto un ingresso per tastiera PS2 con la quale ho potuto verificare il perfetto funzionamento sia della parte Hw che Sw.
Ho fatto ricerche su internet ma non ho trovato alcun riscontro al mio problema.
L'Arduino Mega e' nuovo e mai usato in precedenza.
Da quanto ho potuto verificare non dovrebbero esserci differenze tra il Mega e l'Uno per quanto concerne i pin analogici.
Avete una spiegazione?
Scusate la lunghezza e grazie per avermi letto.
Franco

Il progetto è stato sviluppato con Arduino UNO ed è trasportabile sulla MEGA tenendo presente, però, la differente piedinatura.

L'articolo afferma che non si deve tener conto della numerazione dei pin dello schema, ma del loro simbolo logico: ad esempio, i pin SDA e SCL sullo schema corrispondono ai pin 21 e 22 dello schema, ma sulla UNO corrispondono ad A4 ed A5 e sulla MEGA a 20 e 21.

Quindi, il collegamento con A1 (pin dello schema 18) deve essere collegato sulla MEGA al pin A1 (numero di pin 54): probabilmente hai invece collegato il pin del MEGA 18 che è il TX della porta seriale 1 (normalmente HIGH) e, mettendolo a massa col il pulsante, crei un corto!

Speriamo che la porta non si sia danneggiata!

Poi c'è, a mio avviso, qualche "imprudenza" nello schema: i resistori da 100 ohm che pilotano le basi dei transistor li porterei almeno ad 1k (meglio 2,2k o 4,7k).

Grazie per la risposta.
Ho seguito scrupolosamente la indicazioni dell'autore nel non tenere conto della numerazione esterna dei pin.
Allego l'immagine dell'interfaccia che ho costruito e che è inserita sopra il Mega.
E' possibile sia incappato in un prodotto difettato? A questo punto le penso tutte.
Seguirò il consiglio e sostituirò le resistenze da 100 ohm.

Il tuo schema mi sembra coerente.

Ho dato un'occhiata al programma (ultima versione di Dicembre) e deve essere modificato per la MEGA.

Per esempio, SDA e SCL devono corrispondere ai pin 20 e 21 e non ad A4 ed A5:

#define i2c_sda_data A4
#define i2c_scl_clock A5

Probabilmente c'è qualcosa d'altro da cambiare: verifica tutti i pin nel listato.

Grazie di tutto cyberhs
cercherò di ripassare il listato

Risolto!!!
Ho cambiato pin utilizzando A2 anziché A1 e tutto a preso a funzionare.
Ora mi rimane il dubbio se disattivare o meno l'autoreset di Arduino... vedremo.

Ciao, Franco