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.
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.
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.
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?
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 ... :
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.
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
gpb01:
Tenendo conto delle limitazioni che ho appena segnalato ... SI.
gpb01:
ho trovato questa importante limitazione da tenere bene presente
grandangelo:
.... Mi rendo conto che forse una scheda più semplice e più standard sarebbe stata più adatta.
Beh .. onestamente, tieni conto che :
Arduino DUE è molto poco supportato e pochissime librerie di terze parti sono state convertite per funzionarci.
Molti pochi shield sono fatti per funzionare su Arduino DUE.
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.
E' sicuramente un processore molto più complesso da utilizzare. Basta guardare le oltre 1400 pagine di cui è composto il datasheet
Difficilmente vedrà ulteriori sviluppi ...
... magari, per cominciare, una UNO o una MEGA ... era meglio
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...
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.