找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4352|回复: 2
收起左侧

基于stm32的GP2Y0A21YK0F红外测距 求帮助

[复制链接]
ID:301501 发表于 2018-4-3 17:01 | 显示全部楼层 |阅读模式
以STM32为板子,通过GP2Y0A21YK0F进行红外测距的测试
回复

使用道具 举报

ID:312858 发表于 2018-10-1 10:05 | 显示全部楼层
#在这里快速回复##include "public.h" #include "printf.h" #include "adc.h" #include "systick.h" int main() {                 u16 ad;         u8 i;         float adc;  //电压         float Distance; //距离         adc_init();         //ADC初始化         printf_init(); //printf初始化         while(1)         {                 //ad = ad>>2;//12位AD转换成10位                 for(i=0;i<50;i++)//读取50次的AD数值取其平均数较为准确                         {                         ADC_SoftwareStartConvCmd(ADC1, ENABLE);                         while(!ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC));//转换结束标志位                         ad=ad+ADC_GetConversionValue(ADC1);//返回最近一次ADCx规则组的转换结果                                 }                 ad=ad/50;   //取平均值                                  adc =(float)ad*(3.3/4096);                 Distance = (1/(ad*(0.0000954)+0.000502))-4;                                  printf(" 电压值= %f V \n",adc);                 printf(" 测量距离= %f cm \n",Distance );                 delay_ms(10000);                                 }                         }
回复

使用道具 举报

ID:502565 发表于 2019-4-29 14:57 | 显示全部楼层
怎么连接   直接STM32 连AD口吗    还是说还要有接口电路
回复

使用道具 举报

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

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表