Salve, come detto ho da poco acquistato arduino e sono praticamente a 0, stavo comunque iniziando a giocherellarci con i primi progetti trovati in rete quando mi sono apprestato a "capire" questo modulo.
Allora premetto che ho integrato il modulo per la semplice accensione di un led, ho caricato lo sketch:
void setup ()
{
Serial.begin(9600); //Apre la porta seriale ed imposta la velocità di trasmissione a 9600 bps
pinMode (13, OUTPUT);
}
void loop ()
{
char c = Serial.read(); //Legge dalla porta seriale ed invia ad ARDUINO
if (c == 'H' || c =='h')
{
digitalWrite (13, HIGH);
}
if (c == 'L' || c == 'l')
{
digitalWrite (13, LOW);
}
}
(prima di colegare Rx e TX), collegato il modulo hc-06 su gnd, 3,3v ed invertito RX e TX tra modulo e arduino.
Ora una volta scaricata l'app riesco a collegare il modulo (il led da lampeggiante resta fisso) ma premendo i pulsanti di accensione e spegnimento non succede nulla.
Ora mi è sorto il dubbio di aver configurato male le lettere per cui ho eseguito i comandi attaccando l'arduino alla porta usb del pc quindi una volta premuti i pulsanti sul cellulare dovrei vedere le lettere corrispondenti a monitor ma sul monitor non compare nulla
Dove sbaglio????
c'è un modo per verificare il funzionamento del modulo??
prima cosa prima : i programmi vanno aggiunti con l'apposito tasto CODE </>, per cui adesso puoi editare il tuo messaggio e correggere , anche perchè per chi risponde è più semplice la lettura del programma
per quanto riguarda la tua domanda, io per provare e capire come utilizzare questi moduli ho seguito questa guida molto completa
Raist:
(prima di colegare Rx e TX), collegato il modulo hc-06 su gnd, 3,3v ed invertito RX e TX tra modulo e arduino.
non ho capito, ma hai collegato la seriale(Tx e Rx) o no?
Scusa avevo letto del tasto code ma non lo trovavo, cmq quella guida l'avevo vista l'unica differenza e che ho collegato l Tx del modulo allo 0 di arduino, e l'Rx all'1 di arduino (tx e Rx invertiti). Ora come detto il modulo si collega (tasto da lampeggiante a fisso) ma quando premo un tasto sull'app del cellulare non compare nessuna lettera sul monitor seriale (ovviamente con arduino collegato alla porta usb) ed il led non si accende.
Ora ho riprovato a collegarli come in quella guida e ad usare lo sketch presente li ma nulla.
Ma il modulo ha bisogno di essere abilitato in qualche modo o servono delle librerie specifiche?
Un altra cosa a prescindere dall'accensione del led alla pressione del tasto sulla app dovrebbe comparire una lettera sul monitor seriale???
per adesso usa il programma che ti ho mandato nella guida
#include <SoftwareSerial.h>
int rxPin = 3;
int txPin = 2;
SoftwareSerial bluetooth(rxPin, txPin);
String message; //string that stores the incoming message
void setup()
{
Serial.begin(9600); //set baud rate
bluetooth.begin(9600); //set baud rate
}
void loop()
{
while(bluetooth.available()){
message+=char(bluetooth.read());
}
if(!bluetooth.available())
{
if(message!="")
{//if data is available
Serial.println(message); //show the data
message=""; //clear the data
}
}
delay(5000); //delay
}
ovviamente per adesso colleghiamo i pin Rx(del modulo) al pin 3 e Tx(del modulo) sul pin 2.
carichi il programma e apri il monitor seriale, grazie a questo programma ogni volta che premi un stato dalla app del telefono devi veder comparire le lettere corrispondenti sul monitor. se tutto è OK siamo sicuri che il modulo lavora....
riguardo al codice da te postato va leggermente modificato così :
void setup ()
{
Serial.begin(9600); //Apre la porta seriale ed imposta la velocità di trasmissione a 9600 bps
pinMode (13, OUTPUT);
}
void loop ()
{
if(Serial.available()){
char c = (char)Serial.read();
if (c == 'H' || c =='h')
{
digitalWrite (13, HIGH);
}
if (c == 'L' || c == 'l')
{
digitalWrite (13, LOW);
}
}
}
ovviamente adesso collega i pin Rx Tx del modulo sui pin della seriale di Arduino.
Adesso se non erro, una volta caricato il programma anche se apri il monitor seriale non vedi i dati arrivare... ed è per quello che nella guida che ti ho mandato usa usa la software serial per avere la seriale di Arduino libera per fare debug
Ho provato esattamente come scritto nella guida (leggi su) ma nulla, inoltre non compaiono lettere sul monitor seriale.
C'è un modo per verificare se il modulo funziona o no??? Uniche cose che riesco a vedere e che una volta collegato il modulo lampeggia velocemente poi quando lo connetto al telefono il led diventa fisso, ma qualsiasi lettera io invii o tasto pigi dal cellulare non compare nulla sul monitor seriale ed ovviamente il led resta spento.
oh finalmente una buona notizia ... adesso possiamo ragionare...
da quanto ho capito tu hai sulla app due pulsanti, che chiamo ON e OFF... quando li premi (usiamo sempre arduino come FTDI) cosa ti ritrovi sul monitor seriale?
PS : avevi provato il codice che ti ho corretto? il secondo che ho mandato nel messaggio
Prima di tutto grazie per la disponibilità, allora utilizzando arduino come FTDI e collegando il modulo all'app che ha 8 tasti per accensione e spegnimento, compaiono questi caratteri alla pressione di tutti i tasti rispettivamente, QAEUODGTSWRYIPFH ma se provo sia con lo sketch associato ai pin 2 e 3 (quello della guida) sia con lo sketch corretto da te (Rx, Tx) quando premo i tasti non compare nulla, ho dimenticato di dirti che la scheda è un clone arduino (non so se faccia differenza) dove ho cmq caricato i driver appositi infatti gli altri esercizi base (accensione led da pulsante, accensione motore dc ecc. ecc. ) mi riescono e da quando ho collegato il modulo Hc-06 che non mi raccapezzo più ahhahahha
Raist:
collegando il modulo all'app che ha 8 tasti per accensione e spegnimento, compaiono questi caratteri alla pressione di tutti i tasti rispettivamente, QAEUODGTSWRYIPFH
devo raccapezzarmi ahahah
ma se ci sono 8 tasti sulla app io qui ne vedo 16 caratteri di risposta ahahah
di cui all'interno nessuna L ... ahahah
allora prendi due soli pulsanti che vorrai usare... pulsanti 1 e pulsante 2 dalla app del telefono....
con Arduino in FTDI, premi
pulsante 1 dalla app--> cosa leggi sul monitor Seriale ?
pulsante 2 dalla app--> cosa leggi sul monitor Seriale ?
importante per adesso usiamo solo due pulsanti che scegli te, gli altri ce li dimentichiamo per adesso...
una volta che abbiamo bene in mente questi dati possiamo ragionare... scusa le mille domande ma non sono li con te e non vedo effettivamente cosa sta succedendo ahahah
Ma che scusa devo dirti grazie che me le fai ahahhahahaha....
allora le 16 lettere erano per la 8 accensioni + gli 8 spegnimenti (tasti diversi)
se uso accendi 1 e spegni 1 compaiono AS rispettivamente.
Lo so che la lettera deve essere quella inserita nello sketch infatti ho provato con un altra app che manda le lettere da tastiera ma usando la H e la L non succedeva nulla uguale.
Ho scaricato una marea di app arduino BT per vedere se cambiasse qualcosa ma nulla ahhahaha.
Cmq ti seguo per gradi e con i primi due tasti compare accensione=A spegnimento=S
carica questo programma ... e collega TX e RX del modulo con quelli di arduino (pin 0 e 1)... prova sia in un modo che invertendoli .... (ovviamente togli il corto del reset a GND ahahah)
dovresti vedere accendere e spegnere il LED sulla scheda all'arrivo della A e della S ...
incrociamo le dita
PS sicuro che il LED che stai guardando non sia bruciato? ahahhaha
MD
niente da fare ho provato il led e funziona ma caricando il programma e collegando il modulo (sia con Rx e Tx su 0 e 1 sia invertendo) alla pressione dei tasti non accade nulla e non compaiono nemmeno le lettere sul monitor seriale ......
credo sia giunta l'ora del modulo Hc-06.... martello aiutami tu a porre fine alle sue sofferenze ahahahhaha
Il programma funziona perchè inserendo le lettere A e S accende e spegne il led.
Quando collego il modulo se collego Tx e Rx modulo su Rx e Tx arduino il led Tx su arduino si accende mentre con il collegamento inverso no è sintomo che il collegamento giusto è il primo??
Io collego il modulo al 3,3v anche se sul modulo c'è scritto 5v perchè ho letto che va collegato li, sbaglio??
scrivi il link di dove hai acquistato il modulo, perchè potrebbe essere a questo punto un problema di alimentazione, ma prima di dirti di collegarlo ai 5 volt voglio essere sicuro del modello che hai in mano
adesso sappiamo che il programma per Arduino funziona, e che il modulo funziona (lo abbiamo visto con FTDI)... ci manca quel piccolo passo perchè tutto funzioni ahahaha
per la peppa era proprio l'alimentazione su 5v funziona ma allora com'è che dappertutto (compresa la guida che hai postato te) dice di metterlo sui 3,3v per non bruciarlo???