Go Down

Topic: Problemi con monitor seriale ( -Risolto- ) (Read 3275 times) previous topic - next topic

Phoed

Jan 22, 2013, 11:05 pm Last Edit: Jan 23, 2013, 09:28 pm by Phoed Reason: 1
Buongiorno a tutti...

mi sono appena affacciato al mondo Arduino non da molto; e fino a ieri era tutto ok...
Ma oggi è sorto un problema del quale non riesco a trovare il motivo...  :smiley-roll-blue: Ogni dato o valore che vorrei mi venisse visualizzato nel monitor seriale non compare... e lo schermo del monitor rimane bianco ed intatto, anche usando programmi di cui ho già la certezza funzionino...

Mi sapete aiutare?
Vi ringrazio
-Phoed-

pablos

#1
Jan 22, 2013, 11:45 pm Last Edit: Jan 22, 2013, 11:49 pm by pablos Reason: 1

mi sono appena affacciato ...


Attento a non affacciarti troppo però ...  :D
Secondo te su quali basi drovremmo capire quale è il problema?

ciao
no comment

fafidio

porta com errata? serial print non inseriti? ci dai qualche info in più? ;)

leo72


Buongiorno a tutti...

mi sono appena affacciato al mondo Arduino non da molto; e fino a ieri era tutto ok...
Ma oggi è sorto un problema del quale non riesco a trovare il motivo...  :smiley-roll-blue: Ogni dato o valore che vorrei mi venisse visualizzato nel monitor seriale non compare... e lo schermo del monitor rimane bianco ed intatto, anche usando programmi di cui ho già la certezza funzionino...

Mi sapete aiutare?
Vi ringrazio

Leggere per favore:
http://arduino.cc/forum/index.php/topic,91560.0.html

Phoed

Vi ringrazio per le vostre risposte,
e mi scuso per aver esposto in modo tanto generico e poco accurato il problema;
ho scritto in tal modo perché il problema è sorto senza che venisse cambiato nulla a livello sia di programma che di circuiti sui quali ho constatato persistere il problema annunciato, e questo mi ha portato a pensare, potesse esistere una ristrettissima cerchia di motivazioni a riguardo.

Comunque procedo col fornirvi alcune informazioni in più:
possiedo un Arduino Leonardo;
il problema non è di com errata

porta com errata? serial print non inseriti? ci dai qualche info in più? ;)


nè viene indicato alcun tipo di problema di sintassi o quant'altro; il programma viene trasferito senza problemi; e funziona in ogni sua parte, tranne che nel caso io chieda che mi vengano riportati eventuali valori sul monitor seriale...

eccovi alcuni esempi:

Code: [Select]
#include <IRremote.h>

int RECV_PIN = 6;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
}

void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, DEC);
    irrecv.resume(); // Receive the next value
  }
}

quando apro il monitor seriale, anziché mostrarmi in codice decimale "DEC" i valori inerenti ciascun tasto del telecomando (sony, quindi compatibile con il decimale); non  compare assolutamente nulla, rimane vuoto, bianco, intonso.

Ho riscontrato problemi anche in cose del tipo:
Code: [Select]
int led = 13;
char val = '0';

void setup() {
  pinMode(led,OUTPUT);
  Serial.begin(9600);
}

void loop () {
  val = Serial.read();

  if(val=='a'){
    digitalWrite(led,HIGH);
    Serial.println("led ON");
  }
  else if(val=='b'){
    digitalWrite(led,LOW);
    Serial.println("led OFF");
  }
}

inserendo in questo caso la lettera "a" dovrebbe accendersi il led, con "b" invece spegnersi, ma invece non accade nulla...

Altro esempio...
Code: [Select]
int analogInPin = A0;
int sensorValue = 0;

void setup() {
  Serial.begin(9600);
  pinMode( analogInPin, INPUT);
}

void loop() {
  sensorValue = analogRead(analogInPin);           

  Serial.print("sensor = " );
  Serial.println(sensorValue);     

  delay(1000);
}


circuito già in precedenza testato e funzionante, con fotoresistenza e resistenza collegate all'ingresso A1...
ed anche qui niente di niente.





mi sono appena affacciato ...

Attento a non affacciarti troppo però ...  :D


