salve a tutti Ragazzi siccome è molto tempo che non stavo più lavorando con arduino uno oggi ho deciso di riprendere un po a smanettare XD ma mi sto inceppando nei collegamenti tra arduino uno hc 05 ed il modulo rele.
Ho un app sul cell che non si collega al modulo Bluetooth HC 05, di seguito vi posto anche lo schetk, potreste darmi una mano nei collegamenti forse sbaglio qualcosa.
//Coded By: Angelo Casimiro (4/27/14)
//Voice Activated Arduino (Bluetooth + Android)
//Feel free to modify it but remember to give credit
String voice;
int
led1 = 2, //Connect LED 1 To Pin #2
led2 = 3, //Connect LED 2 To Pin #3
led3 = 4, //Connect LED 3 To Pin #4
led4 = 5, //Connect LED 4 To Pin #5
led5 = 6; //Connect LED 5 To Pin #6
//--------------------------Call A Function-------------------------------//
void allon(){
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led5, HIGH);
}
void alloff(){
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
}
//-----------------------------------------------------------------------//
void setup() {
Serial.begin(9600);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
}
//-----------------------------------------------------------------------//
void loop() {
while (Serial.available()){ //Check if there is an available byte to read
delay(10); //Delay added to make thing stable
char c = Serial.read(); //Conduct a serial read
if (c == '#') {break;} //Exit the loop when the # is detected after the word
voice += c; //Shorthand for voice = voice + c
}
if (voice.length() > 0) {
Serial.println(voice);
//-----------------------------------------------------------------------//
//----------Control Multiple Pins/ LEDs----------//
if(voice == "*all on") {allon();} //Turn Off All Pins (Call Function)
else if(voice == "*all off"){alloff();} //Turn On All Pins (Call Function)
//----------Turn On One-By-One----------//
else if(voice == "*tv on") {digitalWrite(led1, HIGH);}
else if(voice == "*fan on") {digitalWrite(led2, HIGH);}
else if(voice == "*computer on") {digitalWrite(led3, HIGH);}
else if(voice == "*bedroom lights on") {digitalWrite(led4, HIGH);}
else if(voice == "*bathroom lights on") {digitalWrite(led5, HIGH);}
//----------Turn Off One-By-One----------//
else if(voice == "*tv off") {digitalWrite(led1, LOW);}
else if(voice == "*fan off") {digitalWrite(led2, LOW);}
else if(voice == "*computer off") {digitalWrite(led3, LOW);}
else if(voice == "*bedroom lights off") {digitalWrite(led4, LOW);}
else if(voice == "*bathroom lights off") {digitalWrite(led5, LOW);}
//-----------------------------------------------------------------------//
voice="";}} //Reset the variable after initiating
Il codice DEVI racchiuderlo nei tag code, vedi sezione 7 del regolamento, spiega bene come fare ( pulsante </> ).
Altrimenti parte del codice può essere visualizzata male o mancare perchè interpretato come attributo del testo stesso.
Nell'IDE usa CTRL+T che indenta meglio il codice.
Ma come hai collegato il modulo ? su tx/rx direttamente ? Sai che se hai il BT collegato a tx/rx (pin 0 e 1) quelli sono anche collegati a USB e se sei collegato al pc ... stessa linea...
scusatemi per il ritardo della risposta ma mi sa che ho rotto il modulo relè perché mentre passavo lo i file dal pc a Arduino il relè non mi da più segni di vita
>Mario13: ... come già indicato da nid69ita 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. Grazie.
Scusami il post è stato modificato.
Poi provando ad inserire gli sketch originali di arduino mi sono reso conto che collegando il modulo relè al pin 13 si accende e si spegne la luce ed il rele parte quindi dove è sbagliato quello sketch visto che l'ho sempre usato?? forse non riesco piu a collegarlo a dovere con il modulo Bluetooth
nel programma sopra hai dei led collegatiai pin da 2 a 6.... il rele dov'è?
e la seriale alla quale è collegato il bluetooth? Se è collegato ai pin 0 e 1 allora non puoi fare serial.println(voice), dovresti usare una softwareserial
... se fai un po' di ricerche qui sul forum, scoprirai che, nel 90% dei casi, i moduli HC-05 NON funzionano se collegati ai pin 0 ed 1 (oltretutto perdi la possibilità di fare debug).
Usa la SoftwareSerial su altri due pin (es 10 RX e 11 TX).
Se posso permettermi un consiglio prima di tutto lascia perdere i relè per il momento....informati un po sul tuo dispositivo HC...e trovatti un APP che innanzitutto lo veda e con cui puoi comunicarci(..io con un HC08 (basso consumo)ho avuto ulcuni problemi perchè molte APP non lo vedono).
Poi fai in modo di farlo comunicare con la tua scheda Arduino.
Ciao ragazzi grazie a tutti per i consigli.
Ho provato ad istallare un altra app e il modulo lo legge, il rele funziona solo che è un app a pulsanti io invece usavo armvoicer che era un app che mi consentiva di usare i comandi vocali, che non si collega più al modulo, poi ho trovato un altra app Arduino voice control che legge il modulo ma non da impulsi al relè anche se gli detto i comandi
hc05 arduino
rxd al txd
txd al rxd
gnd al gnd
vcc al 5v
se uso un altra app lo legge con un altro sketch a pulsanti funziona il tutto.
come posso fare per usare lo sketch sopra elencato con un app a comandi vocali.
Mario13:
ragazzi cmq il modulo e collegato come segue:
hc05 arduino
rxd al txd
txd al rxd
gnd al gnd
vcc al 5v
se uso un altra app lo legge con un altro sketch a pulsanti funziona il tutto.
come posso fare per usare lo sketch sopra elencato con un app a comandi vocali.
come faccio a capire se comunica anche con arduino nel modo coretto? perchè quando gli vado a dare il comando vocale app lo legge ma arduino non da segni