Da Serial1 a USB

So che l'argomento e fritto e rifritto ma il mio problema è un po differente, considerando che non devo collegare l'adattatore al computer ma ad una radio per leggere il suo stato (CAT System).
Premesso questo l'adattatore è il seguente:

ed è basato su un chip ft232 come si puo vedere chiaramente dall'immagine.
HO inizializzato Serial1 a 9600 baud, la radio è settata a 9600 baud rts off e 10ms la risposta.
Utilizzo Serial1.print(comando) ma il led di trasmissione sull'adaqttore non lampeggia.
Se lo collego al computer il led lampeggia ciclicamente per la funzione è inserita nel loop, ma ovviamente
il computer non risponde niente perche il comando inviato per lui non significa assolutamente niente.
Se inserisco l'adattatore nel computer immediatamente me lo vede ed aggiunge il driver quindi direi che l'adattatore funziona perfettamente.
Capisco che win avrà tutto il suo software trasparente per ricevere e trasmettere e non so se la radio possegga cio, ma se collego la radio al computer la radio risponde immediatamente ai comandi inviati e registra magnificamente i comandi ricevuti.
Non chiedetemi se rx e tx sono collegati bene (rx adattaore su tx arduino - tx adattatore su rx arduino) le masse sono comuni e se per questo anche i 5V sono comuni.
Sta di fatto che non comunica niente. Mi chiedevo se ci fosse qualche libreria da installa su arduino ma sinceramente per quanto ho cercato e ravanato il web non trovo niente.
Ah dimenticavo la scheda è arduino mega 2560 e quindi non posso togliere niente da sopra come il 326 e fare ponticelli strani con il reset.
Ringrazio tutti anticipatamente

Mmm ... il solo dubbio è che la radio non dia il segnale di DTR (Data Terminal Ready) e/o CTS (Clear To Send) e che quindi il FT232 magari pensi che non c'è nessuno con cui comunicare ::slight_smile: Mi pare che il driver del PC dia tale segnale che, difatti, normalmente è sfruttato per fare il reset di Arduino all'apertura della porta serial (... e richiamare il bootloader per il caricamento del codice).

Guglielmo

Il problema e che la radio collegata al computer funziona perfettamente.
Premesso che ho anche disponibile i segnali DTR RTS e CTS sull'adattatore (DTR e su di una fila laterale) ma non so dove andare a collegarli su arduino per inviare tale segnale a meno che non sfrutti una porta digitale ponendo il relativo bit HIGH o LOW, ma sinceramente a me sembra veramente stano.
poerche se il segnale viene inviato dalla radio al computer, perche non dovrebbe farlo all'adattatore al chip ft232

NO, il DTR NON va dato da Arduino, va dato lato USB (è un segnale simulato) che, nel caso di collegamento dell'adattatore al PC, viene fornito dal driver sul PC. Se la radio non fornisce tale segnale all'adattatore ... non so se c'è un modo di cambiare le impostazioni del FT232 ... ::slight_smile:

Guglielmo

P.S.: L'ho anche scritto, il pin DTR, che riporta lo stato del DTR (quindi lato USB) viene usato per dare il reset ad Arduino.

Intanto vorrei capire meglio perché tuttora non ho capito se ha una porta seriale o USB (e le risposte che sto leggendo, tue e di Guglielmo, mi stanno facendo confondere ancora di più).

Ti chiedo tutto questo perché ci sono vari passaggi della tua descrizione che non riesco a comprendere con sicurezza, fammi capire meglio... Ad esempio non ho ben capito, nel primo post sembra che tu dica che colleghi l'adattatore USB di Arduino alla radio (e non va) poi al computer (e "si vede" la seriale quantomeno), poi sembra che parli della radio collegata al computer (ancora con USB con l'adattatore?), poi però dici che sulla radio hai i pin di handshake hardware...:wink:

In sostanza, mi pare di capire, l'adattatore NON lo vuoi usare per collegare Arduino alla radio (che non ha la USB ma i pin RS232) ma lo usi solo per verificare che Arduino mandi i comandi giusti (in questo caso se apri un terminale seriale es. putty su quella COM vedi almeno i comandi che Arduino manda?). Per cui a me sembra che il nocciolo della questione sia cercare di capire la radio quale comunicazione seriale prevede, se c'è handshake hardware o software, ossia quali segnali gestisce o richiede perché può darsi che sia la seriale della radio ad avere qualche requisito. Se invece si parla di USB la cosa può essere differente, ma in ogni caso la USB della radio come (con cosa) è in grado di comunicare?

Per cui, in sostanza: di questa radio hai un link per vederne il datasheet della porta di comunicazione e quindi le caratteristiche di interfacciamento precise, così capiamo meglio?

Credo che la "colpevole" sia la radio che è "omertosa"! :grinning:

Concordo nella richiesta di maggiori informazioni sulla radio stessa.

Allora vediamo di capirci meglio
La radio è fornita di porta USB tipo B
Posswo anche postare il link dove andare a vedere la radio ma le specifiche del protocollo USB non ci sono se non che nei menu vi sono solo 3 voci da settare:
Baud Rate messo a 9600
RTS = Disaabled
Response= 10msec ( il tempo che la radio impiega ad instradare la richiesta)
Altri tipi di settaggi per la porta usb non ce ne sono.
Chiarito il quesito lato radio , questo è uno dei tanti siti dove poter vedere

