Boa noite.Sou iniciante e acho até que vão "rir" do meu problema!Estou tentando controlar a intensidade de um led na porta 9 PWM e com entrada pela serial através dos caracteres A, D e S....Só que…Continuar
Bom dia! No seu código você atribui o valor 0 a entrada (logo antes da instrução delay), desta forma, o valor escrito no led não se altera e aí o led não altera a intensidade da luz. Abaixo segue uma das soluções possíveis para o Exercício, qualquer dúvida, por favor, entre em contato. Abraços,
Cláudio
int LED = 9; int entrada; int intensidade = 0;
void setup() { Serial.begin(9600); pinMode(LED, OUTPUT); Serial.println(“Digite ‘A’ para aumentar a intensidade luminosa do LED, ‘D’ para reduzir ou ‘R’ para apagar:”); }
Caixa de Recados (1 comentário)
Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!
Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
Olá Olavo,
Bom dia! No seu código você atribui o valor 0 a entrada (logo antes da instrução delay), desta forma, o valor escrito no led não se altera e aí o led não altera a intensidade da luz. Abaixo segue uma das soluções possíveis para o Exercício, qualquer dúvida, por favor, entre em contato. Abraços,
Cláudio
int LED = 9;
int entrada;
int intensidade = 0;
void setup() {
Serial.begin(9600);
pinMode(LED, OUTPUT);
Serial.println(“Digite ‘A’ para aumentar a intensidade luminosa do LED,
‘D’ para reduzir ou ‘R’ para apagar:”);
}
void loop() {
if (Serial.available() > 0) {
entrada = Serial.read();
if (entrada == ‘A’ || entrada == ‘a’) {
intensidade += 10;
if (intensidade > 255)
intensidade = 255;
}
else if (entrada == ‘D’ || entrada == ‘d’) {
intensidade -= 10;
if (intensidade < 0)
intensidade = 0;
}
else if (entrada == ‘R’ || entrada == ‘r’) {
intensidade = 0;
}
else {
Serial.println(“Por favor, digite apenas ‘A’, ‘D’ ou ‘R’!”);
}
analogWrite(LED, intensidade);
delay (100);
}