Go Down

Topic: Problema uscita analogica con LED (Read 677 times) previous topic - next topic

Alfablor

Ciao Ragazzi,

volevo sottoporvi questo fatto, per cercare di giungere a una soluzione.
Ho realizzato un semplice programma di prova, con un fototransistor che rileva la
quantità di luce che lo colpisce e di conseguenza mi accende al massimo o spegne un Led.
Il mio problema è che dichiarando uscita Pwm a valore 0 (Zero), il led non si spegne completamente come dovrebbe essere.

Vi sottopongo il codice:

Code: [Select]
int Lettura;
int Light = 3;


void setup() {
  Serial.begin (9600);
  pinMode (Light, OUTPUT);
 
}

void loop() {
Lettura = analogRead (A0);
Serial.println (Lettura);
 
 
if (Lettura <=3);
analogWrite (Light,255);

if (Lettura >=10)
analogWrite (Light,0);

}


Sapete darmi qualche indicazione?

Grazie mille!!

uwefed

cancella
Code: [Select]
pinMode (Light, OUTPUT);

Alfablor

Ho cancellato dal programma la stringa che mi hai consigliato.. ma il problema persiste allo stesso modo. Il Led rimane debole debole ma acceso..
Non saprei.. altri consigli ragazzi?

uwefed

#3
Apr 10, 2017, 12:52 am Last Edit: Apr 10, 2017, 12:53 am by uwefed
Code: [Select]
void loop() {
Lettura = analogRead (A0);
if (Lettura <=3);
analogWrite (Light,255);
if (Lettura >=10)
analogWrite (Light,0);
}


c'é un ";" di troppo dopo il primo if.

Ciao Uwe

Alfablor

Eliminato il ";" di troppo e il problema si è risolto. Ringrazio tutti gli intervenuti.. e mi scuso per questo errore banale, ma sono alle prime armi.

Grazie mille

pippettiello

cancella
Code: [Select]
pinMode (Light, OUTPUT);
Ciao Uwe!
Scusa, ma proprio non capisco questo tuo suggerimento...

uwefed

Non serve se usi il pin come analogWrite();
Ciao Uwe

pippettiello


Go Up