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); } } |
Tags:
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);
}
}
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por