Go Down

Topic: Comando elettrovalvole, Reflex e Flash (Dropsduino) (Read 1 time) previous topic - next topic

84billy

#5
Mar 08, 2012, 09:10 pm Last Edit: Mar 08, 2012, 09:20 pm by 84billy Reason: 1
Allora ho buttato giù uno schema, visto che sono agli inizi, ho scelto di usare il display solo per visualizzare los tato del programma, il menù vero e proprio lo farò più avanti.

Ho messo il controllo autofocus e lo scatto per la reflex, i controlli per le 3 elettrovalvole e un pin l'ho riservato per il flash.

ho pensato ad un bottone per far avviare il programma quando voglio.

domani spero di testare il funzionamento del codice.

edit manca nello schema il bottone che ho collegato al PIN14, ai 5 volt e alla GND tramite una resistenza da 10K

Freddy65

#6
Mar 08, 2012, 09:46 pm Last Edit: Mar 08, 2012, 09:50 pm by Freddy65 Reason: 1
Ciao, non credo che puoi collegare i relè direttamente ai pin di arduino , devi usare qualche transistor, per sapere come collegarli dai uno sguardo qui http://arduino.cc/forum/index.php/topic,82057.0.html

Ciao.
Arduino 2009

84billy

si avevo letto sul forum di questo fatto, infatti ne ho ordinati alcuni nel caso i relè non funzionassero.
Appena mi arriva il tutto, provo e vedo se devo fare qualche modifica.

Grazie per i consigli!


84billy

Aggiornamento:

Mi sono messo a fare un breve schema dei collegamenti con l'inserimento anche dei pulsanti per gestire il menù, per ora ho inserito i relè, nel caso non ci sia sufficiente corrente ci penserò dopo :D






84billy

ho un problema in questa parte di codice che mi comanda le valvole

ovvero ho dovuto commentare gli if che mi controllano lo stato delle valvole 2 e 3 se sono uguali a 0 significa che sono spente e deve uscire, se sono uguali a 1 deve entrare nell'if e far aprire le valvole, ma niente da fare parte solo la prima

se tolgo gli if le valvole si aprono, se metto dentro all'if le condizioni ==0 || ==1 che sono gli unici due valori possibili che può assumere non si aprono.

Code: [Select]
void elettrovalvolastart(){
  digitalWrite(PINS_VALVE1,HIGH);           //Apro l'elettrovalvola n°1
  delay(duratagoccia1);                     //Durata dell'apertura, ovvero grandezza della goccia)
  digitalWrite(PINS_VALVE1,LOW);            //Chiudo l'elettrovalvola n°1
 
  if(statogoccia2==1){
  delay(int_goccia1_2);                     //Tempo di ritardo dalla prossima goccia o dallo scatto o dal Flash
    digitalWrite(PINS_VALVE2,HIGH);         //Apro l'elettrovalvola n°2
  delay(duratagoccia2);                     //Durata dell'apertura, ovvero grandezza della goccia)
  digitalWrite(PINS_VALVE2,LOW);            //Chiudo l'elettrovalvola n°2
  }
 
  if(statogoccia3==0 || statogoccia3==1){
  delay(int_goccia2_3);                     //Tempo di ritardo dalla prossima goccia o dallo scatto o dal Flash
    digitalWrite(PINS_VALVE3,HIGH);         //Apro l'elettrovalvola n°3
  delay(duratagoccia3);                     //Durata dell'apertura, ovvero grandezza della goccia)
  digitalWrite(PINS_VALVE3,LOW);            //Chiudo l'elettrovalvola n°3
  }
 
  delay(ritardoreflex);                     //Tempo di ritardo dallo scatto o dal Flash
   
}


idee su qualche altra prova da effettuare?

Go Up