Buonasera!
Sono nuovo del forum e spero di riuscire a trovare una soluzione al mio problema:
Ho scritto un programma per arduino UNO dove tramite antenna Bluetooth collegata ai pin seriali 0-1 posso trasmette e ricevere dati tra arduino e cellulare, fin qui nessun problema.
Quando per necessità di pin ho dovuto passare il firmware su arduino mega si è presentato un problema: arduino riesce a trasmettere i dati al cellulare ma il cellulare non riesce a trasmettere dati ad arduino.
Come antenna uso HM-10 ma il problema non credo sia l'antenna perché con Arduino UNO funziona.
Sapreste come aiutarmi?
Buona sera,
essendo il tuo primo post, nel rispetto del regolamento (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione il su citato REGOLAMENTO ... Grazie.
Guglielmo
P.S.: Qui una serie di link utili, NON necessariamente inerenti alla tua domanda:
- serie di schede by xxxPighi per i collegamenti elettronici vari: ABC - Arduino Basic Connections
- pinout delle varie schede by xxxPighi: Pinout
- link generali utili: Link Utili
Fatto
Hai provato, sulla Mega ad utilizzare una differente seriale? Ne hai 4 disponibili, prova su una che NON sia la Serial, ma Serial1, Serial2 o Serial3 ... vedi se si comporta nella stessa maniera.
Guglielmo
Si ho provato anche questa soluzione, mettendo le opportune modifiche per identificare la porta ma stesso problema...
Buonasera,
per sicurezza ho voluto provare a ricontrollare le altre 3 seriali e ho constatato che con la seriale 3 funziona. Ora non so se l'altra volta avevo fatto qualche errore, qualche collegamento sbagliato o cos'altro ma comunque ho risolto il problema.
Purtroppo però se ne è venerificafo un'altro:
quando io invio con il cell la scritta "manuale" arduino dovrebbe rispondere "Modalità manuale attiva" ma sul cell leggo solo "iva";
quando invece con il cell invio la scritta "automatico" arduino dovrebbe rispondere "Modalità automatica attiva" ma sul cell leggo solo "attiva".
A cosa può essere dovuto?
Ps. Se non invio nessuna scritta con il cell arduino trasmette le frasi in modo corretto
senza vedere il codice non sarà semplice capire, ma un'ipotesi la posso fare
|
Modalità automatica attiva
|
Modalità manuale attiva
come noterai sembra che tronchi sempre i primi venti caratteri
hai qualcosa che legge prima di visualizzare?
Ciao Docsvage, grazie della risposta;
Detto molto riassunto funziona così:
Nel void loop c'è un continuo controllo della seriale e se viene letta la parola "manuale" stampa sulla seriale "modalità manuale attiva" ed entra in un sottoprogramma;
Nel sottoprogramma c'è un continuo controllo della seriale e se viene letta la parola "automatico" stampa sulla seriale "modalità automatica attiva" e ritorna nel void loop.
Ovviamente il programma non fa solo un controllo della seriale, nel frattempo stampa varie cose su un lcd, fa dei calcoli, usa il millis, attiva o disattiva dei pin...
Buonasera, ho provato a fare un’ultriore modifica: ho fatto si che arduino riceva sulla seriale 3 e trasmetta sulla “seriale 0”.
Quando trasmette non si verifica nessun problema fino a che arduino non riceve un comando dal cellulare e quando lo riceve come risposta taglia i primi 20 caratteri.
Avete qualche soluzione/consiglio??
Forse con il sketch avremmo qualche idea per una soluzione.
Ciao Uwe
Ciao, lo sketch è molto lungo, più tardi vi carico la parte dove viene letto il comando del cellulare, effettuati alcuni comandi e poi inviata la risposta (che viene tagliata).
Grazie
No. Ci serve lo sketch intero.
Ciao Uwe
Saimonzac:
Ciao, lo sketch è molto lungo,
Lo alleghi usando "Attachments and other options" -> Attach -> scegli file
che appare sotto a dove scrivi il msg (Reply e non con Quote però)