Arduino中的map函数

一、案例

val = analogRead(dyPin);    //读取模拟口的模拟量数值
dyValue=map(val,0,1023,0,500);//这个函数是将电位器调节的模拟量的值按比例转换成对应的电压量

问题,为什么不是0~499呢?

其实也行↓

map(val, 0, 1023, 0, 500)被调用时,假设val的取值范围是0到1023。如果使用0到499作为映射范围,会导致最大值无法被完全映射到目标范围内。考虑到实际应用中可能需要完整映射整个范围,因此选择0到500作为映射范围更为合适,这样可以确保最大值1023能够被映射到500。

因此,为了确保映射的准确性和完整性,选取0到500作为映射范围是更为合理的选择。

通过analog 模拟输入引脚获取 对应的 模拟值 对应为1K阈值。

Serial.println((float)dyValue/100.00);    //串口显示对应的电压值

二、map函数

在Arduino中,map()函数用于将一个数字从一个范围映射到另一个范围。其语法如下:

map(value, fromLow, fromHigh, toLow, toHigh)
  • value:要映射的值。
  • fromLow 和 fromHigh:原始范围的最小值和最大值。
  • toLow 和 toHigh:目标范围的最小值和最大值。

例如,map(val, 0, 1023, 0, 500) 的作用是将 val 这个值从 0 到 1023 的范围映射到 0 到 500 的范围内。这意味着如果 val 的值为 0,映射后的值为 0;如果 val 的值为 1023,映射后的值为 500;如果 val 的值在这个范围内,将按比例线性映射到目标范围内的对应值。

三、请区别与Java语言的Map集合 

在Arduino中,map()函数用于将一个数字从一个范围映射到另一个范围,这是一种数学计算函数,用于对数值进行线性映射转换。

而在Java语言中,Map是一种接口(Interface),它表示映射表,即一种键值对的集合。Java中的Map集合用于存储键值对,并提供了根据键来查找值的功能。常见的实现类包括HashMapTreeMap等,它们提供了不同的实现方式和性能特点。

相关推荐

  1. pythonmap函数

    2024-03-24 16:36:02       68 阅读
  2. pythonmap()函数使用

    2024-03-24 16:36:02       35 阅读
  3. Arduino关于error: reference to ‘map‘ is ambiguous

    2024-03-24 16:36:02       46 阅读
  4. jsmap函数

    2024-03-24 16:36:02       28 阅读
  5. PythonMap函数:简化你循环和函数调用

    2024-03-24 16:36:02       38 阅读
  6. Arduino】delay()、millis() 时间函数

    2024-03-24 16:36:02       30 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-24 16:36:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-24 16:36:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-24 16:36:02       82 阅读
  4. Python语言-面向对象

    2024-03-24 16:36:02       91 阅读

热门阅读

  1. web安全之:三种常见的Web安全威胁

    2024-03-24 16:36:02       44 阅读
  2. KeyguardViewMediator的面试题目

    2024-03-24 16:36:02       38 阅读
  3. C++在非面向对象方面的扩充

    2024-03-24 16:36:02       26 阅读
  4. 类与对象\对象的应用

    2024-03-24 16:36:02       44 阅读
  5. 数据库中什么时候使用自增id,什么时候不能使用

    2024-03-24 16:36:02       47 阅读
  6. Rust 的 Vec 排序方法汇总

    2024-03-24 16:36:02       46 阅读