做一个超声波雷达

2017-05-223.2万
AI 快速预览详细 收起
本文介绍了如何使用Arduino uno、9克舵机、SRF05超声波模块和OLED屏制作一个简易的超声波雷达。通过每2度测一次距离并计算坐标值,最终在OLED屏上显示160组坐标数据。这个项目不仅适合初学者,也适用于STEM教育场景,能够激发孩子们的创造力。


    前言:想做一个雷达也就是儿时的一个梦想而已,小时候看见电视和电影中那嗖嗖旋转的雷达,闪闪发光的雷达屏幕,觉得甚是神秘,一直梦想有一天自己也能有一个。时过境迁几十年过去了,开源硬件闯入我的生活,某天突发奇想做个雷达玩一下吧。从工具箱中找主板,超声波传感器,舵机等等器件,马上动手干了起来。
准备的器材:
    Arduino uno 一块、9克舵机一个、SRF05超声波模块一块,OLED屏一块、杜邦线若干,Mixly编程软件。硬件器材淘宝而来全部加起来不到60元。
设计的思路:
    超声波模块负责测距然后利用三角函数,计算出障碍物的x坐标和y坐标。舵机负责超声波探头的左右旋转,为了避免舵机0度和180度左右运动状态的不确定性。限定舵机的运行范围是10~170度。舵机每转1度超声波传感器探测一次距离,计算出一组x,y坐标值。为了提高舵机左右旋转时的工作效率,从左转到右边取值10~170度,每2度测一次(偶数角度),舵机从右回到左边时从169~9度每2度测一次(奇数角度)保存到数组中。左到右再到左一个完整的运动周期采集160组x,y坐标,坐标值全部保存到数组中。一个完整的运动周期后,调用oled的firstpage方法和nextpage方法把160组坐标的值全部显示在oled屏上。
制作过程:
    0.96寸Oled单色屏接I2C接口,舵机接数字口9,超声波传感器trig接数字口13,echo接数字口12。(特别提示由于oled屏幕限制测距范围设定了一个限制64cm以内,1个像素表示1cm)
硬件连接完毕编程测试,编程采用mixly图形化编程程序代码如下:(两段代码是连续的,截图不便所以分成了两块。)
做一个超声波雷达图1
做一个超声波雷达图2

    现在先放在小车上玩,以后有时间3D打印做个盒子,把它们装进去,做成一个雷达盒子。最后上个图大家看看。左下角是oled,oled中那个考前的小横线就是我拍照时的手机被扫描进去了。
做一个超声波雷达图3


创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(11)
学生LHM
学生LHM
666,虽然我的想法被老师当头一棒说不行,但还是有人做出来了
爱编程的小付
爱编程的小付
有没有microbit的?
20060606
20060606
好创意,赞一个
xiaobudian
xiaobudian
自动避障,学习了。
爱学习的小白
爱学习的小白
楼主,能不能加个好友,想做个超声波穿透物质的
小诺
小诺
楼主OLED模块哪里点出来的?
super-power
super-power
作者
回复小诺
mixly按右上角的“高级视图”,然后再点“显示器”就能看到了。高级视图下面多很多东西。
小诺
小诺回复super-power
我的意思是米思齐软件里的
共3条回复,已加载2条,点击查看更多共3条回复,已加载全部
哎呀,非礼啊
哎呀,非礼啊
可不可以把源码分享出来,图片的话 太难搞
super-power
super-power
作者
回复哎呀,非礼啊
程序mixly做的,可以照着拖即可。
微笑的rockets
微笑的rockets
好有意思啊,慢速运行,应该非常有用
凌风清羽
凌风清羽
这是啥软件啊
super-power
super-power
作者
回复凌风清羽
挺好玩的。mixly容易上手。
凌风清羽
凌风清羽回复凌风清羽
Mixly编程软件
Forgotten
Forgotten
用两个超声波对着安装就是360度扫描了 激光雷达表示很忧桑 哈哈
super-power
super-power
作者
回复Forgotten
:lol:lol:lol:lol:lol:lol:lol:lol
Forgotten
Forgotten
666 楼主动图走一波呀
- 没有更多了 -