Menu
CoddyTech

Dimmer com potenciômetro

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

Um botão fornece um número de 0 a 1023 para analogRead(), e analogWrite() espera um valor de 0 a 255. Os dois intervalos não correspondem, então converta um no outro com map():

int reading = analogRead(A0);
int brightness = map(reading, 0, 1023, 0, 255);
analogWrite(9, brightness);

Com o botão no mínimo, o valor é 0 e o LED fica apagado; com o botão no máximo, o valor é 1023, que se converte em 255, ficando totalmente aceso. Cada posição intermediária produz um brilho intermediário.

Enviar a leitura diretamente para o LED não funciona: analogWrite() aceita apenas valores de 0 a 255, então uma leitura como 600 resulta em um brilho incorreto.

challenge icon

Desafio

Fácil

O potenciômetro está em A0 e o LED no pino 9. Faça o potenciômetro definir o brilho:

  • leia o potenciômetro
  • converta a leitura para um valor entre 0 e 255 com map()
  • escreva o valor no LED e aguarde 10 ms

Pressione Run e gire o potenciômetro, depois Check.

Experimente você mesmo

const int knobPin = A0;
const int ledPin = 9;

void setup() {
  pinMode(ledPin, OUTPUT);
}

void loop() {
  // leia o potenciômetro, mapeie seu valor para 0..255 e envie-o ao LED
}
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