Go Down

Topic: Comunicazione seriale senza monitor (Read 1 time) previous topic - next topic

Frodo478

ok lo messo dopo il write... ma non cambia niente... funziona sempre e solo con monitor aperto...

lesto

Quote
SERIALPORT = "/dev/tty---" # Change this to your serial port!


ma questo l'hai settato oppure no? e cmq a questo punto direi che è un problema col modulo pySerial.. l'hai  installato a mano o da repository?
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Frodo478

sisi lo settato se no mi avrebbe dato errore.
pyserial non ricordo... forse da repository cmq v 2.5
vorrei leggermi un po di documentazione sul sito ufficiale del progetto ma è due giorni che è down...

lesto

a me funziona... http://pyserial.sourceforge.net/
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie


Frodo478

sono proprio sfortunato allora...  XD
appena riesco ad accedere mi leggerò un pò di cosine sulla libreria, così magari capirò il problema..
grazie a tutti per le risposte  XD

kernak

Ciao,

io penso che il problema sia dovuto al fatto che quando apri una connessione seriale arduino si resetta automaticamente, quindi non riceve i dati che gli invii perché si sta riavviando.
Il serial monitor ti mantiene aperta la connessione, per questo tutto funziona a dovere con quello aperto.

Due soluzioni:

1) SW: inserisci un ritardo nel codice python, dopo aver aperto la connessione seriale e prima di inviare il dato.
Fai due prove per il tempo, 1-3 secondi dovrebbero essere sufficienti.

2) HW: per evitare l'autoreset ci sono due modi, che mi pare siano anche documentati da qualche parte su questo sito.
SE usi arduino duemilanove, metti una resistenza da 120 ohm tra reset e 5V.
SE usi arduino uno, metti un condensatore da 10uF tra reset e GND.

Personalmente ti consiglio la seconda: semplice, pulita, facilmente reversibile e soprattutto non devi litigare con i ritardi nelle sincronizzazione di invii/ricezioni.
Però dovrebbero funzionare entrambe.

Spero di esserti stato utile. :)
Fammi sapere se funziona.

Valerio

genoa1893

Scusa ho lo stesso problema, pur usando php e non python..Utilizzando arduino uno.
Il condensatore lo devo mettere con positivo a reset e negativo a massa?

lesto

il "problema" lo avrai con qualsiasi terminale, perchè è la feature che ti permette di programmare arduino senza premere il tastino reset ogni volta)
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

leo72

Se volete risolvere del tutto senza componenti, dovete tagliare la pista RES-EN che c'è sulla schedina Arduino, in questo modo disattivate permanentemente il reset all'apertura del monitor. Così facendo però dovrete poi premere il pulsantino di reset a mano ogni volta che vuoi riprogrammare l'Arduino. Però è semplice ripristinare il collegamento, basta una goccia di stagno.

Go Up