打印
[STM32F4]

基于STM32F407VGT6的红外测距,用RGB彩灯颜色显示距离。

[复制链接]
932|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
aqa|  楼主 | 2019-6-18 17:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 aqa 于 2019-6-21 11:15 编辑

基于STM32F407VGT6的红外测距

用到的模块:红外测距(DHT11),RGB彩灯
描述:通过红外测距采集信息,RGB彩灯的颜色及亮度说明了距离的大小,具体数字可以在串口助手显示打印出来

<font style="background-color: rgb(255, 255, 255);">/*
函数功能:超声波测距,用RGB灯的颜色来表示距离的大小
函数参数:无
函数返回值:无
设计者:彭XX
修改者:彭XX
设计时间:2019/6/18
修改时间:2019/6/18
备注:
*/
int main(void)
{
    float data;
   
    //把红外侧距都注释即单独的RGB彩灯
    //tim5_ch2_pwm(255,0);//R
    //tim5_ch3_pwm(255,0);//G
    //tim5_ch4_pwm(255,255);//B
usart1_init(115200);
tim13_ch1_pwm(1000,400);
    tim14_ch1_capture(1000);
   
while(1)
{
        tim13_ch1_pwm(10000,high);//R
        data = (float)high/58;
        printf("date=%f cm\r\n",(float)high/58);//在串口助手打印出来
        //printf("date=%f mm\r\n",(float)high*340/20);
        printf("low=%dus\r\n",low);//低电平时间
  printf("high=%dus\r\n",high);//高电平时间
  printf("***************************\r\n");
           if(data>=2 && data <100)
            {
                tim5_ch2_pwm(255,data*2 );//R
                tim5_ch3_pwm(255,0);//G
                tim5_ch4_pwm(255,0);//B
            }
            else if(data >=100 && data <200)
            {
                tim5_ch2_pwm(255,0);//R
                tim5_ch3_pwm(255,data-100);//G
                tim5_ch4_pwm(255,0);//B
            }
            else if(data >= 200)
            {   
                tim5_ch2_pwm(255,0);//R
                tim5_ch3_pwm(255,0);//G
                tim5_ch4_pwm(255,data-200);//B
            }
  tim6_delay_ms(10);
     }
}</font>


以上是部分程序,由于篇幅过长,有需要的电友可以点击链接下载所有工程资料,工程基于keil5





红外(RGB)测距.zip

1.23 MB

模块手册.zip

1.55 MB

使用特权

评论回复
沙发
mmuuss586| | 2019-6-29 22:12 | 只看该作者
不错,感谢分享

使用特权

评论回复
板凳
wakayi| | 2019-7-9 11:07 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
地板
wangjiahao88| | 2019-7-9 14:48 | 只看该作者
RGB需要三根线。而且是三根PWM控制占空比完成的精度。。。你可以不可以利用 一片IIC-PWM的芯片?或者使用一个W2812之类的单总线去搞?

使用特权

评论回复
5
aqa|  楼主 | 2019-7-25 18:41 | 只看该作者
wangjiahao88 发表于 2019-7-9 14:48
RGB需要三根线。而且是三根PWM控制占空比完成的精度。。。你可以不可以利用 一片IIC-PWM的芯片?或者使用一 ...

我只是学习的时候玩的这个模块,如果具体要用的话用一个驱动芯片会更好

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

aqa

3

主题

26

帖子

6

粉丝