aiuto per favore

int A = A0;
int B = A1;
int C = A2;
int D = A3;
int AA = 12;
int BB = 8;
int CC = 12;
int DD = 8;
void setup()
{
pinMode(A, INPUT);
pinMode(B, INPUT);
pinMode(C, INPUT);
pinMode(D, INPUT);
pinMode(AA, OUTPUT);
pinMode(BB, OUTPUT);
pinMode(CC, OUTPUT);
pinMode(DD, OUTPUT);
}
void loop()
{
if (digitalRead(A) == HIGH)
{
digitalWrite(AA, HIGH);
delay(2000);
}
else
{
digitalWrite(AA, LOW);
} // FINE 1
if (digitalRead(B) == HIGH)
{
digitalWrite(BB, HIGH);
delay(1000);
}
else
{
digitalWrite(BB, LOW);
} // FINE 2
if (digitalRead(C) == HIGH)
{
digitalWrite(CC, HIGH);
delay(3000);
}
else
prego visionare questo listato con allegato disegno
il problema e’: premendo qualsiasi pulsante, si accende sempre e solo il led collegato al pin 12
sono principiante

{
digitalWrite(CC, LOW);
} // FINE 3
if (digitalRead(D) == HIGH)
{
digitalWrite(DD, HIGH);
delay(3000);
}
else
{
digitalWrite(DD, LOW);
} // FINE 4
}

SCHEMA X N? 2.fz (135 KB)

errore post

prego visionare questo listato con allegato disegno il problema e': premendo qualsiasi pulsante, si accende sempre e solo il led collegato al pin 12 sono principiante

int A = A0; int B = A1; int C = A2; int D = A3; int AA = 12; int BB = 8; int CC = 12; int DD = 8; void setup() { pinMode(A, INPUT); pinMode(B, INPUT); pinMode(C, INPUT); pinMode(D, INPUT); pinMode(AA, OUTPUT); pinMode(BB, OUTPUT); pinMode(CC, OUTPUT); pinMode(DD, OUTPUT); } void loop() { if (digitalRead(A) == HIGH) { digitalWrite(AA, HIGH); delay(2000); } else { digitalWrite(AA, LOW); } // FINE 1 if (digitalRead(B) == HIGH) { digitalWrite(BB, HIGH); delay(1000); } else { digitalWrite(BB, LOW); } // FINE 2 if (digitalRead(C) == HIGH) { digitalWrite(CC, HIGH); delay(3000); } else { digitalWrite(CC, LOW); } // FINE 3 if (digitalRead(D) == HIGH) { digitalWrite(DD, HIGH); delay(3000); } else { digitalWrite(DD, LOW); } // FINE 4 }

2 cose. Metti per ogni tasto una resistenza pull down e non 1 con 4 diodi. Se schiacci un pulsante attraverso il diodo viene portato la resistenza a HIGH e percui agli altri 3 pulsanti manca il riferimento a massa e possono anche essi venir letti HIGH. Mancano le resistenza dei LED. Non ha senso dichiarare 2 volte un pin come usciata.

Ciao Uwe

buonasera preciso e chiedo: la resistenza e' a valle dei diodi mentre il segnale per i pin e' a monte non e' come se ci fosse un unico circuito? forse il disegno non e' chiaro cosa intende per due volte lo stesso pin? con 4 segnali uguali voglio tempi diversi di intervento sui due led cordiali saluti

per le aperture di post mi scuso sono veramente alle prime armi

BONATOITALIA: cosa intende per due volte lo stesso pin?

Intende questo:

int AA = 12;
int BB = 8;
int CC = 12;
int DD = 8;
void setup()
{
  pinMode(A, INPUT);
  pinMode(B, INPUT);
  pinMode(C, INPUT);
  pinMode(D, INPUT);
  pinMode(AA, OUTPUT);
  pinMode(BB, OUTPUT);
  pinMode(CC, OUTPUT);
  pinMode(DD, OUTPUT);

AA e CC sono il pin 12, BB e DD sono il pin 8.

Dammi del tu per favore senó mi sento vecchissimo =( =(

la resistenza e' a valle dei diodi mentre il segnale per i pin e' a monte non e' come se ci fosse un unico circuito? forse il disegno non e' chiaro

Il disegno é chiaro e ho capito il circuito come lo descrivi, ma é proprio quello che non funziona; Metti 4 resistenze e niente diodi e funzionerá.

cosa intende per due volte lo stesso pin?

questo:

int AA = 12;
int BB = 8;
int CC = 12;
int DD = 8;

AA e CC , BB e DD sono le stesse uscite ; basta allora AA e BB.

con 4 segnali uguali voglio tempi diversi di intervento sui due led

cosa intendi con "4 segnali uguali"?

Ciao Uwe

chiarisco l'arduino andra' installato in un'automazione e dimenticato li'. i 4 segnali saranno da rele' a contatto pulito(DA ROBOT CARTESIANO) in uscita avro 2 elettrovalvole(AUTOMAZIONE PER MANIPOLARE I PEZZI PRIMA DEL CONFEZIONAMENTO) attualmente le elettrovalvole sono pilotate dalle 4 uscite ma per defolt non sono sovrapponibili ai movimenti del robot; con conseguente perdita di tempo, circa 8 secondi su ciclo di 30, portarlo a 22 capira' che differenza deve fare: IN 1 OUT 1 2SECONDI IN 2 OUT 2 1SECONDI IN 3 OUT 1 3SECONDI IN 4 OUT 2 2SECONDI ecco perche' il doppio comando. ne aprofitto ......la prossima esigenza sara' in temporizzatore per spruzzare del silicone; 10 segnali in entrata da contatto pulito 1 uscita per t (x) in realta' esistono gia prodotti in commercio ma, arduino non e' omron,crouzet etcc e questo e' un valore