Non ho capito il senso del tuo consiglio; ne ho forse captato una punta di ironia, per quanto non riesca seppur con grande fatica a comprenderla lontanamente pablos.
Ad ogni modo, se desta il tuo sorriso, sono ben felice di averlo suscitato.


Grazie nuovamente a tutti per la disponibilità, e mi scuso ancora per le mie mancanze.
-Phoed-

lesto

Phoed tranquillo, qui siamo tutti amici :)
puoi seguire questi passi?

1. dicci il SO che usi (win, linux, mac)
2. apri arduino IDE (il programma su PC) (che versione usi? la 1.0.2?)
3. collega arduino (quale? UNO, MEGA, etc?)
4. dall'ide apri l'esempio File->esempi->communication->graph
5. Assicurati di scregliere la board e la porta seriale corretta dal menù "strumenti"
6. upload del codice. verifica che sia ok e nella finestrella nera sotto non compaia qualche errore
7. apri il serial monitor. Assicurati che il baud-rate impostato (c'è un menu a tendina) si lo stesso usato nella Serial.begin() del codice
8. facci sapere se vedi qualcosa
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Phoed

Grazie tantissimo per il la tua gentile disponibilità Lesto,

ho seguito i passi che mi hai consigliato:

Tramite Windows, con la versione 1.0.2 del software, ho collegato il mio Arduino Leonardo, come debitamente selezionato nel menu "strumenti" ed ho trasferito il programma di esempio File->esempi->communication->graph, come da te consigliatomi, senza che mi venisse segnalato alcun errore; una volta caricato sull'Arduino, ho aperto il monitor seriale con baud-rate conforme al "Serial.begin()" del codice...

... E lo schermo rimaneva e rimane tutt'ora completamente bianco; cosa che, mi sembra, ma potrei anche sbagliare, non dovrebbe succedere neppure se non ci fosse alcun tipo di sensore collegato alla porta analogica... Ho comunque provato con diversi sensori che potessero dare un valore analogico... potenziometro, fotoresistenza, termoresistore... e chi più ne ha più ne metta...
ma il risultato è rimasto invariato in tutti i casi il bianco totale, in più, ricordo che l'icona in alto a destra, riferita al monitor seriale, risulta di color bianco, come fosse evidenziata nel caso in cui il monitor venisse chiamato in causa, ma invece nulla, neppure questo succede.

Non riesco proprio a capacitarmene
e mi affido totalmente alla vostra conoscenza e gentilezza
-Phoed-

lesto

non serve mettere un sensore, comunque arduino scrive un valore "a caso" se non c'è nulla collegato.

scaricati hyperterminal (http://www.hilgraeve.com/hyperterminal-trial/) e prova a vedere se quel programma riesce ad intercettare qualcosa. I led TX e RX sull'arduino si accendono?
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Phoed

Grazie ancora per il tuo aiuto Lesto,
premetto che non ho mai usato né conoscevo questo programma, quindi fammi sapere se ho sbagliato qualcosa o tutto xD

comunque l'ho installato; ho inserito un nome a caso, in "connect using" ho impostato COM3: la porta sulla quale c'è Arduino,
bit per secondo: 9600; bit di dati: 8; bit di stop: 1.

ho provato a caricare il programma su Arduino ed ovviamente mi ha detto che COM3 era già in uso...
allora prima ho caricato il programma su Arduino, e poi rifatto la procedura con hyper-terminal.

Forse ho sbagliato qualcosa, ma purtroppo niente risultati, anche qui sempre e solo una schermata bianca...

Per quanto riguarda i led TX ed RX si, si accendono in fase di caricamento dello sketch.
-Phoed-

pablos

#9
Jan 23, 2013, 03:07 pm Last Edit: Jan 23, 2013, 03:14 pm by pablos Reason: 1
Non devi tenere aperte le finestre di hyper e del serialmonitor insieme o uno o l'altro e quando carichi lo sketch la seriale deve essere libera con hyper chiuso, infatti come avrai notato quando scrive lo sketch il serial monitor sparisce.

Ma non potresti prendere arduino e caricare il hyperterminal su un altro pc, devi solo collegare la usb, non serve l'ide
no comment

Phoed

#10
Jan 23, 2013, 03:11 pm Last Edit: Jan 23, 2013, 03:22 pm by Phoed Reason: 1
Grazie per la precisazione,
comunque si, si, ho caricato il programma ed usato come monitor seriale soltanto quello di hyper-terminal, intendevi questo?


... quando carichi lo sketch la seriale deve essere libera con hyper chiuso, infatti come avrai notato quando scrive lo sketch il serial monitor sparisce.

Infatti mi è successo...

ho provato a caricare il programma su Arduino ed ovviamente mi ha detto che COM3 era già in uso...
allora prima ho caricato il programma su Arduino, e poi rifatto la procedura con hyper-terminal.


Per quanto riguarda questo:

Ma non potresti prendere arduino e caricare il hyperterminal su un altro pc, devi solo collegare la usb, non serve l'ide


Non ho capito un granché, scusami, potresti spiegarmi per favore meglio?
-Phoed-

lesto

quello che intende è che la porta seriale può essere usata da un programma alla volta, quindi se hyperterminal usa le seriale non puoi usare il serialmonitor di arduino e nemmeno caricare nuovi codici.

Un problema classico è che i software per le pennine blue-toot economiche che in realtà sono viste come seriali, e il software prende possesso di tutte le seriali per cercare dispositivi. Ma in tal caso il SerialMonitor non si sarebbe aperto, anzi la porta sarebbe proprio scomparsa dall'elenco.
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

pablos

#12
Jan 23, 2013, 04:02 pm Last Edit: Jan 23, 2013, 04:05 pm by pablos Reason: 1
Quello che volevo dire è:

Prendi il tuo arduino col programma caricato (ovviamente che contenga stringhe Serialprint nel loop), stacchi la usb dal tuo pc e lo colleghi ad un altro pc, ora per vedere la seriale cosa fai ? installi hyperterminal anche sull'altro pc selezionando le opzioni com3, 9600, 8,1, parity NONE, xon/xoff, ecc  appena lo avvii farà un reset e dovresti leggere i messaggi, almeno sai se è un problema di arduino o del tuo pc, non devi installare anche arduino 1.0.2 solo hyperterminal

ciao
no comment

Phoed

Wow grazie!! è vero! che bella idea!!!
lo farò appena mi sarà possibile.
nel frattempo
Ho provato a fare questa cosa:
ho provato ad andare in Pannello di controllo -->Sistema --> Gestrione dispositivi --> Porte (COM e LPT) e vi ho trovato "Arduino Leonardo (COM13)", la cosa strana è che quando comunico con Arduino ho sempre impostata la porta COM3, e se provo a cambiare la porta da usare in COM3 mi dice che non è possibile perché "in uso"...

come faccio?
avete consigli?
-Phoed-

Phoed

Ho reinstallato Arduino; ora, nella finestra "Gestione dispositivi" lo identifica come COM4, e la cosa funziona se voglio trasferirgli un programma, ho provato con il classico esempio Basic-blink... E tutto procede secondo i piani...

Ho poi fatto lo stesso con il programma consigliatomi da te lesto, e sembrerebbe lo carichi, se non chè, nel momento in cui clicco sull'icona per aprire il monitor seriale mi dice: Porta seriale COM4 non trovata. Controllare la porta in Strumenti > Porta seriale.

e sotto:

"processing.app.SerialNotFoundException: Porta seriale 'COM4' non trovata. Controllate la porta in Strumenti > Porta seriale.
   at processing.app.Serial.<init>(Serial.java:191)
   at processing.app.Serial.<init>(Serial.java:92)
   at processing.app.SerialMonitor.openSerialPort(SerialMonitor.java:207)
   at processing.app.Editor.handleSerial(Editor.java:2481)
   at processing.app.EditorToolbar.mousePressed(EditorToolbar.java:353)
   at java.awt.Component.processMouseEvent(Component.java:6260)
   at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
   at java.awt.Component.processEvent(Component.java:6028)
   at java.awt.Container.processEvent(Container.java:2041)
   at java.awt.Component.dispatchEventImpl(Component.java:4630)
   at java.awt.Container.dispatchEventImpl(Container.java:2099)
   at java.awt.Component.dispatchEvent(Component.java:4460)
   at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
   at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4235)
   at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
   at java.awt.Container.dispatchEventImpl(Container.java:2085)
   at java.awt.Window.dispatchEventImpl(Window.java:2475)
   at java.awt.Component.dispatchEvent(Component.java:4460)
   at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
   at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
   at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
"

Accidenti
-Phoed-

Go Up