olá peço ajuda a vcs pois preciso fazer um projeto que 

? A intensidade das lâmpadas de LED devem ser controladas por apenas um 
potenciômetro;
? As lâmpadas de LED devem poder assumir valores de intensidade diferentes entre 
si.
? Para ajuste da intensidade de cada uma das lâmpadas de LED o circuito deverá 
possuir dois botões, cada um representa o ajuste de uma das lâmpadas.
? Ao pressionar o botão que representa uma das lâmpadas de LED o ajuste de 
intensidade poderá ser feito até que o outro botão seja pressionado.

fiz o codigo porem que quero que quando o botão for pressionado, seja possível ajustar a intensidade do led até que o outro botão seja pressionado, e ai o segundo led terá sua intensidade controlada.

no atual codigo é preciso ficar com o botão pressionado para alterar sua intensidade.

esté é o atual codigo peço a ajuda de vcs

const int potenciometro = A5;
int led1 = 10;
int led2 = 11;
int Bled1 = 6; //botão led 1
int Bled2 = 7;  //botão led 2
int statuB1 = 0; //armazena estado do botão ligado ou desligado do botão1
int statuB2 = 0; // armazena estado do botão ligado ou desligado do botão 2


void setup (){
    Serial.begin(9600);
    pinMode(led1, OUTPUT);
    pinMode(led2, OUTPUT);
    pinMode(Bled1, INPUT);
    pinMode(Bled2, INPUT);
}
void loop(){
  
 
  int potenciometro = analogRead(A5);
  statuB1=digitalRead(Bled1);
  statuB2=digitalRead(Bled2);  
  if (statuB1==1) {
  analogWrite(led1,potenciometro/4);
 }
   if (statuB2==1) {
  analogWrite(led2,potenciometro/4);
  
 }
}

Exibições: 525

Anexos

Responder esta

Respostas a este tópico

Para o seu código funcionar vc tem que criar uma máquina de estados. Algo assim:

const int potenciometro = A5;
int led1 = 10;
int led2 = 11;
int Bled1 = 6; //botão led 1
int Bled2 = 7;  //botão led 2
int statuB1 = 0; //armazena estado do botão ligado ou desligado do botão1
int statuB2 = 0; // armazena estado do botão ligado ou desligado do botão 2

int estado = 1;

void setup (){
    Serial.begin(9600);
    pinMode(led1, OUTPUT);
    pinMode(led2, OUTPUT);
    pinMode(Bled1, INPUT);
    pinMode(Bled2, INPUT);
}
void loop(){
  
 
  int potenciometro = analogRead(A5);
  statuB1=digitalRead(Bled1);
  statuB2=digitalRead(Bled2);  

  if ((statuB1) && estado != 1)

  {

      estado=1;

  }

  else

  if ((statuB1) && estado != 2)

  {

      estado=2;

  }

  if (estado==1) {
  analogWrite(led1,potenciometro/4);
 }

 else
   if (estado==2) {
  analogWrite(led2,potenciometro/4);
 }
}

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço