查看: 114|回复: 1

[技术] 【赚周年币】技术帖——Fireduino学习2、Analog I/O

[复制链接]

46

主题

3

好友

3561

积分

状元

Rank: 6Rank: 6

  • TA的每日心情
    擦汗
    昨天 16:06
  • 签到天数: 331 天

    [LV.8]以坛为家I

    发表于 2016-12-27 23:25:22 |显示全部楼层
    今天学习下 Analog I/O,要学习的几个函数:
    analogReference()
    说明

      选择ADC的基准电压(等同于可以输入电压的最大值)。Fireduino只能够选择内部基准电压,并且只有一个基准电压可以选取,为2.56V。
    语法

       analogReference(INTERNAL2V56)
    参数

       INTERNAL2V56 :  内部基准源,2.56V(默认)
    返回值
       无
    注意事项

       由于ADC的基准只有一项,实际上可以不进行配置。如果有进行配置其他选项的话,那么该配置语句是无效的,基准并不会因此改变。
    analogRead()

    说明

       读取模拟引脚的输入电压测量值(不可大于基准电压)。   Fireduino一共有8个10bit的ADC(逐次逼近型)输入口,分别是A0~A7。调用此函数的时候,ADC会将基准电压分成1024份,然后一份一份的叠加,   直到最接近当前模拟引脚的电压为止,此时叠加的值就是电压测量值。   所以实际上引脚上的电压值为:V = value/1024*Vef(V:实际测量电压值,value为电压测量值,即此函数的返回值,Vef为基准电压,2.56V)。
    语法
       analogRead(pin)
    参数
       pin:需要进行ADC采集的模拟输入引脚。(A0~A7)
    返回值
       ADC测量值,取值为0~1023。   获取当前电压值的方法是:当前电压值 = (ADC测量值/1023)*  ADC基准电压值。
    注意事项
       如果ADC采集对应的模拟输入引脚没有接入任何电流,那么由analogRead()返回的值将根据多项因素(例如其他模拟输入引脚,你的手靠近板子等)产生波动。
    我们使用Analog I/O来进行ADC的数据采集。
    1. int analogPin = A0;
    2. int val = 0;

    3. void setup() {
    4.   // put your setup code here, to run once:
    5.   Serial.begin(9600);
    6.   Serial.println("setup");
    7. }

    8. void loop() {
    9.   // put your main code here, to run repeatedly:
    10.   float voltage;
    11.   val = analogRead(analogPin);
    12.   voltage = val/1023.0 * 2.55;
    13.   Serial.print("adc_value is ");
    14.   Serial.println(voltage);
    15.   delay(1000);
    16. }
    复制代码
    输出结果:
    QQ图片20161227232421.png


    已有 1 人评分 收起 理由
    loveeeboard + 15

    总评分:  + 15   查看全部评分

    喜欢在构思妙想,电子产品DIY是工作,也是一种爱好。
    回复

    使用道具 举报

    23

    主题

    0

    好友

    3527

    积分

    状元

    Rank: 6Rank: 6

  • TA的每日心情
    开心
    昨天 00:02
  • 签到天数: 1223 天

    [LV.10]以坛为家III

    爱板会员勋章 活跃会员勋章 发帖机器勋章 在线达人勋章

    发表于 2016-12-27 23:30:32 |显示全部楼层
    消灭零回复,没有板板试
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    站长推荐上一条 /1 下一条

    手机版|爱板网 |网站地图  

    GMT+8, 2017-3-30 05:40 , Processed in 0.143949 second(s), 15 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部