Se io collego la radio al computer, quindi cavo usb maschio tipo A per computer e tipo B per radio, utilizzando uno dei tanti software di comunicazione, se vuoi fare FT8, CW, PSK31 etc la radio viene riconosciuta immediatamente perchè è stato installato un driver USB per la radio e la comunicazione va perfettamente.

L'adattatore mi serve (credo sia piu giusto scrivere mi sarebbe dovuto servire) a mandare i comandi dalla seriale 1 o 3 la 2 è occupata dal display della Nextion, alla radio tramite FT232 della schedina, postata nel mki primo post.
Ora ripeto, perche tenendo l'adattatore campato in aria, nel senso senza collegarlo a niente, non mi si accende il led collegato alla trasmissione del seriale, ovvero quando faccio Serial1.print(miocomando), che ci sia qualche cosa in uscita non dovrebbe avere nessuna importanza considerato che il led è collegato direttamente al pin RXD che arriva da TX di arduino. Se va alto il pin della seriale di arduino perche non si accende??
Per il resto credo che le altre cose siano ben chiare.

Allora è probabile che sia un "problema" di radio... Si aspetta di comunicare con un pc. Temo ci voglia un minipc... Chi ha detto "Raspberry"? :confused:

Credo di aver capito il motivo, ma vorrei un vostro parere in merito, perche la cosa, nel caso avessi ragione diventa ancora piu complessa

oldmanenzo:
Allora vediamo di capirci meglio
La radio è fornita di porta USB tipo B

Ah, ok, ora va meglio. Quell'adattatore che hai ha la porta USB A perché è un dispositivo che si deve collegare ad un host. Quindi a te serve un adattatore da seriale a "USB Host" perché devi agire come se fossi un PC.

Se verifichi il sito del costruttore scopri che si tratta di una "virtual com port"...

docdoc:
Ah, ok, ora va meglio. Quell'adattatore che hai ha la porta USB A perché è un dispositivo che si deve collegare ad un host. Quindi a te serve un adattatore da seriale a "USB Host" perché devi agire come se fossi un PC.

Si trovano per Arduino?

Si, in pratica una cosa come QUESTA direi. Da sperimentare perché non ho mai fatto connessioni USB con Arduino come una "virtual COM port", ma potrebbe funzionare (la USB è pur sempre una seriale). Devi vedere nei datasheet dell'adattatore USB Host.

speedyant:
Allora è probabile che sia un "problema" di radio... Si aspetta di comunicare con un pc. Temo ci voglia un minipc... Chi ha detto "Raspberry"? :confused:

Certamente non io considerato che non so nemmeno come si programmi e cosa possa fare.

Non credo che la radio si aspetti di comunicare con un pc, credo molto piu semplicemente che la radio si aspetti di trovare il suo driver installato a chi gli sta facendo la richiesta. Infatti nei miei ultimi post dove si chiedeva un chiarimento in merito ho scritto chiaramente "Dopo aver installato il driver per la radio" ed a questo punto, credo che il progetto debba essere abbandonato perche non credo sia possibile installare il driver su arduino. Pero mi chiedo, quale utilizzatore che fa uso di una porta usb non abbia il suo driver prioritario per comunicare. A tal ragione credo che arduino non potrà mai essere utilizzato a tale scopo. Che bello la vecchia e cara porta seriale. Abbasso il progresso.

oldmanenzo:
credo che il progetto debba essere abbandonato perche non credo sia possibile installare il driver su arduino. Pero mi chiedo, quale utilizzatore che fa uso di una porta usb non abbia il suo driver prioritario per comunicare. A tal ragione credo che arduino non potrà mai essere utilizzato a tale scopo. Che bello la vecchia e cara porta seriale. Abbasso il progresso.

Non credo, sei troppo pessimista. Al tuo posto cercherei qualche minuto in rete, ad esempio QUESTO mi pare abbia proprio integrata tutta la gestione USB-serial...

Ma io questo thread lo "incornicio"! Informazioni molto utili, si possono tentare molte cose interessanti!

docdoc:
Non credo, sei troppo pessimista. Al tuo posto cercherei qualche minuto in rete, ad esempio QUESTO mi pare abbia proprio integrata tutta la gestione USB-serial...

Ho visto ma se vai sul link di vendita vedrai che ne devi ordinare almeno 10 e sono tutti da montare, inoltre non è nemmeno facile da fare. Sembra che ci voglia non solo il saldatore ma siccome alcuni componenti sono al di sotto di altri la cosa inizia a diventare quasi difficile.

oldmanenzo:
Ho visto ma se vai sul link di vendita vedrai che ne devi ordinare almeno 10 e sono tutti da montare

Si ma scusa, quale parte di "per esempio" non era chiara? La mia era solo una indicazione, ossia quello è secondo me il TIPO di board che potresti provare ad usare verificando se risponda realmente alle tue esigenze, ma non è che mi possa mettere io a cercare dove potresti comprarlo (e magari pure al prezzo migliore) non ti pare?...

Per cui se vuoi una indicazione in più vedi tra le board SparkFun, ad esempio forse QUESTA visto che nella descrizione leggo:
"This is a basic breakout board for the FTDI FT232RL USB to serial IC."

La trovi anche su Mouser, poi vedi tu in base al costo, tempo e costi di consegna, eccetera.
In ogni caso non avendola mai usata, più di questo non so dirti e non posso assicurarti che sia la soluzione corretta e finale alla tua esigenza...