六、模拟输入与串行输出

 本实例将通过电位计的模拟输入量通过arduino的A/D转换功能转换成数字量并进行输出。

电位计:电位器是一个连续可调的电阻器,当调节电位器的转柄或滑柄时,动触点在电阻体上滑动。此时在电位器的输出端可获得与电位器外加电压和可动臂转角或行程成一定关系的输出电压。

 

 实验现象:通过转动电位计便可控制led的亮度

int sensorValue = 0;

int outputValue = 0;

void setup()
{
  pinMode(A0, INPUT);	//初始化A0为输入模式
  pinMode(9, OUTPUT);
  Serial.begin(9600);	//打开串口通讯
}

void loop()
{
  
  sensorValue = analogRead(A0);//读取模拟值:
  outputValue = map(sensorValue, 0, 1023, 0, 255);// 将其映射到模拟输出的范围: 
  analogWrite(9, outputValue);// 更改模拟输出值:
  Serial.print("sensor = ");// 将结果打印到串行监视器:
  Serial.print(sensorValue);
  Serial.print("\t output = ");
  Serial.println(outputValue);
  //在下一个循环之前等待 2 毫秒,以便模数转换器在最后一次读数后建立:
  delay(2); // 延时2ms
}

 analogRead(A0):读取的是一个0~1023的模拟量

map(num,旧区间初值,旧区间终值,新区间初值,新区间终值);意思就是把num这个数从旧区间映射到新区间,就是高中数学知识那个映射,而且是最简单的线性映射

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值