HC-05 - Arduino Due - Chiarimenti su porte seriali

Buongiorno,

come anticipato qui sarò a breve in possesso di una board Flip&Click basata su Arduino Due.

Come primo esperimento vorrei scambiare qualche dato fra un PC e la mia scheda tramite Bluetooth. Da quanto ho letto in internet una buona possibilità è utilizzare il modulo HC-05 da connettere su porta Seriale.

Ecco dunque alcuni punti, in ordine sparso:

  • si consiglia di utilizzare come porta seriale alcuni pin GPIO per non occupare la seriale "ufficiale"
  • i pin GPIO si utilizzano come seriale a mezzo di Virtual Serial, la quale ha problemi su Arduino Due
  • Arduino Due, e dunque Flip&Click, espongono una porta USB aggiuntiva oltre a quella di programmazione. E' possibile collegare HC-05 a questa porta?

E' corretto quanto ho scritto? In poche parole: qual è, se possibile, il miglior modo per collegare un HC-05 ad una scheda Flip&Click?

Sono i miei primissimi passi in questo mondo, sentitevi liberi di correggermi ed indicarmi la buona strada.

Grazie,
Andrea

Prima di fare qualsiasi cosa è bene leggere con attenzione i reference delle schede.

Se guardi il reference della DUE (Flip&Click NON è una scheda Arduino e qui NON forniamo assistenza su quella specifica scheda, ma sull'equivalente Arduino) ti accorgi che il processore è dotato di ben QUATTRO porte seriali: Serial, Serial1, Serial2 e Serial3.

Che scopo quindi usare una porta "virtuale" quando si hanno a disposizione porte "hardware" ?

Inoltre ... la SoftwareSerial è sviluppata per processori AVR e non mi sembra che sia mai stata portata su processori ARM. Di sicuro, nell'IDE di Arduino, per la DUE, NON è disponibile.

Guglielmo

Grazie per la risposta.

Avevo letto la documentazione Arduino Due da te indicata, su Flip&Click le seriali fisiche non sono presenti in quanto utilizzate per gestire altro, da cui la domanda. Sono consapevole che questo è un forum per Arduino, nella presentazione ho specificato che mi auguravo di poter fare domande su un suo parente, cercherò di essere più preciso e fare domande riferite ad Arduino trovando da me i parallelismi.

Espondendo Flip&Click un pin out compatibile con Arduino Uno, e non potendo utilizzare pin GPIO tramite SoftwareSerial, l'unica via percorribile per utilizzare HC-05 mi sembra essere utilizzare i pin 0 ed 1. Ricordo di aver letto un tuo post nel quale sconsigliavi di farlo, ora lo cerco.

Grazie ancora,
Andrea

Tutta da verificare, ma una softserial per Arduino DUE c'e' ........ LINK

Brunello:
Tutta da verificare, ma una softserial per Arduino DUE c'e' ........ LINK

... appunto, NON la SoftwareSerial, ma una libreria scritta da un tizio ... magari funziona pure bene :grin: :grin: :grin:

Guglielmo

grandangelo:
Espondendo Flip&Click un pin out compatibile con Arduino Uno ...

Bella limitazione ... che cavolo mettono a fare una MCU di quel genere se poi la "castrano" dei pin ? ? ? ... Mah ... ::slight_smile:

Guglielmo

Brunello:
una softserial per Arduino DUE c'e'

Ok ottimo. Dunque, supponendo che la libreria indicata funzioni, potrei collegare l'HC-05 ai pin 10 ed 11 di un eventuale Arduino Uno e comunicare con HC-05 via seriale corretto?

Andrea

Brunello:
Tutta da verificare, ma una softserial per Arduino DUE c'e' ........ LINK

Ho letto la documentazione ed ho trovato questa importante limitazione da tenere bene presente:

5. Incompatibilities
Any library using the interrupts associated with any of the timer/counter module channels TC0, TC1, TC2, TC3, TC4, TC5, TC6, TC7 and TC8, has a potential compatibility problem with soft_uart, if it happens to use the same TC module and the same channel. An example of this potential incompatibility is library Servo which uses by default TC0, TC2, TC3, TC4 y TC5 interrupt handlers. In this case, you will be limited to use serial_tc1, serial_tc6, serial_tc7 and/or serial_tc8 software serial objects to preserve the compatibility. Another option could also be to change the Servo library to use less TC modules.

Occhio quindi perché il "core" Arduino, in varie parti, usa Timer ... ::slight_smile:

Guglielmo

grandangelo:
Ok ottimo. Dunque, supponendo che la libreria indicata funzioni, potrei collegare l'HC-05 ai pin 10 ed 11 di un eventuale Arduino Uno e comunicare con HC-05 via seriale corretto?

Tenendo conto delle limitazioni che ho appena segnalato ... SI.

Guglielmo

gpb01:
che cavolo mettono a fare una MCU di quel genere se poi la "castrano" dei pin ? ? ?

Utilizzano le altre porte per controllare i socket per le loro schede Click...
Ho scelto quella scheda perché, come detto, era "in omaggio" unitamente all'abbonamento di una rivista che tratta di Elettronica, e non avendo alcuna esperienza nel campo mi era sembrata una buona occasione per cominciare. Mi rendo conto che forse una scheda più semplice e più standard sarebbe stata più adatta.

Comunque, farò il possibile per non nominarla mai e parlare solo di Arduino :slight_smile:

gpb01:
Tenendo conto delle limitazioni che ho appena segnalato ... SI.

gpb01:
ho trovato questa importante limitazione da tenere bene presente

Ok. Grazie per l'aiuto.

Andrea

grandangelo:
.... Mi rendo conto che forse una scheda più semplice e più standard sarebbe stata più adatta.

Beh .. onestamente, tieni conto che :

  1. Arduino DUE è molto poco supportato e pochissime librerie di terze parti sono state convertite per funzionarci.
  2. Molti pochi shield sono fatti per funzionare su Arduino DUE.
  3. La scheda funziona esclusivamente a 3.3V e molti dei suoi pin sono in grado di dare un decimo della corrente (max 3 mA) dei pin degli altri Arduino (max 40 mA). I rimanenti comunque non danno più di 15 mA.
  4. E' sicuramente un processore molto più complesso da utilizzare. Basta guardare le oltre 1400 pagine di cui è composto il datasheet
  5. Difficilmente vedrà ulteriori sviluppi ...

... magari, per cominciare, una UNO o una MEGA ... era meglio :wink:

Guglielmo

Perdonami, ma la F&C la stai usando con inserite delle schedine Click? Perché le 3 seriali hardware "extra" sono semplicemente portate ai socket per tali schedine aggiuntive e, a meno che tu non ne stia usando almeno 3 su 4 (la Serial3 è portata sia al Socket C che D, da schema almeno), una seriale libera c'è sicuro.

Sono in attesa che mi arrivi il prodotto, che sarà consegnato con una sola Click. Ritieni che le seriali portate sui socket siano liberamente utilizzabili? In tal caso il mio problema è molto più semplice...

Grazie per la dritta, approfondisco.

E perché non dovrebbero? Sono portate ai socket proprio perché quel che ci colleghi possa usarle. Nulla vieta anzi di utilizzare proprio uno di quei socket per collegarci un HC-05 anzi, magari esiste pure una Click già fatta proprio per questo! I pin necessari ci sono tutti.

>grandangelo: Se ti può interessare, su Elektor è uscito un'articolo relativo alla tua board in cui forniscono alcuni dettagli tecnici ... QUI.

Guglielmo

Grazie per il link.