Salve, ho un problema che no riesco a risolvere, per cui chedo aiuto!
Dovrei mandare delle stringhe al sensore in oggetto.
Ho aperto il sensore e ho constatato che è composto di due schede:
La prima è il sensore vero che viene collegata alla rete.
La seconda non è altro che una scheda di conversione USB/Rs232 tipo FTDI FT232RL
Normalmente uso un Software Winndows per comunicare via USB, e tutto è ok.
Ora vorrei usare una scheda Arduino due per rendermi autonomo dall'uso di un PC
Ho scritto un piccolo scketch, sotto le due riche di codice che inizializzano la USB Native.
SerialUSB.begin(9600);
while (!SerialUSB);
Praticamente mi accorgo che il programma entra in un loop senza uscirne dal while.
Se collego l'Arduino Due a una porta USB di un PC sul quale gira un programma analizzatore delle seriali, vedo le mie stringhe che arrivano correttamente, indice che il ciclo while viene superato tranquillamnte.
Ovviamente potrei bypassare la schedina FTDI e far dialogare l'Arduino Due solo serialmente con il sensore, cosa che non voglio fare perché mi costringerebbe a modificare la box sensore.
Spero di essere stato chiaro, avete qulche suggerimento da darmi?
In realtà si usa in tutti quei casi in cui ci si interfaccia con una USB nativa e ... Arduino DUE ha una delle porte che è appunto una USB nativa, quindi ... dipende l'OP che porta seriale sta usando:
The Arduino Due has a number of facilities for communicating with a computer, another Arduino or other microcontrollers, and different devices like phones, tablets, cameras and so on. The SAM3X provides one hardware UART and three hardware USARTs for TTL (3.3V) serial communication.
The Programming port is connected to an ATmega16U2, which provides a virtual COM port to software on a connected computer (To recognize the device, Windows machines will need a .inf file, but OSX and Linux machines will recognize the board as a COM port automatically). The 16U2 is also connected to the SAM3X hardware UART. Serial on pins RX0 and TX0 provides Serial-to-USB communication for programming the board through the ATmega16U2 microcontroller. The Arduino software includes a serial monitor which allows simple textual data to be sent to and from the board. The RX and TX LEDs on the board will flash when data is being transmitted via the ATmega16U2 chip and USB connection to the computer (but not for serial communication on pins 0 and 1).
The Native USB port is connected to the SAM3X. It allows for serial (CDC) communication over USB. This provides a serial connection to the Serial Monitor or other applications on your computer. It also enables the Due to emulate a USB mouse or keyboard to an attached computer. To use these features, see the Mouse and Keyboard library reference pages.
Buonasera e benvenuto nella sezione Italiana del forum,
cortesemente, come prima cosa, leggi attentamente il REGOLAMENTO di detta sezione, (... e, per evitare future possibili discussioni/incomprensioni, prestando molta attenzione al punto 15), dopo di che, come da suddetto regolamento, fai la tua presentazione NELL'APPOSITA DISCUSSIONE spiegando bene quali esperienze hai in elettronica e programmazione, affinché noi possiamo conoscere la tua esperienza ed esprimerci con termini adeguati.
Grazie,
Guglielmo
P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell’apposita discussione, nel rispetto del succitato regolamento nessuno ti risponderà (eventuali risposte o tuoi ulteriori post, verrebbero temporaneamente nascosti), quindi ti consiglio di farla al più presto.
Con questa inizializzi la porta USB come seriale verso un PC, o altro USB Host, in pratica lo stesso lavoro che fa l'interfaccia che vorresti leggere. Per leggerla devi invece abilitare ed inizializzare la modalità host nel DUE. Come? Non saprei, ho provato a leggere velocemente in giro senza trovare una risposta definitiva, anzi ho letto anche di chi ha usato la host shield di Arduino per lo scopo, quando invece l'MCU dovrebbe essere in grado di fare da sola.
Come suggerito da gpb01 ho scaricato la libreria HSBHost, nella libreria vi è un esempio che serve a scrivere e a leggere da un terminale Andriod (ADKTerminalTest.ino), la cosa è molto vicina a quanto devo fare, proverò a smanettarci su appena avrò un po di calma...
Saluti