爱板网论坛

查看: 213|回复: 0

[技术] 【赚周年币】技术贴——Fireduino的Analog I/O学习

[复制链接]

28

主题

0

好友

2329

积分

进士

Rank: 5Rank: 5

  • TA的每日心情
    奋斗
    4 天前
  • 签到天数: 734 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2016-12-30 13:22:36 |显示全部楼层
    本帖最后由 9robot 于 2016-12-30 13:33 编辑

           Fireduino带有ADC模块,可以测量外部模拟量的电压值,这次学习时使用了一个四线光敏电阻模块,该模块可以输出数字量和模拟量,通过改变环境的光照强度,引起光敏电阻阻值变化,进而引起所测量电压值的改变,Fireduino可以根据测的电压值感知环境的大致光照强度,如果外接一个灯,则可以改变其亮度,使光照亮度与周围环境相适应。
          这次只是用了一个函数analogRead(),使用的通道是A0。
    以下是和FireduinoADC相关的函数:
           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()返回的值将根据多项因素(例如其他模拟输入引       脚,你的手靠近板子等)产生波动。
    1. val = analogRead(analogPin);    // read the input pin
    2.   voltage = (float)val / 1023.0 * 2.55;   //  calculate actual voltage of pin A0 base adc test value val
    3.   adc_val[0]=(char)voltage+'0';
    4.   adc_val[1]='.';
    5.   adc_val[2]=((char)(voltage*10))%10+'0';
    6.   adc_val[3]=((char)(voltage*100))%10+'0';
    7.   adc_val[4]='\0';
    8.    LCD_P8x16Str(0,0,tab);
    9.    LCD_P8x16Str(0,2,adc_val);

    10.   delay(1000);                         //  delay 1s
    复制代码
















    ad.JPG
    IMG_20161230_130153.jpg
    IMG_20161230_130315.jpg
    IMG_20161230_130322.jpg
    IMG_20161230_130323.jpg

    adc.zip

    4.64 KB, 下载次数: 0

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

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

    回复

    使用道具 举报

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

    关闭

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

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

    GMT+8, 2017-11-18 12:51 , Processed in 0.182172 second(s), 15 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部