标题:
基于GP2Y0A+ST32F103RCT6的红外测距程序分享
[打印本页]
作者:
gyjwoai
时间:
2018-12-26 09:35
标题:
基于GP2Y0A+ST32F103RCT6的红外测距程序分享
因为老师让做这个课程设计,所以我把做好的东西发到这分享给大家。
测距用的是夏普的GP2Y0A。屏幕用的是OLED显示屏。
单片机源程序如下:
#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "oled.h"
#include "adc.h"
#include "led.h"
extern u8 nonside[];
int main(void)
{
u16 adcx;u8 display[8];
delay_init();
LED_Init();
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
uart_init(115200);
OLED_Init();
Adc_Init();
LCD_Print(15, 0, "GYJ16481314",TYPE16X16,TYPE8X16);
LCD_Print(0, 16, "Infrared距离",TYPE16X16,TYPE8X16);
Draw_BMP(32,48,nonside);
Draw_BMP(48,48,nonside);
Draw_BMP(64,48,nonside);
while(1)
{
adcx=Get_Adc_Average(ADC_Channel_11,10);
if (adcx>472&&adcx<=558)
{
display[0]='8';
display[1]='0';
display[3]='c';
display[4]='m';
LCD_Print(40, 32, display,TYPE16X16,TYPE6X8);
}
else if (adcx>558&&adcx<=620)
{
LCD_Print(40, 32, "70cm",TYPE16X16,TYPE6X8);
}
else if (adcx>620&&adcx<=730)
{
LCD_Print(40, 32, "60cm",TYPE16X16,TYPE6X8);
}
else if (adcx>730&&adcx<=807)
{
LCD_Print(40, 32, "50cm",TYPE16X16,TYPE6X8);
}
else if (adcx>807&&adcx<=992)
{
LCD_Print(40, 32, "40cm",TYPE16X16,TYPE6X8);
}
else if (adcx>992&&adcx<=1303)
{
LCD_Print(40, 32, "30cm",TYPE16X16,TYPE6X8);
}
else if (adcx>1303&&adcx<=1551)
{
LCD_Print(40, 32, "25cm",TYPE16X16,TYPE6X8);
}
else if (adcx>1551&&adcx<=1861)
{
LCD_Print(40, 32, "20cm",TYPE16X16,TYPE6X8);
}
else if (adcx>1861&&adcx<=2419)
{
LCD_Print(40, 32, "15cm",TYPE16X16,TYPE6X8);
}
else if (adcx>2419&&adcx<=3102)
{
LCD_Print(40, 32, "10cm",TYPE16X16,TYPE6X8);
}
else if (adcx>3102&&adcx<=3660)
{
LCD_Print(40, 32, "8cm",TYPE16X16,TYPE6X8);
}
else if (adcx>3660&&adcx<=3784)
{
LCD_Print(40, 32, "7cm",TYPE16X16,TYPE6X8);
}
else if (adcx>3784&&adcx<=3908)
{
LCD_Print(40, 32, "5cm",TYPE16X16,TYPE6X8);
}
else if (adcx>3908&&adcx<=4095)
{
LCD_Print(40, 32, "6cm",TYPE16X16,TYPE6X8);
}
if(adcx>1551) GPIO_ResetBits(GPIOA,GPIO_Pin_8);
else GPIO_SetBits(GPIOA,GPIO_Pin_8);
delay_ms(10);
}
}
复制代码
所有资料51hei提供下载:
红外测距.rar
(288.68 KB, 下载次数: 73)
2018-12-26 12:32 上传
点击文件名下载附件
这是用OLED显示的测距,显示的东西可以修改,不会的可以问我
下载积分: 黑币 -5
作者:
number1man
时间:
2019-2-7 22:09
感谢楼主的资源
作者:
lobsterlobster
时间:
2019-2-25 19:35
感谢楼主的分享
作者:
lobsterlobster
时间:
2019-2-25 19:39
感谢楼主
作者:
wubingbing
时间:
2019-7-20 15:45
多谢楼主
作者:
123avf
时间:
2019-12-5 17:13
这个是怎样实现测距的呢?比如距离到一定值之后单片机会有什么反应?
作者:
cl17768375306
时间:
2019-12-8 13:57
楼主你是用正点原子迷你版做的吗
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1