Rimappare i valori con map()
Ridimensionare le letture grezze in unità utili
Rimappare i valori con map() è una lezione Arduino & IoT Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Arduino & IoT Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Arduino & IoT Academy include 4 lezioni in totale.
Parti di questa lezione non sono ancora state tradotte e vengono mostrate in inglese.
Raw Values Are Awkward
A 0 to 1023 reading rarely matches what you need. Often you want a percentage or an angle, not a raw sensor count.
Meet the map Function
The map function rescales a number from one range into another. It does the proportional math so you do not have to.
Its Five Arguments
You give map five things: the value, plus the low and high of its current range and the low and high of the target range.
map(value, fromLow, fromHigh, toLow, toHigh);Scale to a Percentage
To turn a knob into 0 to 100 percent, map from the analog range to a percent range. The result reads like a volume dial.
int pct = map(analogRead(A0), 0, 1023, 0, 100);Scale to a Servo Angle
Servos expect 0 to 180. Map a knob into that range and the reading becomes a usable angle for the motor.
int angle = map(analogRead(A0), 0, 1023, 0, 180);It Returns Whole Numbers
The map function works in integers, so it returns whole numbers and drops the fraction. That is fine for most controls.
You Can Flip the Range
Set the target low above the high to invert the output. Now turning the knob right makes the result go down.
int v = map(analogRead(A0), 0, 1023, 100, 0);It Does Not Clamp
The map function will go past your limits if the input does. Use constrain afterward to keep the result safely inside bounds.
int v = constrain(map(x,0,1023,0,100),0,100);Negative Ranges Work Too
Targets can be negative, like -50 to 50 for a centered control. The map math handles that direction with no extra effort.
Map for Brightness
Pair map with PWM later to set brightness. A knob can scale neatly into the 0 to 255 range an LED dimmer expects.
int b = map(analogRead(A0), 0, 1023, 0, 255);A Tool You Will Reuse
You will reach for map constantly: percentages, angles, ranges, and more. It turns raw sensor data into meaningful numbers.
Quick Check
What is the job of the map function?
Recap: Rescaling with map
You learned map rescales a value between ranges using five arguments. Pair it with constrain to clamp results into safe bounds.
Domande Frequenti
La lezione «Rimappare i valori con map()» è gratuita?
Sì — il testo completo di «Rimappare i valori con map()» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Arduino & IoT Academy, passa a CoddyKit PRO. Il corso Arduino & IoT Academy include 4 lezioni in totale.
Cosa imparerò in «Rimappare i valori con map()»?
Ridimensionare le letture grezze in unità utili Eserciti Arduino & IoT Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Arduino & IoT Academy?
Non è richiesta alcuna esperienza precedente. Arduino & IoT Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Rimappare i valori con map()»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Arduino & IoT Academy?
Sì. Ogni lezione Arduino & IoT Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Segnali digitali e analogici
- analogRead restituisce 0–1023
- Leggere la manopola di un potenziometro
- Rimappare i valori con map()