Go Down

Topic: domotica molto semplice con relè (Read 2010 times) previous topic - next topic

bas1800

Buongiorno sono nuovo del mondo di arduino ho iniziato un po dalle basi ma adesso vorrei fare un piccolo sistema di domotica:
in pratica vorrei solamente far accendere una luce 220v grazie ad un relè che ho comprato appostitamente per arduino, ho collegato il relè e sono riuscito a farlo funzionare con un semplice programma tipo blink che fa accendere un led. Però ora vorrei farlo accendere grazie ad un lcd e dei pulsanti ( ho comprato un lcd keypad shield) vorrei in pratica creare un piccolo menu che con i bottoni dico di accende e spegnere il relè.
e molto semplice però nn so davvero come fare qualcuno mi puo aiutare ?

in poche parole devo far accendere solo il relè che è come un led, tramite un menu del lcd keypad shield.

grazie mille


un altra idea era di usare il sistema DomotiHome però lo riesco a configurare ma dal telefonino non lo vedo, lo riesco a vedere solo dal pc (ovviamente ho collegato un ethernet shield) se qualcuno ha qualche idee sul perche con android non lo vede
grazie ancora

nid69ita

Credo che per prima cosa ti serva trovare esempi d'uso del lcd keypad shield (quello della dfrobots?).
Quel dispositivo ha diversi pulsanti, ma son pur sempre pulsanti.
Poi esempi su come scrivere su quel display.
Potresti semplicemente scrivere 2 frasi del tipo Tasto Right=Spegne  Tasto Left=Accende.
Perciò per il display si tratta solo di scrivere due frasi. Dovrebbe essere come per qualsiasi altro display.
Poi, se i tasti non hanno scopi speciali, ma possono essere usati come tasti semplici, non dovresti aver problemi.
Se invece vuoi un menu con 2 frasi "ACCESO"  "SPENTO" e con i tasti su/giu muovere la selezione (ovvero semplicemente il testo con colore invertito) è già un pò più complesso.
Converrebbe però partire facendo un passo alla volta.
1° scrivere 2 frasi sul display.
2° vedere come collegare i tasti ad arduino per sapere quali stai premendo.


my name is IGOR, not AIGOR

bas1800

perfetto , si si ma sono riuscito a provare a far scrivere qualcosa adesso vorrei implementare come dici tu un bottone accende la luce e l'altro lo spegne cmq nn so se è della dfrobot ma è uguale !
dove posso trovare il codice per far si che un tasto accende e fa scrivere accesso e un altro spegne ?

grazie ancora

nid69ita

cerca sulla rete.
ad esempio io ho trovato questo,
http://www.gioblu.com/community/forum/topic?id=416

è molto più complesso di quello che vuoi fare tu, ma da quel codice si vede come i tasti del lcd sono collegati agli analogici.
Il tipo gestisce un vero e proprio menu. Tutto quello che fa riferimento a RTC nel suo codice è un timer per arduino, ignoralo.

C'e' una funzione get_key() che legge i tasti.
adc_key_in = analogRead(0);    // leggo la porta analogica dei tasti
key = get_key(adc_key_in);   

probabilmente sull'analogico 0 c'e' il collegamento ai tasti e un codice tra 0-1024 dice quale tasto è stato premuto.
infatti nel codice c'e'   int  adc_key_val[5] ={30, 150, 360, 535, 760 }; //le letture analogiche dei tasti

spero possa esserti utile.
my name is IGOR, not AIGOR

bas1800

si grossomodo e quello che volevo io, ho provato a farlo funzionare solo che nn mi accende il relè forse li usa un altro relè io il mio lo riesco a far andare come se fosse un semplice led che accende e spegne.
dovrei trovare una cosa cosi semplice....

nid69ita

#5
Jan 29, 2013, 10:02 am Last Edit: Jan 29, 2013, 10:08 am by nid69ita Reason: 1
Guarda che in quel codice NON accende nessun rele. Il codice è solo per avere un menu.
Devi adattare quel codice per avere un menu a sole 2 scelte.
Poi devi inserire il pezzo di codice che dici di aver fatto per accendere/spegnere il rele.
Dovrai agganciare l'accensione e lo spegnimento in base a quale voce di menu viene scelta.
Dovresti postare il tuo codice, così è più semplice aiutarti.

In quell'esempio ad un certo punto nella loop lui legge i tasti
Code: [Select]
...
leggitasti();  //vai alla funzione che legge i tasti
...
//creo il menù principale ed i suoi 9 sottomenù 
....
//mostriamo il menù scelto
if (MenuNum==10){    //scelta voce mostra ora
  ShowTime();   TU qui invece accendi il rele
}
if (MenuNum==20){   //scelta voce imposta ora
  SetTime();   TU qui invece spegni il rele
}
my name is IGOR, not AIGOR

Go Up