Invio dati tramite bluetooth tra 2 arduino

Ciao a tutti e grazie in anticipo, per il mio progetto di 5^ ITI ho deciso di creare un guanto che registra i movimenti della mano (dita) tramite dei flex sensor collegati a un Lilypad che invieranno i dati tramite un modulo bluetooth HC-05 configurato come master a una scheda arduino UNO con modulo bluetooth HC-06 configurata come slave che dovrà muovere dei motori.

Inizialmente ho realizzato il tutto senza i moduli bluetooth dunque con un unico Arduino, e son riuscito senza problemi a far muovere i motori a seconda del movimento della mano.
Ora ho finalmente collegato i moduli bluetooth dividendo così la parte guanto/mano ho scritto una prima parte di codice cercando di inviare il dato di un singolo dito ma stampando nel monitor seriale la ricezione non ricevo nulla. I due moduli li ho già configurati in modo che si colleghino tra di loro.

Per l'invio dei dati:
if (bt.available()){
invio = analogRead(sensPollice);
bt.write(invio);
}

(bt sarebbe il nome che ho dichiarato nella SoftwareSerial)

Per la ricezione dei dati:
if (bt.available()){
dati = bt.read();
Serial.println(dati);
}

ciao...il metodo available() ti dice quanti byte ci sono nel buffer in ricezione....quindi per la parte in ricezione, fare la verifica, va bene...ma in trasmissione no...in trasmissione devi verificare se hai qualche cosa da trasmettere...per esempio se dati diversi dai precedenti.

EDIT: ops...vedo solo ora che non ti sei presentato...vai nell'apposita sezione e presentati...

Essendo il tuo primo post devi presentarti nell’apposita sezione, dicendo quali conoscenze hai di elettronica e programmazione :slight_smile:

Ti dico da subito che analogRead() restituisce valori da 0 a 1023, e quando trasmetti bt.write(invio);, invii
un unico byte che di conseguenza può avere solo valori da 0 a 255.
Se devi trasmettere valori più grandi devi prevedere una comunicazione a più byte, una stringa e poi convertirla in valore intero.

>deido: … ti ricordo che in conformità al regolamento, punto 7, devi editare il tuo post (quindi NON scrivendo un nuovo post, ma utilizzando il bottone More → Modify che si trova in basso a destra del tuo post) e racchiudere il codice all’interno dei tag CODE (… sono quelli che in edit inserisce il bottone con icona fatta così: </>, tutto a sinistra).

In pratica, tutto il tuo codice dovrà trovarsi racchiuso tra due tag: [code] _il _tuo_ codice_ [/code] così da non venire interpretato e non dare adito alla formazione di caratteri indesiderati o cattiva formattazione del testo.

La cosa è valida anche per duo o tre righe di codice. Grazie. :slight_smile:

Guglielmo

perchè non usi direttamente pyfirmata?

Invece di scrivere codice per ogni arduino. Scrivi solo un programmino in python e visualizzi i dati in ingresso anche in maniera migliore.