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.
Desafio
FácilO 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
}
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