Menu
CoddyTech

Atenuador con perilla

Parte de la sección Salidas del Journey de Arduino de Coddy. Lección 5 de 24.

Un mando proporciona a analogRead() un número de 0 a 1023, y analogWrite() necesita de 0 a 255. Los dos rangos no coinciden, así que convierte uno en el otro con map():

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

Al bajar el mando, se obtiene 0 y el LED está apagado; al subirlo, se obtiene 1023, que se convierte en 255, completamente encendido. Cada posición intermedia produce un brillo intermedio.

Escribir la lectura directamente en el LED no funciona: analogWrite() solo acepta valores de 0 a 255, así que una lectura como 600 produce un brillo incorrecto.

challenge icon

Desafío

Fácil

El potenciómetro está conectado a A0 y el LED al pin 9. Haz que el potenciómetro establezca el brillo:

  • lee el potenciómetro
  • convierte la lectura a un valor de 0 a 255 con map()
  • escríbelo en el LED y después espera 10 ms

Pulsa Run y gira el potenciómetro; después, pulsa Check.

Pruébalo tú mismo

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

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

void loop() {
  // lee el potenciómetro, convierte su valor al rango 0..255 y aplícalo al LED
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Salidas

Practica por tu cuenta: Playground de Arduino