ciao a tutti potreste aiutarmi?!?
Se alimento arduino tramite la seriale se non attivo il" monitor seriale " non funziona l'uscita seriale, cioè non va avanti il programma e il led tx non lampeggia quindi non sta inviando nessun comando. Quando alimento arduino con il jack, ovviamente, non posso attivare il monitor seriale e quindi anche così non funziona.
Conoscete questo tipo di problema?
La stessa domanda l'avevi già fatta qui http://forum.arduino.cc/index.php?topic=242888.msg1740050#msg1740050
Comunque arduino si può alimentare tramite USB o jack
L'usb ha 4 contatti, 2 sono +5v e GND e 2 sono rx-tx della seriale corrispondenti ai pin 0 e 1 che come capirai non vanno collegati a nulla.
Se alimenti arduino solo col jack mi pare ovvio che sulla seriale non hai scambio di dati, sei disconnesso.
Quando alimenti invece arduino con il jack (12v) e inserisci anche la usb, i 5v derivanti dalla usb vengono esclusi e lavorano solo i contatti rx-tx, inoltre quel 12v te lo ritrovi nel pin Vin.
ritornando a
se non attivo il" monitor seriale " non funziona l'uscita seriale, cioè non va avanti il programma e il led tx non lampeggia quindi non sta inviando nessun comando
Conoscete questo tipo di problema?
non è un problema è giusto che sia così, se invio dei dati ad una periferica che non è in ascolto mi sembra logico che non ci sia dialogo.
Ogni volta che chiudi e riapri il monitor seriale arduino fa un riavvio il tuo sketch ricomincerà da capo, anche questo non è un problema.
Per maggiore aiuto, metti lo sketch negli appositi tag (simbolo #) e specifica dove trovi il problema e cosa vorresti che facesse
In " :: Using Arduino :: Installation & Troubleshooting" devi usare la lingua inglese, non ti sei accorto?
Per caso fai degli accessi alla eerom ?
Avete ragione su tutti i fronti e vi chiedo scusa, credo sia palese che non ho dimestichezza con il forum ed è per questo che ho postato due volte la stessa domanda e non sapevo di dover scrivere in Inglese ( credevo di essere nel forum Italiano).
Detto questo provo a spiegare meglio il problema: Semplifico il programma
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2,3); // RX, TX
// constants won't change. Used here to
// set pin numbers:
const int ledPin = 13; // the number of the LED pin
void setup() {
// set the digital pin as output:
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
Serial.println ("OPERATIVO ");
}
void loop()
{
delay(1000);
Serial.println ("COMANDO AT;");
delay(1000);
}
Quindi non voglio altro che ad intervalli di 1 secondo venga inviata la scritta "COMANDO AT"; se attivo il monitor seriale riesco a visualizzare tutto benissimo, se provo a visualizzarlo spillando il segnale dal pin 3 cioè il TX non visualizzo niente sia che alimenti con USB che con Jack. Inoltre quello che a me sembrava strano e che se alimento arduino con USB dovrei vedere ad intervalli di 1 sec il led tx accendersi a prescindere che io attivi il monitor seriale.
spero di aver spiegato al meglio il problema , grazie.
Il pin 13 lo hai settato come uscita, ma non hai definito il suo stato HIGH/LOW.
Quindi nel setup devi inserire: digitalWrite(ledPin, HIGH);
Il comando Serial.println(); opera esclusivamente con la seriale del monitor.
Se vuoi vedere il messaggio sul pin 3 devi inserire l'analogo comando della libreria SoftwareSerial.h
ovvero mySerial.println
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2,3); // RX, TX
const byte ledPin = 13; // the number of the LED pin
void setup() {
Serial.begin(9600);
pinMode(ledPin, OUTPUT); // set the digital pin as output:
Serial.println ("OPERATIVO ");
}
void loop() {
delay(1000);
digitalWrite(ledPin ,HIGH);
Serial.println ("COMANDO AT;");
mySerial.println ("COMANDO AT;");
delay(1000);
digitalWrite(ledPin ,LOW);
}
Poi con 2 delay da 1 secondo hai una attesa di 2 secondi
pablos:
La stessa domanda l'avevi già fatta qui http://forum.arduino.cc/index.php?topic=242888.msg1740050#msg1740050
Ho provveduto a rimuovere il thread, visto che era un cross-post di questo ed oltretutto con lingua errata. Prosegui la discussione qui.
Ciao continuo ad aggiornarvi, ho risolto a metà:
come chiarito quando alimento con jack non si accende il led tx ma è normale, avevo l'adattatore usb-seriale rotto, l'ho sostituito e riesco a visualizzare ciò che invia la seriale però nel PIN 1 (TX) ma l'avrei dovuto visualizzare prelevando il segnale dal pinl 3 visto che avevo impostatoSoftwareSerial mySerial(2, 3); // RX, TX
inoltre non ho la necessità di uttilizzare mySerial.println ("COMANDO AT;");
ma riesco a visualizzare con Serial.println ("COMANDO AT;");
oltretutto come avevo già detto avevo già lavorato in questo modo e non avevo mai avuto problemi, grazie.