Pagina 1 di 2

scarico wc con sensore ir arduino

MessaggioInviato: 24 set 2017, 16:26
da lga83
Salve a tutti ho fatto questo piccolo progetto per far scaricare in automatico acqua del wc dopo averlo usato funziona tutto benissimo, ora siccome voglio utilizzare una scheda unica la uno per utilizzarla su due bagni differente uomini donne ma non riesco a creare lo shrek mi potete aiutare, grazie questo e lo shrek funzionante.
Codice: Seleziona tutto
int peppe = 0;
void setup() {
  Serial.begin(9600);
  pinMode(2, INPUT);
  pinMode(3, OUTPUT);
  pinMode(13, OUTPUT);
}
void loop() {
  delay(1000);
  if (digitalRead(2) == HIGH && peppe == 1) {
    //Serial.println("scarica");
    delay(1000);
   digitalWrite(3, HIGH);
   delay(5000);
   
   peppe = 0;
    digitalWrite(3, LOW);
  }
  if (digitalRead(2) == HIGH) {
    //Serial.println("attesa");
    digitalWrite(13, HIGH);
  }
  else
  {
    digitalWrite(13, LOW);
    peppe = 1;
    //Serial.println("rilevato");
  }
}

Re: scarico wc con sensore ir arduino

MessaggioInviato: 24 set 2017, 18:09
da MarcoD
Non ho capito cosa sono gli input e gli output.
Un programma non commentato è di difficile comprensione (fa passare la voglia di leggerlo :( )
Chi è peppe ????
come funziona?
Vuoi usare un solo Arduino per due bagni ?
Quali altri ingressi/uscita hai disponibili?
La struttura con i delay(.000) non mi pare vada bene per essere duplicata. Non devi adoperare i delay, ma eseguire tutti i calcoli ogni supponiamo 1000 ms (usa un solo delay(1000) in comune per tutto), e con dei contatori con decremento realizzare le temporizzazioni.

Re: scarico wc con sensore ir arduino

MessaggioInviato: 24 set 2017, 19:34
da lga83
questo e lo sketch modificato

Codice: Seleziona tutto
int peppe = 0;

void setup() {
Serial.begin(9600);

pinMode(2, INPUT);
pinMode(3, OUTPUT);
pinMode(13, OUTPUT);
pinMode(5, INPUT);
pinMode(4, OUTPUT);
pinMode(12, OUTPUT);
}
void loop() {
delay(1000);
if (digitalRead(2) == HIGH && peppe == 1){
   Serial.println("scarica uomini");
  delay(1000); //tempo inizio scarico
  digitalWrite(3, HIGH);
  delay(10000); //durata scarico acqua
  peppe = 0;
  digitalWrite(3, LOW);

}
if (digitalRead(2) == HIGH) {
   
   Serial.println("attesa uomini");
   digitalWrite(13, HIGH);
}
else
{
   digitalWrite(13, LOW);
   peppe = 1;
   Serial.println("rilevato uomini");
}


if (digitalRead(5) == HIGH && peppe == 2){
   Serial.println("scarica donne");
  delay(1000); //tempo inizio scarico
  digitalWrite(4, HIGH);
  delay(10000); //durata scarico acqua
  peppe = 0;
  digitalWrite(4, LOW);

}
if (digitalRead(5) == HIGH) {
   Serial.println("attesa donne ");
   digitalWrite(12, HIGH);
}
else
{
   digitalWrite(12, LOW);
   peppe = 2;
   Serial.println("rilevato donne ");
}
}
funziona bene separatame, ma quando i 2 sensori rilevano la presenza contemporaneamente non scaricano ma ritornano in attesa, non riesco a capire il perché

Re: scarico wc con sensore ir arduino

MessaggioInviato: 24 set 2017, 21:34
da AjeieBrazov
lga83 ha scritto:... non riesco a creare lo shrek mi potete aiutare...

Non c'è problema, eccolo qui! :ok:

shrek.png
shrek.png (140.42 KiB) Osservato 9612 volte

Re: scarico wc con sensore ir arduino

MessaggioInviato: 25 set 2017, 6:52
da pusillus
Rimane ancora da capire chi è il misterioso 'peppe' :?:

Re: scarico wc con sensore ir arduino

MessaggioInviato: 25 set 2017, 7:46
da PietroBaima
non mi stupisce l'uso di Arducoso per il WC.

Re: scarico wc con sensore ir arduino

MessaggioInviato: 25 set 2017, 8:54
da speedyant
Ricordarsi che delay() è bloccante, nel senso che fa "aspettare" il micro, lasciandolo inoperoso.

Re: scarico wc con sensore ir arduino

MessaggioInviato: 26 set 2017, 14:10
da marioursino
Spettacolare questo post

Re: scarico wc con sensore ir arduino

MessaggioInviato: 26 set 2017, 15:24
da claudiocedrone
pusillus ha scritto: ...chi è il misterioso 'peppe' :?:...

:-) E' quello che nel frattempo se ne è andato senza scaricare. O_/

Re: scarico wc con sensore ir arduino

MessaggioInviato: 24 ott 2017, 1:05
da MassimoB
Quando proposi questa sezione non avrei mai pensato a questo :oops: ?% :oops: