map() преобразует значения в новый диапазон
Масштабируйте исходные показания в полезные единицы
«map() преобразует значения в новый диапазон» — бесплатный урок Arduino & IoT Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Arduino & IoT Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Arduino & IoT Academy содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
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.
Часто задаваемые вопросы
Урок «map() преобразует значения в новый диапазон» бесплатный?
Да — полный текст урока «map() преобразует значения в новый диапазон» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Arduino & IoT Academy, подпишись на CoddyKit PRO. Курс Arduino & IoT Academy содержит 4 уроков всего.
Чему я научусь в уроке «map() преобразует значения в новый диапазон»?
Масштабируйте исходные показания в полезные единицы Ты практикуешь Arduino & IoT Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Arduino & IoT Academy?
Предыдущий опыт не требуется. Arduino & IoT Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «map() преобразует значения в новый диапазон»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Arduino & IoT Academy?
Да. Каждый урок Arduino & IoT Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Цифровые и аналоговые сигналы
- analogRead возвращает 0–1023
- Чтение ручки потенциометра
- map() преобразует значения в новый диапазон