Arduino的模拟信号处理

本文详细介绍了如何使用Arduino读取模拟信号,包括电压测试、`analogRead`函数应用、`map`函数的运用以及Serial.write与Serial.print的区别。通过实例演示了如何通过映射技术调整模拟电压值到指定范围,并适用于PWM控制。
摘要由CSDN通过智能技术生成

Arduino的模拟信号输入——电压测试

int value=0; //定义值为0,也可以在程序一开始定义
value=analogRead(out); //使模拟信号输入的值为value
float val=value*(5.0/1023.0); //由于模拟信号输入的值为0到1023的值,即为0到5v的值,这里可以转换一下
Serial.println(val); //输出该点的电平是多少

map() 将数字从一个范围重新映射到另一个范围。
函数原型:map(value, fromLow, fromHigh, toLow, toHigh)
    value:要映射的数
    fromLow:当前值范围的下限
    fromHigh:当前值范围的下限
    toLow:目标值范围的下限
    toHigh:目标值范围的上限
  返回值:映射后的值
  eg: (读取IO0的模拟电压(01023),并将其设置到IO9(0255)(其实也就是PWM))
    int val = analogRead(0);
    val = map(val, 0, 1023, 0, 255);
    analogWrite(9, val);

Arduino 的 Serial.write 和 Serial.print 的区别在哪里
Serial.print 发送的是字符,如果你发送97,发过去的其实是9的ascii码(00111001)和7的ascii码(00110111)。
Serial.write 发送的字节,是一个0-255的数字,如果你发97, 发过去的其实是97的二进制(01100001),对应ascii表中的“a".

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值