00:00
哈喽,大家好,我是南徐,那在这个系列的课程里面呢,我们给大家带来的项目是什么呢?啊,就是倒车雷达这么一个项目对吧?那从这个名字呢,我们就可以看得出来,这个项目它其实啊跟我们真正实际当中啊,汽车里面的那个倒车雷达是一模一样的啊,那我们要做的一个目的的话,就是啊,通过这么一个超声波传感器去检测障碍物跟我们这个本体啊,它的距离到底是多少,那如果说小于某个阈值的话呢,那么啊,我们这个分闭器的话呢,它就会发出叫声啊,这就是我们这个项目一个简单的一个目的啊,同时呢,我们也可以把这个举例的话呢,给它显示到我们这个数码管里边,所以这整个项目的话呢,其实呢,也不是非常的复杂,对吧,但是呢,这个项目啊,你整体做下来的话呢,对你的一个技术的提升,包括呢,你们对青龙式的一个启蒙都是有非常大的帮助,包括呢,以后呢,你真正的开始青龙式的学习呢,啊这些。
01:00
接的话呢,都会起到一个非常的好的一个启发的一个作用,OK啊,那我们现在的话呢,就开始调转摄像头,然后呢,来啊,给你们演示一下我们这个项目到底啊是长什么样的,然后呢,它起到一个怎样的一个作用,OK, 那这就是我们这个项目啊,它真正的实物的话呢,它就长这个样子的,OK啊,那我给你们演示一下啊,那它这边的话呢,有个超声波传感器,就是这个东西啊,这个东西的话呢,就有一个超声波传感器,它可以检测啊障碍物跟我们这个本体的一个距离,OK, 那我现在拿一个障碍物啊,我们这边的话呢,随便拿一个药盒在这边做障碍物啊,当然你们也可以随便拿一个东西,对吧,拿一本书啊,或者说简单的话呢,你用手过来当障碍物也可以啊,都可以的好吧,那我们这边的话呢,就用这个东西来做障碍物啊,那障碍物的话呢,假如说我距离它近一点,然后你们看这个数数码管,数码管呢,值的话呢,它会变得越来越小,对不对啊,再往前的话呢,越来越越来越。
02:00
小于来越小啊,然后小于某一个阈值,对吧,有点吵,我给它拿掉拿掉啊,啊就是小于说小于某一个阈值,比如说我们这边设定的阈值是5,小于5的话呢,那么这个分泌器它就想起来啊,这时候它的一个分泌器,好吧,这时候分泌器,所以呢,我们再演示一下1啊我们可以检测到这个距离,这个距离的话呢,都是实时的,在我们数码管里面显示出来,来我们再检测一下有没有看到越来越小,越来越小,越来越小,好吧,看到没小于5的话呢,它就开始想起来,然后呢,啊拿掉的话呢,它就啊就不想了,好吧,啊这就是我们这个项目的一个作用啊,对吧?啊虽然不是很难,但是呢啊对你们技术的提升的话呢,也是有一定的帮助的,当然如果说你发挥自己的一个想象力的话呢,你可以把这个项目进行进一步的改装,那在这个课程里边呢,我们就先把这个最初级的一个功能的话呢,啊,手把手的带你们去实现出来,后续的内容的话呢,你们也可以。
03:00
自己想办法给他实现出来,OK, 那这节课的话呢,我们就先上到这边,这节课呢,我们就跟大家来讲一讲,就是我们硬件的话呢,啊怎么去准备的,OK, 那我们这个项目的话呢,用到的硬件有哪一些呢?啊首先的话呢,就开发板,然后呢,还有什么分泌器啊,数码管,还有那个超声波传感器啊,还有那个啊就是我们一个micro克USB线啊,这个线的作用的话呢,用来烧路啊,或者还有那个打印log这么一个作用,以及呢啊多瓣线,多瓣线的话呢,啊,在我们这里边的话呢,我们其实没有用到多瓣线啊,因为呢,我们都是通过这么一个底板,然后呢实现各个设备连接起来啊,所以呢,我们没有用到任何的多板线,那如果说啊,你们没有这么一个底板的话呢,那么你你们就可以通过多半线啊,把这几个设备给它连起来,那如果说你们自己去连接的话呢,啊,基线的话呢,按照这个图啊来进行一个接线的好吧,那如果说你们有购买过我们的设备的同学,我说购买我们课程的同学的话呢,你们会拿到这么多的硬件,对不对,那这么多硬件的话呢,我们怎么去给他组合起来呢?
04:00
啊,那我现在给你们演示一下,怎么把这些项目,把这些器件给它组合成我们这么一个项目,OK来首先的话呢,就是这么一个底板啊,这个底板的作用的话呢,其实刚才讲过的就是充当一个镀邦线的一个作用啊,这个底板的话呢,其实相当相当的简单啊,它其实呢,就是把这些镀邦线给它变成了一个电路板啊,这样的话呢,你们就不容易接触,对吧?因为我们在做那个课程答疑的过程当中的话呢,很多同学啊,那个问题出在什么呢?就是出在机器机线接触的问题上面啊,这就浪费了很多的时间,对吧?那如果说你把这个接线变成这么一个底板的话呢,那么你就会啊,大大的减少了接线出错的概率,基本上不会出错了,因为都已经给你定损了,对不对,好吧,OK, 所以呢,我们先把这个底板拿到手,然后呢,底板的话呢,它有啊4个端子,看到没这4个端子,4个端子的话呢,我们可以给它组装起来,来给你们组装一下啊,4个端子的话呢,你们可以把它给旋开啊旋开哎哟。
05:00
OK, 然后呢,给它插到这个小圆孔里边。然后呢,给它选进去。OK, 这样的话呢,就安装了一个小柱子了,对不对,这4个柱子干嘛用呢啊,它就有支撑的作用,支撑的作用好吧,那那个还有其他3个的话呢,也是一样的啊,我这边就快进了。OK, 现在我们这四个小柱子的话呢,都已经装好了啊,然后我们就可以把它放到这个柱子上面啊,这样的话,因为我们这背后的话呢,也是有一些凸起嘛,对吧,如果说没有这四个小柱子的话呢,那直接放在这边的话呢,会有点不太平,OK, 所以呢,加四个小柱子的话呢,会比较好一点,嗯,OK, 然后接下来的话呢,我们就可以装这么一个啊,这么一个开发版了,这是这个开发版的话呢,叫什么叫VI末CDE1啊,VI末CDE就是我们这个课程里面用到了这么一个开发版啊,当然如果说你们用其他的开发版的话呢,也可以,只不过呢,其他开发版的话呢,可能说你的代码要做改动啊,所以其他的话呢,开发版跟我们是一模一样的,会比较好一点,OK, 那怎么用呢啊,怎么怎么装呢啊,直接这样插进去就可以了,对吧,插在这边就OK了,一定要注意这个口啊,这个口的话呢,是朝外的朝外的,因为呢,我们这个口的话呢,等会要接啊接那个USB线micro克的USB线啊用来烧入代码好吧,然后呢,这样给它压就可以了,好吧,这样这个主板就接好了。
06:28
OK, 然后呢,接下来的话呢,我们接这个东西啊,这个东西叫什么呢?这个东西叫那个啊,超声波传感器对吧?就是我们刚刚所用来测量距离的好吧,那超声波传感器的话呢,接到这边来,接到这边来啊,一样的,我们这个两颗眼睛的话呢,是朝外的好吧,不要接反了啊,接反的话呢,可能会烧掉,OK, 这样就好了,然后呢啊,接下来的话呢,就是这个分泌器啊,这是分泌器好吧,分泌器的话呢,这样去接,接到这个地方好吧,也是一样的啊,这个朝外啊,这个黑黑的朝外。
07:01
OK, 这样就好了啊,然后呢,再接下来的话呢,就是啊这个一个数码管,数码管的话呢,啊也比较好接,就是把它插到这个口,插到这个口就可以了,看到没啊这有有有一一些孔好吧。好嘞,这样的话呢,我们就把这个东西给它接好了,接好了之后的话呢,我们是不是要跟它把它跟我们电脑进行连接,对不对,那怎么跟电脑连接呢?啊,跟电脑连接的话呢,我们就用到了这么一个micro USB线啊micro USB线的话呢,一端接到我们。接到这里边主板里面就OK了,另一端的话呢,另一端的话呢,你们就插到你们电脑的USB里边好吧,那这里的话呢,大家肯定都会操作,我就啊不不不过分的隐私给你们看了,OK, 插到电脑上面以后的话呢,啊,我们因为我这里面是有代码的,所以呢,这里面它就会啊开始工作了,就开始测量举例了,然后把这个值给它显示出来,你们刚插到电脑的话呢,那么这里面看到的东西的话呢,啊,应该是空空的,什么都没有,应该是就不亮的一个状态,就是像这样啊什么都不亮的一个状态,然后呢,啊,这个东西啊,这个也不想好吧,就是这样一个初始的一个状态啊,所以这就是我们硬件的一个基本的准备啊,但如果说你们用多邦线的方式的话呢,那接下来就会稍微复杂一点啊,多邦线接线的方式的话呢,我这里面就不跟你们演示了,对吧?OK, 那这节课我们就先上到这边,这节课呢,我们来讲一讲软件部分怎么去准备啊,在上一节课讲的是硬件的部分,这一部分开始讲那个软件怎么去准备,对吧,那软件的话呢,其实我们。
08:35
就用到两个,一个是ado的IDE啊,一个是CC30年的一个驱动,OK, 那在I ado IDE的话呢,我们用的是什么便携版的对吧?为什么用便携版的,因为如果说我们用的是一个安装版的话呢,那么啊,你们安装完了之后的话呢,需要啊下载开发版的一些资料,然后呢,还要啊再安装它的各种的一些库函数啊之类的东西,这样的话呢,会比较麻烦一点,而且呢啊可能还需要一些特殊的网络,对吧?你懂的啊,那啊这里边的话呢,因有在国内的话呢一些啊也要访问国外的一些网络的话呢,比较麻烦啊,对吧?那为了让你们更加方便快速的上手这么一个项目的话呢,所以呢,我们这里边用的什么便携版啊,OK, 那便携版的话呢,啊,这个东西两个东西的话呢,我都给你们准备好了,就在这里边好吧,啊就这个这个这两个东西啊,都给你们准备好了,这个的话呢,就是阿迪诺的一个便携版的好吧,那我们先啊教你们这个便携版怎么去用的,首先的话呢,把它复制出来CTRLC对吧,或者说右击。
09:35
诶。右击,然后复制啊,然后你们最好的话呢,给它放到什么地方呢?最好给它放到,比如说D盘,你们不要放到,就是有中文路径下面,你们就给它放到D盘吧,好吧,就放到D盘,不要放到有中文路径下面就OK了啊完了之后的话呢,怎么弄呢?啊把它进行解压解压解压的话呢,右击啊,然后我们这边用的是VRAR进行解压啊,如果说你们用的是其他的解压软件的话呢?啊,解压的方式也是一样的,直接把它解压到当前的文件夹就可以了。
10:08
OK, 因为文件的话呢,稍微可能大了点,所以呢,解压的话呢,可能说要几秒钟啊,其实也还好,一会儿的话呢就OK了。OK, 现在就解压好了,解压好的话呢,在这边对吧,双击进去啊,那我们这里边的话呢,有这么多的东西对不对,那怎么去用这个啊,这个东西呢啊,我们直接双击这个点BAT就可以了,双击点BAT,然后它就开始启动了,OK.好嘞,这就启动了对吧?那你们现在看到这里边的话呢,是有代码加载进去了,对不对啊,因为呢,我我电脑的话呢,之前有有那个打开过啊,所以呢,它就自动的去加载我之前打开过的一些工程,所以呢,你们可以看到这里面有东西,你们如果啊,你们刚加载的话呢,应该这里面是没有的,什么都没有,应该是只有这么两两个函数,一个是we的setup这么一个函数,还有一个的话呢,就是we的loop loop啊这么一个函数,对吧,你们加载你们打开的话呢,就是这两个函数,我这边的话呢,可能会东西又比较多啊,所以你们不要吓一跳,OK啊,这样的话呢,那个就OK了啊,那接下来的话呢,我们就开始来弄第二个事情呢,就是这么一个啊,些许30年的一个驱动,先许30年的一个驱动,那这个怎么装呢?这个其实很很好办,你先解压。
11:26
也是解压到那个,比如说解压到当前目录啊,我看一下。OK啊,那先解压到当前目录好吧,解压到当前目录当前文件夹。OK, 然后这里面的话呢,就有了,对吧,双击打开啊,然后呢,我们就双击这么一个setup.exe双击它。然后呢,它会提示说啊,那个这一一些那个安全警告,安全警告的话呢,这个不用担心,我们这边都是安全的啊,然后呢,它会出来这么一个安装的界面,安装界面的话呢,很简单,直接点这个安装就可以安装了,好吧,那这个安装的话呢,它可能需要一点的时间,需要一点的时间,大家那个耐心等待就可以了,可能说要等个啊两三分钟这个样子,你们只要等着就可以了,OK, 经过三四分钟漫长的等待啊,终于安装好了,然后呢,我们点击确定就可以了,然后呢,就可以把它擦掉了,OK, 然后呢,我们回到这边啊,这个的话呢,就可以进行删除了,好吧,直接删除就好了,OK, 那这样的话呢,我们软件跟硬件的话呢,都已经安装好了,那怎么确定到底安装成功还是不成功呢?对吧,我们回到这个地方,回到这个地方,回到这么这么一个ainno的一个开发工具,然后呢,你把这个测试的代码拿过来试运行一下就可以了,我们把它所以ctrl a ctrl c, 然后呢把它给丢到这里面来。
12:49
Ctrl a ctrl v啊复制粘贴应该大家都会吧,对吧?完了之后的话呢,CTRLS保存一下,然后呢,怎么弄呢?啊,你先把设备啊,就是上一节课硬件部分的话呢,你先把这个设备给它接到电脑里边啊,接到电脑里边的话呢,要做几个什么事情呢?点击这个工具,然后我们这边的话呢,把它端口的话呢,给它改一改对吧?那端口的话呢,我们这里边的话呢,有三个端口对吧?啊端口一二十二,二十六对吧?那你们那边的话呢,你们那边的话呢,可能说不一定说有三个,可能说有只有那么一个,或者说两个,或者说几个对吧?那怎么确定我现在用的是哪个端口呢?啊其实很简单来,我们可以把鼠标那个。
13:32
移到这边就是开始菜单,我这个开始开始菜单的话呢,在右上角,你们开始菜单的话呢,应该是在左下角这个地方,对不对啊,因为我把这个任务栏给它竖起来了,好吧,右击这么一个开始插单,然后呢,我们这里边的话呢,有个啊设备管理器有没有看到。设备管理器的话呢,这边有个端口,有没有看到这里面有个端口啊好吧,然后端口的话呢,这里面就是有三个,一个是端口1啊,然后二十二二十六对吧,那怎么确定你现在我们这个设备,我们这个设备到底用的是哪个端口呢?啊,其实很简单,我们把这个给它扒掉。
14:09
拔掉,然后你注意看一下啊,注意看一下这边它会闪一下,有没有看到刚刚闪了一下,这边的话呢,看到什么26 26没了对吧,东风26没了,我们再给它插进去。诶。而OK,再给它插进去的话呢,这里边出来多了一个什么呢?多了一个26,所以呢,我们就可以确认哦,目前用到这个端口的话26对吧?啊所以呢,我们这边工具在里边端口的话呢,就给他选26,你们这边多少就多少,不一定跟我是一样的,因为每一台电脑都不一样,那其他东西的话呢,你们都不用改,因为在其他东西都已经默认给你们设置好了,好吧,然后完了之后的话呢,怎么弄呢?啊,再给他点击上传。然后它就开始进行编译了,就是我们第二个按钮啊,第二个按钮我们这边的话呢,第一个按钮的话是验证,就是你可以理解为是编译的作用。
15:02
OK, 接下来的话呢,他就开始啊,开始那个下载数据了,有没有看到这边700%分之十五二十三一直开始编译上传了。所以这个按钮的作用的话呢,它是两个作用,一个的话呢编译,另外的话呢,就给它把数据给它传到我们这个开发板里边。好嘞,然后看到这个界面啊,看到这个界面的话呢,就代表说我们这个数据的话呢,啊已经给它传到我们的开发版里面了,然后它会自动的进行重启,OK, 然后你们看到啊接下来的话呢,如果不出意外的话呢,你们这这里边也可以看到,就是这边数码管开始显示数值了,然后一直在跳动啊然后呢,你们拿一个障碍舞过来的话呢,啊,它会有相应的一个跳动,然后呢,靠的很近,小于5的话呢,它就会响起来,好吧,啊这就是我们这个项目的一个完整的代码,那在之后的课程里边的话呢,我们就会带领你们把这个项目的代码的话呢,啊一行一行的手把手带你们写出来,OK, 那这节课的话呢,我们就先上到这边,这节课呢,我们开始进入到数码管的开发了,OK, 那我们先来认识一下数码管到底是一个什么东西,好吧,那数码管的话呢,它的外形的话呢,长这个样对吧?啊,我们食物的话呢,跟它长的是一模一样的,我就不跟你们演示了,好吧,OK, 那这个数码管的话呢,它是什么东。
16:23
既然它是一个基于这么一个芯片的一个四位七段的供阳数码管的一个显示的拈对吧?啊,你们数一下这里边的话呢,其实有七个1234567对吧,它是一个四位的啊七段的啊七段的话呢,就代表说这这里面有七段。它四位的1234对吧,然后中间的话呢,有什么呢?中间的话呢,有个冒号对吧?然后呢,啊,这个东西的话呢,它就非常的适合去显示我们的一个时间对不对,时间的话呢,我们就是啊多少分钟多少秒啊就是这样的一个格式,非常的适合去显示,好吧,那我们看一下这个数码捆,它到底是讲了一个参数啊,它那个供电电压的话呢,它是多少伏呢?啊供电电压的话是5伏的,我们现在用到的这个的话呢,它是就是5伏的好吧,然后呢,有一些拈块的话呢,它也兼容303伏的啊,那我们这个拈块的话呢,不兼容啊,所以呢,我们这边用的是5伏的,那通信接口的话呢,我们是啊,它是一个什么呢?两线的一个创新的一个接口,那这个接口啊,这个通信模式的话呢,有点类似于我们I分C对吧,那对于I分C如果不了解的话呢,你可以去看一下我们ST上的课程里面啊,给你们做了很多的一些讲解啊,那显示的位数呢,就是我们刚刚说的四位七段的一个数码管啊,那剩余的这些内容的话呢,你们了解一下就可以了。
17:45
好吧,那我们来啊,简单看一下这个实物图啊,这个实物图的话呢,这就是数码管对吧?那我们刚刚不说了嘛,它有一个芯片叫什么TM11637啊,那这个芯片在哪里呢?你们给它翻过来翻过来啊,拿到这里面你们看一下啊,隐隐约的话呢,你们可以在这里边这个芯片上面的话呢,你们可以看到TM1637啊,你们啊手机拍的话呢,可能不是很清晰,对吧?你们认真的啊,给他那个看一下可以看到对吧?这样就可以看的比较清晰了,TM1637啊就这么一个芯片的话呢,就是TM1637的芯片,好吧,OK, 那接下来的话呢,我们看一下它的银角,那银角的话呢,有几根呢?有四根银角对不对啊,四根银角,那四根银角的话呢啊,它是做什么用的呢?首先的话呢,还是一样的,有两根的话呢,一个是VC忌一个是GD嘛,啊VCG的话呢,前面讲过了,它就电源的正极GND的话呢,就是啊,你可以理解为就是负极嘛,好吧,那另外的话呢,就是K拉跟DL啊,那K拉的话呢。
18:45
它是一个时中线,Dio的话呢,就是一个数据线,好吧,那我们这么一个数码管的话呢,把colo跟dio它接到哪里了,我们看一下这是上面的啊,我们call拉的话呢,实际上是接到了第一引脚,就是接到我们开发版的第一啊,然后Di的话呢,我们是接到开发版的第二啊,所以呢,等会我们写代码的时候呢,我们就知道啊,这两个引角的话呢,到底怎么去写了,OK.
19:12
当然我们这个K拉克跟DL的话呢,我们是可以接到主控啊,它任意的两个数字的L口,对吧?你像我们SD上里面的话呢,啊,它硬件的iphonec的话呢,它是引角是被固定下来的,对吧?当然我们也可以啊软件模拟ionec啊,我们这边的话呢,它可以接到任意的两个L口,那在我们这个课程里边的话呢,我们用到的是啊,就是第一跟第二OK啊,那这个模块的话呢,你要怎么去驱动,怎么让它工作起来呢?因为呢,它有一个芯片嘛,对不对,那实际上我们是可以通过啊类似于1/2协议对这个芯片进行操作,但这个操作的话呢,如果说你代码一行去写的话呢,啊,那就变得非常非常的复杂了,对不对啊,那好在阿inno的话呢,他给你啊,已经给你准备了一些库函数,给你准备了一些库函数,这就是阿inno的一个好处的地方,就是一些常用的器件的话呢,他都已经帮你给他分装好了一个库,分装好了一个库,然后呢,你拿拿过来直接用就可以了,那这个库的话呢,有哪些。
20:12
函数呢啊,我们来看一看它的一些常用的函数,那我们接下来的这些库的话呢,它其实呢,是包含在了这么一个耳顿诺库里边,那这个耳对诺库的话呢,就专门为PM1637啊这么一个芯片量身定制的一个库,然后呢,这个库的话呢,有这个谁啊开发并且维护的好吧,然后呢,我们看一下这些库啊这些库这个库的话呢,它其实里面有很多的函数,对吧?里面有兴趣的话呢,可以把它的库函数的话呢,每个都拿出来研究研究,那在我们课程里面的话呢,我们就用到了啊,其实主要用到还是四个,用到这四个库函数,第一个的话呢,这个库函数干嘛呢?这个库函数的话呢,就是用它来创建一个对象的,对吧?因为我们前面的话呢,也讲过了,我们这个啊芯片的话呢,这么一个拈的话呢,啊,它是接到了我们的一个开发板上面的第一跟第二两个引角,对吧,那你怎么去指定啊这两个引角对吧?那我们就通过这么一个库函数来进行指定了,这个函数的话呢,它的作用呢,就。
21:12
就是创建并且啊,创建一个显示的对象,然后呢,指定它的一个时钟数据的引角,时钟的话呢,就克拉啊数据的话就就是Di IO对吧,这是我们用库的第一步,你要用到这么一个啊对象的话呢,那我们是不是要先给它创创建一个对象对吧?怎么创建对象呢?就是这样创建对象就可以了啊实际上的话呢,我们adono里面写的代码的话呢,它是什么呢?它不是C语言啊,它其实的是一个C加加语言,好吧,这个大家那个了解一下,OK, 第二个的函数的话呢,是这个啊,Set brightness啊,那这个函数的作用的话呢,从这个名称你就可以看得出来,这个函数的作用呢,就是设置显示的亮度,并且呢,可以选择开启或关闭显示对不对,也就是说我们啊,我们这个拈块的话呢,它这里面是不是有很多的啊,很多的位数对不对,有很多的就是总归有4位4位,这4位的话呢,我们可以把它打开或关闭,也可以让它亮起来,也可以让它那个按啊。
22:12
亮好吧,那这个就是设置它的一个显显示的亮度,那显示的亮度的话呢,两个参数,第一个的话呢,我们就是设置它的一个亮度值,那这个亮度值的话呢,就是从0~7 0的话呢,就最样,7的话呢最亮。OK, 然后呢,第二第二个参数的话呢,是on啊on的话呢,它是什么呢?它是一个可选的对吧?如果说这个on我们设置为出入的话呢,那就什么意思呢?就开启默认对吧?开启显示默认,如果说你你给他填fo的话呢,那么啊,那这我们这里边的就不亮了啊,那我们如果想要想要让它亮起来的话,我们肯定要让它啊凹起来对不对,好吧,所以呢,我们大多数情况下面的话呢,我们就是只是设置它的一个亮度就可以了啊,那第三个函数的啊,这第4个函数啊,第4个函数的话呢,就是用它来具体的去指定它显示我们想要的一个数字了,对不对,那这个函数的话呢,相对来讲比前面的啊会多两个参数,其实呢,也没那么难啊,大家不要看到这么长的话呢,就有点被吓到了,不用害怕啊,其实呢,还是很简单的对吧,那这个函数的作用的话呢,它就是用来显示我们10进制的一个整整数对吧,然后支持一个前导0。
23:27
位数起始位置的一个控制,来我们一个个来说好吧,OK, 我们先看第一个参数number number这个参数的作用的话呢,它就是要显示的一个具体的整数,比如说我们这里边,比如说想要显示39,对吧?啊,想要显示39的话呢,你就把39给它填到这里边了,OK, 那看第二个参数,第二个参数的话,Leading zero这个参数的作用呢,它就是用来指定是否显示前导0对吧?因为呢,我们这个数码管的话呢,它是可以显示几位呢,四位对不对,那如果说想要显示39的话呢,那前面两位的话呢,到底要不要显示呢?如果说你把它设置为出入的话呢,那么我们前面的话呢,会给你补两个零。
24:12
那如果说给你填falses的话呢,那么这两个0的话呢,那它就不显示了,对吧?默认的话呢,它是等于falses的,OK, 再看第三个参数认识,认识的话呢,就是指定说你要显示的位数到底是多少,我们这边的话呢,最多是几位呢?最多就4位嘛,对不对?那最少的话是几位,最少最少的话呢,就一位嘛,所以呢,我们啊可以指定的一个位数的话呢,就是1~4啊对吧?如果说填一的话呢,它最多给你显示一位,填2的话呢,最多给你显示两位,这个意思好吧,OK, 然后呢,接下来的话呢,Poose pose啊,这个其实是poion的一个缩写啊好吧,这个这个是什么意思呢?这个就是我们啊指定起始显示的位置啊,默认的话呢,它是等0,什么意思呢?我们刚啊那个前面的数码管的话呢,它不就四位嘛,四个坑位嘛,对不对,四个坑位,那么我们比如说这个39 39到底是这样显显示39呢,还是说啊这样去显示3。
25:12
19的对吧?啊,就是说是这个39的话呢,到底这个山是在这边还是在这边,还是在这边,我们可以对它进行指定,假如说我我想要让它显示在前面两个,显示在前面两个的话呢,那么我们这个位呃这个位置的话呢,应该填多少呢?填0,因为我们计算机里面的话呢,它是从0开始计数的,对吧?这个位置的话呢,0这个位置的话呢,1这个位置的话呢,2这个位置的话呢,3啊,那所以假如说我现在想要让它这样去显示的话呢,我们这个per c选就填0,假如说我想要在这边显这个地方显示3,这个地方显示9,那么我们这个per西选这一个位的话呢,我们就应该填多少填一对不对,那假如说我想要这样去显示的,那么这个position西选的位置应该填多少,填2好吧啊,那这个这几个参数的话呢,等会儿在我们啊后面课程里面的话呢,也会用到啊,所以这里面的话呢,给你们讲的细一点OK好嘞,那接下来的话呢,我们看最后一个函数,那最后一个函数的话呢,它是干嘛的啊。
26:12
就是清空所有的显示位啊,等效位写入什么呢?群令的断码对吧?啊,一般来讲就是我们在初始化的时候呢,会把这个啊,我们把数码管的话呢,全部给他进进行什么呢?Display啊,进行那个clear啊,就让它所有的胃都熄灭了,就什么都不显示啊这就是我们啊这个这就是我们这个数码管里面的几个常见的函数的一个介绍啊,这些函数的话呢,在我们后边都会用得上,所以呢,这几个函数的话呢,大家一定好好理解一下,OK啊,那这节课我们就先上到这边,上节课呢,我们已经对这个数码管进行详细的讲解了啊,那这节课的话呢,我们就开始通过编程的方式来驱动我们这个一个数码管,好吧,OK, 然后呢,我们就把这个代码拿出来,开始写啊,OK, 那我们先来理一下思路,就是这个数码管的话呢,我们到底要怎么去驱动起来,好吧,如何,哎呦如何啊,驱动数码管,OK.
27:12
那我们驱动数码管的话呢,其实呢,分成了4个啊4个步骤,第一个步骤是干嘛的,你要先下载加载啊数码管对应的库对不对啊,我们前面说过了,如果说你自己通过写代码的方式啊,让它驱动起来的话呢,其实还是比较复杂的,我们现在有一些高人的话呢,已经把这个数码管的驱动的方式的话呢,给你分装成各种各样的库函数了,对不对,所以呢,我们只要啊把这个它对应的一个库给它加载进来就可以了,好吧,那第二步的话呢,第二步的话呢,我们就可以啊先在代码里面的话呢,先包含库的头文件对吧,你像我们C页里面的话呢,你要用到啊哪个函数的话呢,你是是不是要应该先包含它对应的一个头文件啊,好吧,那在接下来的话呢,我们就是要啊创建。
28:08
数码管啊对象对吧,因为呢,我们前面说了啊,数码管的话呢,它实际上啊,就是我们啊对脑,它际上的话呢,是一个面向对象的一个编程语言,对吧?那我们啊每一个对象的话呢,就我们每一个设备的话呢,你都得对它进行一个创建一个对象,所以呢,我们要先创建一个它的对象啊在最后的话呢,我们就可以开始来什么呢?调用啊库函数。函数干嘛呢?啊,操作数码管让它干嘛呢?显示内容对不对,OK, 所以呢,通过这四个步骤的话呢,我们就可以把这个数码管进行玩起来了,好吧,那我们先来做第一个步骤,第一个步骤的话呢,就是加载数码管对应的一个库啊,那这个库的话呢,其实呢,我们都已经给你们打包进来了,对吧?都给你打包进来,你你就不需要做这个事情了,那我们啊,接下来的话呢,就可以直接做第二个事情了,就包含库的一个头文件啊,那这个库的头文件的话呢,怎么包含呢?我们就是用到include这么一个关键字,然后呢,把它的库给它包含进来,那这个库的话呢,它的名称叫什么呢?库的名称叫这个TM16A1637,然后呢。
29:29
第4,然后DH这样的话呢,我们就把它的头文件包含进来了,好吧,接下来我们开始做第三第三个步骤,第三个步骤的话呢,就是创建数码管的一个对象,那创建数码管的对象的话呢,是什么呢?啊,就是这么一个函数对不对啊,这个函数的话呢,我们直接CTRLC拿过来用就可以了啊然后。在这边啊,CTRLV好吧,然后呢,给它起一个名字,对象的话呢,给它起一个名字,比如说我们给它起一个什么呢?Dis play这么一个名字好吧,然后这个函数的话呢,我们创建这么一个对象的话呢,我们要指定什么呢?指定它的一个始终跟那个数据引角对不对,那我们啊,始终跟数据引角的话呢,我们用的是什么呢?第一跟第二对不对啊前面说过了,在这里面。
30:17
第一跟第二对吧?啊,所以呢,我们这里边给它填什么呢?第一第二就可以了,好吧,啊,这是第三步了,对不对啊,那第4步的话呢,我们就可以开始来调用它的一个函数来啊对这个数码管进行一个操作,好吧,那我我们就可以在setup这么一个函数里面来进行一个测试啊前面的话呢,是分泌器相关的一个设置对不对啊,这里面的话呢,就是数码管相关的设置对不对啊好吧,那我们怎么去调用它的一些库函数呢?啊,我们就啊从它的嗯,就是就是它的对象里边去啊,把这个库函数给他拿拿出来用就可以了,那这个对象我们前面创建一个对象叫什么呢?创建了一个对象叫display,对不对啊,所以呢,Display给他拿过来,CTRLCCTRLV, 然后呢,点,比如说我们现在来设置一下它的一个亮度。
31:16
设置一下它的亮度,设置亮度的话呢,哪个函数呢?啊,设置亮度的话呢,是这个函数对不对,CTRLCCTRLV好了,然后呢,这个函数的话呢,它实际上有两个参数对不对啊,第一个参数,第一个参数的话呢,就是啊,设置的它的一个亮度值0~7对不对,0~7,第二个的话呢,就是啊,你要开启还是关闭,那我们肯定是开启了对不对,它默认的话呢,就开启的啊所以呢,我们这里面。先设置第一个,第一个的话,比如说我们给它设置为7,设置为7就可以了,好吧,那第二个参数的话呢,实际上我们可以不写,为什么可以不写呢?这就是我们C加加语法啊C加语法好吧,那如果说你们想要学习加加的话呢,啊,可以具体的去看一下,OK啊好吧,然后我们其实呢,就可以来啊,我们再来再来写一下吧,啊这个的话呢,给你写个写个呃,那个什么呢?注释吧,这个这个函数是干嘛的,这是设置显示的,显示的一个亮度,OK, 那在接下来的话呢,我们接下来的话呢,我们干嘛呢,让它清品。
32:27
一般来讲的话呢,我们要啊去调用某一个外设的话呢,我们都会把它外设镜的一个啊,就是让它恢复到最最干净的一个状态,对不对,比如说你像我们分闭器,我们分闭器的话呢,就让它变成一个什么呢?不响的一个状态,对不对,那我们数码管的话呢,就是让它清屏,什么都没有,对不对,对吧,那什么都没有的话呢,怎么清屏呢?我们就通过clear clear这么一个函数啊,Clear这么一个函数就可以了,这么一个函数,好吧,这是清屏的一个作用,OK啊来接下来的话呢,我们就可以来啊干嘛呢,显示。
33:06
我们要指定的内容,显示内容的话呢,用的一个函数,显示内容的话呢,我们用的是这个函数啊,这个函数比较长对吧?我们直接复制过来CTRLCCTRLV,然后它有四个参数对不对?OK, 四个参数的话呢,哪四个参数,第一个参数的话呢,就指定说我们要显示的内容,比如说我们这边显的内容39对不对,那第二个参数的话呢,第二个参数是干嘛呢啊,第二个参数的话呢?啊,就是说第二不要那个前导0对吧,就是说要不要给他加两两个00啊,那我这边的话呢,就不加,不加的话呢,就false啊,那第三个参数,第三个参数就指定说它要显示几位的,我们这边是两位的,所以给他填2啊,最后一个参数的话呢,就指定说这个三九到底在什么地方,对不对,我们前面定说了啊,它不是有四个坑位嘛,四个坑位啊,那在这边的话呢,比如说我这边39的话呢,显示在这边,显示在这个地方的话呢,那我们这边啊婆西选的话呢,应该填多少呢?啊前面说过了。
34:07
这个位置的话是0,这个位置的话是1,这个位置的话呢,是2对吧?所以呢,如果是39,你想要显示在最后两位的话呢,那么位置这么一个参数的话,那应该对它填2,填2这样就OK了,对吧?来我们来那个边运行试一下。OK, 有没有看到啊,这里的话呢,就显示了39了,对不对,那我们这边来进行再改一改啊,比如说我这个位置的话呢,改成改成0,然后我们看一下啊,这个三九的话呢,会不会跑到最前面两两个位置来。OK, 有没有看到这个39的话呢,它确实跑到了最前面的两位,对不对,OK, 那我们再试一下,比如说我们把这个啊,把这个亮度啊,这个亮度值的话呢,我们这边设置为7对不对,比如说我们这边给它设置,为什么呢?设置为1对吧,它的范围的话呢,是1~7,是不是1~7。
35:00
把0~70的话呢,是最暗对不对,那我们来看一下这个啊,如果设置为1啊,它的亮度是怎样的。OK, 有没有看到这个亮度的话呢,就明显的比刚刚要暗的多了,对不对,好吧,啊,那这边的话呢,我们给它改改成啊继续改回7,那那其他的几个参数的话呢,你们也可以试着去玩一玩好吧,OK啊,那在这个初始化函数里面的话呢,啊,那这个初始化函数的话呢,我们这一行代码的话呢,就先不要了,给它注释起来。好吧,OK啊,所以呢,我们啊,通过这么几行代码,简单的代码的话呢,我们就可以把这个啊,挺复杂的一个模块,其实呢,数码管呢,你如果想要真正去写的话呢,还是挺复杂的,通过这么几行代码就可以把这个数码管给它驱动起来啊,所以呢啊,我们ainno的话呢,往这些模块还是挺简单的,对不对,OK, 那这节课我们就先上到这边,这节课呢,我们就通过编程的方式来驱动一下我们的超声波传感器,好吧,OK, 然后这个超声波传感器的话呢,我们要先设定一下它的两个引角,一个是垂直,一个是echo,我们来看一下前面的表格啊。
36:05
在这里边超声波传感传感器的话,两个引角,一个是垂直,一个是AO对吧,那垂级的话呢,我们是接到了第5引角,AO的话呢,接到了第6引角,好吧,啊,那我们就可以开始开始来写代码啊,我们来先指定啊,指定超声波传感器它一些啊相应的一些设置啊超声波。超声波传感器啊相关设置OK,我们要指定一下这两个引角,那这两个引角的话呢,其实我们就是指定它的一个L口啊,它是一个一个是输入口,一个是输出口啊就可以了,好吧,我们先指定PIN moded, 先指定D5 D5 D5的话呢,是什么呢?垂啊垂的话呢,我们是做一个输出口的啊,所以呢,是out put对不对,将吹吹一个吹角啊,这一个引角设置为输出模式,对吧?啊,那同样的话呢,另外一个引角,另外引角的话呢,是acho acho的话呢,它是一个输入口,A口的话呢,我们是接到了第6,所以呢。
37:29
设置为input对不对,将echo引角设置为输入模式对不对?好嘞,这样的话呢,我们就可以把啊超声波的超声波传感器的两个引角做好了相应的设置了,然后我们就可以开始来啊,开始来测量我们距离了,好吧,测量距离导航呢,我们就可以按照上一节课讲的这么一个步骤,按照这个步骤来进行测量举例对吧?这个步骤的话呢,看起来的时候挺可怕的,没关系啊,我们通过代码的方式的话呢,其实没几行,好吧,那我们先看第一步啊,第一步的话呢,我们是不是应该把这个子弹打出来,那子弹打出来的话呢,怎么打出来呢?子弹打出来的话呢,就是给超声超声波传感器一个大于10微秒的高电频的触发信号,对不对,也就是说AO这么一个引角啊,啊,不是垂直这么一个一个引角的。
38:30
好呢,高电平啊,就是这个引角给它一个大于10微秒的一个高电平,所以呢,我们先做什么呢?先把它给拉高,先拉高啊,拉高10ms再给它拉低对不对啊,所以呢,就就两个事情,一个拉高一个拉低就可以了,好吧,来怎么拉高怎么拉低的啊拉高拉低的话呢,就是用低去头right这么一个函数对不对啊,我们垂直的话呢,是哪个引角呢?低5这个引角对不对,然后呢,把它先。
39:02
给他那个啊,那个拉高HHH啊,先把这个眼角给它拉高对吧,拉高的话呢,我们至少给它拉高10个微秒对不对,那是不是应该延时10个微秒,延时的话呢,用哪个函数呢?Delete这一个函数如果说只是一个delay的话呢,还不够,我们要延迟的是微秒,微秒级别的delay,微秒级别的delay的话呢,我们应该再给它加一个MY啊,Seconds.OK, 这里面多了一个N啊,你们如果说没有拼对的话呢,它不会高亮显示的对吧,刚刚就变黑了对不对啊来我们给它延时多少个毫秒呢?啊延少至少5个毫秒对吧?至少啊10个时过一秒,时过一秒讲错了,至少时过一秒,所以呢,我们给它啊延时时过一秒,在接下来的话呢,DG头right延时时过一秒之后的话呢,你不可能一直让它高电平,对不对啊,那我们应该对它干嘛呢?啊把它进行拉低了对不对,低5LOW对吧?所以呢,先把它拉高啊,就是这样的一个过程,先拉高,拉高多多长的拉高那个15秒拉高啊对,15秒,然后呢,再进行拉低对不对?好吧,先拉高,那么我们啊,一般来讲的话呢,前面要先确保它是一个低电平的低电平,然后再进行拉高才有意义嘛,对不对,所以呢,我们在前面的话呢,实际上我们还会。
40:37
啊,就是先确保它是一个低电瓶的,还会进行这么一个确确认啊好吧,所以呢,我们这样的话呢,我们就可以把这个啊,把这个子弹给它打出来了,对不对,那子弹打出来之后的话呢,我们是不是要测量它子弹在空中当中飞的时间是多久,那飞的时间多久的话呢,就看AO这个引角对吧,你子弹打出来的瞬间的话呢,子弹打出来的瞬间的话呢,那O这个引角的话呢,它就被拉高了对不对,被拉高了拉拉高啊拉高的过程当中,拉高这个多长的时间的话呢,就是这个子弹在空中当中飞的多长时间,所以我们要测量这个距离A口这么一啊AO它拉高的时间是多少对不对啊,那怎么去测量这个时间呢?测量这个时间的话呢,我们用到了一个函数,叫什么呢?
41:27
又又有又有一个新的函数啊,Pose in这么一个函数,那这个函数的话呢,它就可以测量脉空脉宽,脉宽的话呢,我们测量是哪一个引角呢?就第6这个引角,第6个引角我们要测量的是啊,就是高电平的时间,所以呢,我们这边填嗨,对吧,如果说你要测量低电频的时间的话呢,你就填low对吧,我们啊如果说。它一直在空中飞的话呢,它就高电平,那那拨回来的话呢,子弹回来的话呢,它就变成低电平了,对吧。
42:00
啊,就这样的一个过程,好吧,那既然有测量,测量的话呢,是不是有个数据,有个数据的话呢,那我们我们是不是应该进行接收,对吧?那这个数据的话呢,呃,因为它是呃测量的时间的话呢,是微秒级别的啊微秒级别的,所以呢啊,时间的话呢,可能会比较大,比较大的话呢,我们用long long这么一个数据类型,对吧?给它起一个名字,给它定一个啊就是那个变量的名称啊好吧,然后来来接收它的一个返回值,这就测量出来它的一个时间了,对不对啊,测量好了时间之后的话呢,我们就是不是就可以算出它的距离了,那距离的话怎么算呢?举例的话呢,就这么算,实际的距离等于测量的距离除以2,等于是速度乘时间除以2对不对?来,我们先把这个啊值给它写出来,然后再给你们讲解,那举例的话呢,它是不是有可能是带小数的,所以呢,我们这边的话呢,给它来一个float对吧?给它起个名字Dis等于什么呢?等于就是我们。
43:01
这就是我们测量的时间嘛,时间然后呢,再乘以一个00017 OK, 这个地方大家可能有很多人有疑问了,就是0.017到底是什么意思,来我们跟你跟他们讲一下啊,这个速度乘以时间,我们实际测量的距离的话呢,就速度乘以时间对不对,那速度的话呢,等于多少呢。把计算器拿出来。速度的话呢,我们这边不是说343嘛,对吧,我们按300四来算对吧?然后我们最终想要得到的结果是什么?就想得到的结果是厘米对不对,想要得到的结果的话呢,是厘米,所以呢,我们这边的话呢,再给它两个零对不对?因为呢,一米的话呢,等于100cm,所以呢,340 340的话呢啊,再给他补两个零就变成了厘米了,对不对啊然后呢,时间,我们这个时间的话呢,它是什么呢?微秒级别了对不对啊,微秒级别的,所以呢,时间的话呢,我们要给它换成秒,微秒的话呢,换成秒是不是应该除以6啊除以10,呃,那个10的六次方好吧,1,然后呢,就是一后面跟几个零六个0123456对吧?所以呢,等于多少0.034对不对啊,然后后面的话呢,我们是不是再给它乘一个二啊,除以一个二。
44:27
除以个2,所以呢就变成0.017对吧?所以呢,我们速度除以2,速度除以2的话呢,它就变成0.017,然后再给它乘以一个时间就可以了,那时间的话呢,等于多少呢?时间的话呢,它就等于这一个duration,我们就通过。啊,这么一个函数可以测量出来它的一个时间对不对,好吧,那我们这边的话呢,就可以把这个举例的话呢,给他啊行啊,给他那个打印出来对不对,那怎么去打,怎么去打印它的一个,呃,怎么打印出来呢?我们打印的话呢,又用到了另外一个东西了,串口串口好吧,串口设置,那串口怎么怎么玩呢?啊串口的话呢,已经有个对象c real对吧,我们串口的话呢,只要设设定它的一个波特率就可以了,毕竟比如说9600好吧,我们通过这么一行代码的话呢,就可以把串口给它设置好,然后呢,把它的波特率设为9600,那我们就可以把这个值给它通过串口打印出来,那串口怎么打印呢?啊,我们还是c real边print啊,然后呢,我们先把这个距离这两个汉字给它打一下啊,距。
45:44
B.然后冒号OK,再来一个Siri b print print来有没有看到我们这边的话呢,多了两个什么,多了一个LN,那有带LN跟没有带LN什么意思呢?啊,没有带LN的话呢,它不会换行,就举例打印之后的话呢,它就啊它就那个不会换行好吧,那带LN的话呢,它会自动换行啊然然后我们打印什么呢?把这个举例的值diss啊Dis给他打印出来,好吧,来那我们来试一下啊。
46:23
我们得把这个给他插回去啊。OK啊,这样就烧进去了,然后呢,我们把啊这个打开好吧,我们这里面的话呢,有有个串口监视器就在这边啊,点它然后就可以看到了,好吧,然后我们要把这个波特利,波特利给它改一改,波特利的话呢,我们刚才设置的是多少呢?啊9600对不对,9600波特利对吧?好吧,有没有看到就可可以看到举例了,好吧,举例多少啊,我们这个速度太快了啊,速度太快,我们应该再给它进行一个d delay延时,延时比如说200ms,要不然的话呢,你会出现刚刚这种情况啊好吧,在兵翼运行一下。
47:10
来现在有没有看到啊,现在我们就显示正常了,对吧,我们这个举例的话呢,就给你打印出来了,好吧,然后我们现在的话呢,啊,把这个障碍物拿到这边来,对吧,因为有看到这个值就变小了,然后我们再给它近一点近一点近一点近一点近一点越来越近的话呢,它这个值就越来越小,越来越小,越来越小,越来越小,有没有看到。有没有看到好吧,贴到这里贴到脸了,贴脸的话呢,它就变得这个有点大了,对吧?啊好吧,所以呢,我们这个啊,通过这样的话呢,我们就可以测试出来啊这个代码的话呢,是OK的对不对?OK, 那这节课我们就先上到这边,OK, 通过前面的课程呢,我们已经学会了啊分闭器对吧,分泌器,超声波传感器,以前的数码管啊,这三个模块到底怎么让它驱动起来,怎么玩起来,OK, 那这三个模块我们都已经啊驱动起来之后的话呢,我们就可以让他来来那个完成我们倒车雷达这么一个项目了,对吧,我们这个项目的目的啊,就是干嘛呢,就测量我们的一个距离嘛,如果说距离小于某一个值的话呢,那么分泌器就想起来,并且呢啊,我们数码管的话呢,就持续的去显示我们啊这一个距离距离的值对吧?啊,那这个这个一个业务逻辑的话呢,还是非常的清晰的,好吧,那我们就可以来写这个代码了,那既然我们要测距的话呢啊。
48:31
我们要实现刚刚这样一个过程的话呢,我们再来拆分一下,要做成做几个什么事情,对吧,那我们第一个事情是不是肯定要先测距对不对?测距的话呢,我们现在已经做好了,第一个事情就是要先测距。测距对不对,那第二个要做的事情呢?第二个要做的事情呢,就是我们显示一下距离,显示距离对不对,那第三个要做的事情就是啊分明器,分鸣器啊控制对吧?控制什么呢?就是距离小一个指定的值的话呢,分鸣器就响起来,否则的话呢,它就不响对不对?那测距的话,我们现在前面已经做好了,所以我们接下来的呢,就是做最后两个事情,一个是显示距离,另外一个的话呢,就是来控制一下我们的分辨器,好吧,那我们来显示距离的话,怎么怎么显示呢?啊,显示距离的话呢,就是我们调用这么一个函数就OK了,对不对,这么一个函数我们直接拿过来用就可以了。
49:37
这个函数拿过来用就可以了,对不对,OK, 那这个函数的话呢,我们就是要把举例的值给它显示出来,那举例的值的话呢,等于多少,这个就距离的值对不对,我们就不能够给它写是39了,对不对啊,所以呢,我们要动态的把这个值给它放到这里面来。对不对啊,那因为呢,这个这个值的话呢,它是什么类型的,它是一个float类型的,对不对,那我们要的是什么类型的,我们要的类型的话呢,它是int类型的啊不信的话呢,我们来回过头来看一下这个函数啊。
50:09
OK, 这个函数的话呢,第一个啊,第一个的话呢,它要求的是int类型的对不对,第一个参数要的是int类型的啊,所以呢,我们应应该给它怎么呢?强转为in特类型的对不对啊,那我们浮点数强转为整形的话呢,会会造成什么结果呢?啊,就是你的后面的小数点的话呢,它就没掉了对不对,那没掉就没掉了,我们就只要知道说它的一个啊那个举例的一个整数部分就可以了,好吧,OK, 然后第二个参数的话呢,是false,第三个参数的话呢,啊,也是那个两位的嘛,对吧,我们举例的话呢,啊举例的话呢,我们就啊那个最多两位吧,好吧,然后呢,我们啊还是给它显示到最后两个位置。好吧,那举离子的话呢,其实我们可以再进一步的进行一个限定,进一步的限定怎么限定呢?啊,就是如果说测量到的举例的值小于0,或者说大于100的话呢,我们就把它现在限定在多少呢?变成99啊所以呢,我们就就固定变成两位了嘛,固定变成两位了对不对,所以呢,我们就看这个距离的值啊,距离的值DS啊,如果是小于等于,嗯,啊小于等于0对吧,或者啊或者DS>100,那么DS我们就固定的给它变成99,这样就OK了,好吧,啊,这样写成写成一行的话呢,你们看看的不太清楚啊,实际上它是这个这样的,这样你们就可以看的清楚了,对不对。
51:46
啊,好吧,这样我们就可以把这个距离的值给它显示出来了,对不对,那我们接下来的话呢,就可以来啊对分声器进行控制了,假如说举离的值小于5的话呢,那我们就产明,所以我们先判断一下这个举离的值啊DS<5,小于5的话呢,它就长鸣,长鸣的话呢,怎么长鸣呢,就是让分鸣器响起来嘛,分鸣器响起来的话呢,就把它的一个对应的L口的话呢,拉低对吧,那怎么拉低L口呢?低G头right分泌器的话呢,我们是在D7这个引角对不对,拉低low对吧?就可以长敏对不对啊否则,否则的话呢,那么我们就把它。
52:37
拉高。把这个漏改成hi对吧,它就不是长鸣了,它就静音了对不对,静音了好吧,这样的话呢,就OK了,对不对,整个逻辑还是非常的顺的,你先测量距离,测量距离完了之后,把这个距离给它显示出来,对吧?然后我们再判断一下这个距离啊,如果说这个距离小于5的话呢,我们分闭器就响起来,否则的话呢,分闭器它就静音不响,好吧,然后我们就可以来变运行来试一下啊。
53:13
OK, 现在的话呢,啊,我们就开始工作了,看到没测量出来的距离是等于9啊,我们移动一下这个障碍物,把它变大一点,变大一点,变大一点,变大一点啊,看起来这个车辆的距离的值没问题,对不对,再变小变小变小变小变小变小变小变小,一直变小,一直变小,然后看一下小于5的话呢,会发生什么情况来变小,OK, 小于5的话呢,它就开始常想起来了,对不对,对吧,有没有看到小于5的话呢,就常响了啊,大于5的话呢,它就不响了。好吧,所以呢,我们这个倒倒车雷达的话呢,啊,这个项目的话呢,到现在就完成了,其实呢,也不算很难,对吧?啊还是挺简单的,但是呢,你要是能够把这个整个一个开发的流程给他理顺的话呢,那么其实呢,啊,还是对你的学习的话呢,还是很有帮助的,因为呢,在我们真正的嵌入式开发的过程当中的话呢,我们也是一样的啊,我们都是按照模块来进行开发的,对吧,一个模块一个模块一个模块进行开发,开发完了之后的话呢,然后呢,再进行业务方面的一个整合,我们潜入式的内容的话呢,都是一样的,对吧?那如果说你想要学更多的潜入式的内容的话呢?啊,那么你们可以欢迎你们来看一下我们的啊乾龙山的课程,好吧,OK.
54:26
拜拜。
我来说两句