Menu
CoddyTech

Reduza o brilho de um LED com PWM

Parte da seção Saídas do Journey de Arduino da Coddy. Lição 1 de 24.

digitalWrite() conhece dois níveis: ligado ou desligado. Para fazer um LED brilhar fracamente, a placa liga e desliga o pino centenas de vezes por segundo. Seus olhos não conseguem acompanhar a oscilação e percebem a média: um pino que fica ligado durante um quarto do tempo parece ter um quarto do brilho.

Esse truque é chamado de PWM, modulação por largura de pulso. A proporção do tempo em que o pino fica ligado é seu ciclo de trabalho.

analogWrite(pin, value) define isso com um número de 0 a 255:

analogWrite(9, 0);    // sempre desligado
analogWrite(9, 64);   // ligado durante um quarto do tempo
analogWrite(9, 127);  // ligado durante cerca de metade do tempo
analogWrite(9, 255);  // sempre ligado

Depois que você escreve um valor, a placa mantém o pino pulsando por conta própria, mesmo durante delay(), até que você escreva um novo valor. analogWrite() transforma o pino em uma saída por conta própria; pinMode(9, OUTPUT) em setup() ainda indica para que serve o pino.

challenge icon

Desafio

Fácil

O LED vermelho está no pino 9. Faça-o brilhar com um quarto do brilho máximo:

  • um quarto de 255 é aproximadamente 64
  • escreva esse valor com analogWrite()

Pressione Run para observá-lo e, em seguida, Check.

Experimente você mesmo

const int ledPin = 9;

void setup() {
  pinMode(ledPin, OUTPUT);
  // ajuste o brilho do LED para um quarto aqui
}

void loop() {
  // nada a repetir: o pino continua pulsando por conta própria
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Saídas

Pratique por conta própria: Playground de Arduino