Pages: [1]   Go Down
Author Topic: Aiuto Led con Sensore movimento  (Read 361 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 12
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao a tutti!
Vi chiedo assistenza per un programma che sto scrivendo per comandare accensione/spegnimento e regolare la luminosità di un led attraverso un sensore ad ultrasuoni. Passando la mano sopra al sensore il led dovrebbe accendersi, ripassandola si spegne...ma tenendola sopra..alzandola dovrebbe aumentare la luminosità..
Per accendersi si accende facilmente..ma per regolare la luminosità mi da problemi...cosa sbaglio?

Code:
#define trig 8
#define echo 7
#define led 13


int distanza=0;
int tempo=0;
int stato=0;
int temp=0;
int pwm=64;

void setup(){
  pinMode(trig,OUTPUT);
  pinMode(echo,INPUT);
  pinMode(led,OUTPUT);
  Serial.begin(9600);
}

void loop(){

  digitalWrite(trig,HIGH);
  delayMicroseconds(10);
  digitalWrite(trig,LOW);
  
  tempo=pulseIn(echo,HIGH);
  distanza=tempo/58;
  
  Serial.println(distanza);
  
  if((distanza<30)&&(distanza!=0)&&(stato!=2)){
    if(stato==0){
      analogWrite(led,64);
      stato=stato+1;
    }
    else{
        temp=distanza;
        stato=stato+1;
    }
  }
 else{
   if(stato==2){
    if((distanza>=temp)&&(distanza<50)){
      do{
        delay(50);
        pwm=pwm+10;
        analogWrite(led,pwm);
      } while (pwm<255);
      pwm=64;
      delay(1000);
      stato=1;
    }
    else{
      if(distanza>=50){
        analogWrite(led,0);
        stato=0;
      }
    }
  }
  
 }
}
Logged

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 266
Posts: 21647
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Il problema principale é che il Pin 13 sul Arduino UNO non é un pin PWM e percui non funziona il analogWrite().

Ciao Uwe
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 12
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ho la versione Arduino Leonardo..che ha il pwm anche sul pin 13
Logged

Pages: [1]   Go Up
Jump to: