typestar

map y constrain en Arduino

Reescala un rango sobre otro y recorta los bordes.

// map rescales one range onto another; constrain clips the edges.
const int KNOB_PIN = A1;
const int VENT_PIN = 6;

void setup() {
  pinMode(VENT_PIN, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  int knob = analogRead(KNOB_PIN);
  // 0-1023 counts onto 0-255 PWM, then clipped to a safe band.
  int duty = map(knob, 0, 1023, 0, 255);
  duty = constrain(duty, 20, 235);
  analogWrite(VENT_PIN, duty);
  Serial.println(duty);
  delay(100);
}

Cómo funciona

  1. map(knob, 0, 1023, 0, 255) lleva cuentas a ciclo PWM.
  2. constrain(duty, 20, 235) mantiene el extractor en su banda.
  3. De perilla a ventilador en dos llamadas, sin aritmética a mano.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
18
Caracteres a escribir
427
Tokens
94
Ritmo de tres estrellas
65 tpm

Al ritmo de tres estrellas de 65 tokens por minuto, este intento toma unos 87 segundos.

Escribe este fragmento

Paso 2 de 3 en Analógico; paso 8 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →