Modulo hc 05

Premetto intanto di essere nuovo, siccome tempo fa avevo deciso di avviare un piccolo progetto, che prevedeva di aprire la porta di cosa tramite telefono, nulla di tanto difficile in qui. Quindi comprando i vari componenti (modulo relè e modulo bluetooth) pochi giorni fa arrivano i pezzi comprati a poco, quindi dalla cina con tempi lunghissimi, fatto sta che però il modulo bluetooth risulta essere quello base o almeno un modulo (https://i.ebayimg.com/images/g/6QEAAOSwwE5WVx5a/s-l1600.jpg) questo per capirci, e ora non so come utulizzarlo, e di mandarlo in dietro non mi va mica, dopotutto ho speso solo pochi spiccioli e di aspettare un altro mese, non ne tengo molta voglia. Qualcuno sa aiutarmi su come farlo funzionare?

toros04:
.. fatto sta che però il modulo bluetooth risulta essere quello base o almeno un modulo (https://i.ebayimg.com/images/g/6QEAAOSwwE5WVx5a/s-l1600.jpg) ...

... quello è SOLO un circuito stampato dove va saldato un modulo HC-05 così:


... tu con quello che hai preso NON ci fai nulla, devi per forza ordinare un modulo HC-05 già montato sulla basetta.

In Italia puoi ordinarlo QUI ... è un negozio affidabile.

Guglielmo

credo sia più opportuno scrivere qui che aprire un altro topic, ad ogni modo. Oggi mi è arrivato il modulo hc-05 perfettamente funzionante, lo alimento, riesco a collegarlo tramite cellulare e fin qui tutto ok. Entro in at mode, cambio password e carico lo sketch che mi serviva, accendo il tutto, e il telefono non rivela il modulo, nemmeno come precendentemente avevo fatto. cosa può esser successo?

Se non sbaglio tra i comandi AT ce ne è uno per ripristinare la situazione iniziale (AT+ORGL) ... magari hai modificato qualche impostazione che non dovevi :wink:

Guglielmo

nulla non va

Ok il modulo magicamente è partito ahaha. Però ora espongo il vero problema di questo dannato progetto. Siccome come precendetemente scritto, voglio poter aprire la porta di casa tramite hc-05. fin qui niente di strano, fatto sta che caricando il tutto, e aver finito l'applicazione, mi sono accorto che se ad esempio per una qualsiasi ragione dovesse mancara l'alimentazione ad arduino, il relè prima si apre e poi si chiude come impostato dal programma, cosi facendo aprirebbe la porta incosapevolmente, coem posso risolvere

qui lo sketch

char data = 0;               
void setup()
{
  Serial.begin(9600);       
  pinMode(8, OUTPUT);
  }
void loop()
{
  if(Serial.available() > 0)
  {
    data = Serial.read();     
    Serial.print(data);       
         
    if(data == 'H')           
      digitalWrite(8, HIGH); 
    else if(data == 'L')       
      digitalWrite(8, LOW);
  }
}

non ci arrivo…

all’inizio data non è nè L nè H, lo imposti = 0 perchè il rele si dovrebbe aprire (eccitare)?

Patrick_M:
non ci arrivo...

all'inizio data non è nè L nè H, lo imposti = 0 perchè il rele si dovrebbe aprire (eccitare)?

In poche parole, se il arduino dovesse riavviarsi per un qualsiasi motivo, imposta automaticamente il modulo prima in high e poi in low da solo, e ciò non deve accadere perché aprirebbe la porta da solo

ma se data è =0 NON entra nelle if relative a L e ad H quindi non invia nessun comando al relè

realmente quando riavvio arduino, il relè per circa un secondo, si apre e si chiude da solo

prova aggiungendo nel setup digitalWrite(8,LOW) in questo modo

void setup()
{
  Serial.begin(9600);       
  pinMode(8, OUTPUT);
  digitalWrite(8, LOW);
 }

Patrick_M:
prova aggiungendo nel setup digitalWrite(8,LOW) in questo modo

void setup()

{
  Serial.begin(9600);     
  pinMode(8, OUTPUT);
  digitalWrite(8, LOW);
}

Niente fa la stessa cosa, prima apre e poi chiude

che modulo relè stai usando e come è collegato ad arduino?

Patrick_M:
che modulo relè stai usando e come è collegato ad arduino?

un semplice modulo mono relè collegato con vcc(5v) gnd(gnd) e inl(pin 8)

Devi tenere conto di un fatto ...
... all'avvio, prima ancora del setup(), tutti i pin del micro vanno in alta impedenza e quindi hai l'ingresso di controllo del relè che è flottante ... mettici una resistenza di pull-up o pull-down a seconda dello stato a cui vuoi tenerlo all'accensione.

Guglielmo

gpb01:
mettici una resistenza di pull-up o pull-down a seconda dello stato a cui vuoi tenerlo all'accensione.

Guglielmo

questo volevo capire se avevi fatto! :wink:

scusate la mia ignoranza, ma non sto riuscendo a capire come applicare una resistenza pull down/up

Per capire,nell'uso normale, il tuo relé si attiva quando metti il pin LOW o quando lo metti HIGH ?

Guglielmo

il relè si attiva quando do il comando high

Ok, allora tu devi mettere una resistenza da 10KΩ tra il pin che comanda il relè e massa (GND) ... ovvero una pull-down.

Guglielmo

appena messa, ma non cambia nulla