Comunicazione seriale homemade

Salve, avevo idea di creare un master per la comunicazione seriale con un arduino, che inviasse un carattere o una stringa e che arduino la leggesse e me la stampasse sul serial monitor.
Ho già guardato la documentazione sulla seriale, dei suoi protocolli etc ma una domanda mi sorge:
come faccio a impostare un baudrate? Essendo che il master devo costruirlo io con elettronica mi risulta difficile pensare ad una soluzione... Qualcuno ha qualche idea?

In che senso scusa? il metodo begin() della classe Serial accetta come parametro il baud rate ...

Guglielmo

Se non sbaglio a fare i conti, per un baudrate di 9600 serve un oscillatore a 9600Hz. Per spedire 1 bit ogni 1/9600 = 0,000104167s (104,167us). Poi non ho idea di dove conservare il byte da inviare.

Ma si deve indendere che debba realizzare un hardware che trasmette dati seriali? :open_mouth:

Gli conviene usare un piccolo ATtiy25/45/85 e fare la cosa da firmware che realizzare una UART (al limite conviene comprare i chip che fanno tale lavoro o, come detto, un minuscolo minicontrollore).

Guglielmo

A meno di non voler trasmettere 85 di continuo

Credo che si possa fare usando un oscillatore a 9600 hz, e uno squadratore

In fondo uno start bit (alto), un 85 e niente parità fa una sequenza continua di 1 e zero...

O qualcosa del genere

Oppure un divisore decadico e una matrice di diodi...

Shift register a caricamento parallelo e uscita seriale, oscillatore alla frequenza del bitrate, logica start trasmissione e contatore di bit per lo stop trasmissione.

Questo per un solo byte :wink: A parte il virtuosismo elettronico delle cose fatte come le faceva la nonna, un lavoro colossale. Se si tratta davvero solo di trasmettere da un punto all'altro, due Arduini e finito.

Geniale

Anche start bit e stop bit si potrebbero mettere nello shift register...

Come detto ... ATtiny25, 1.5€, SoftwareSerial e ... passa la paura ... :grin:

image

Guglielmo

P.S.: ... se serve una UART veloce, allora un modulino XIAO RP2040 da 4.5 US$ e la UART arriva a 961.6 Kbps :wink:

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.