剑阁住房和城乡建设厅网站,新泰网页设计,编辑网页软件,邢台 网站建设摘要#xff1a;本文主要讲解如何使用Mixly实现对单一车轮的运动控制。 下面就该用程序控制我们的小车轮子转起来了。打开Mixly软件#xff0c;然后单击顶部“文件”菜单中的“新建”功能#xff0c;我们来开启一个新程序的开发工作。
我们的工作同样是先从最简单的开始本文主要讲解如何使用Mixly实现对单一车轮的运动控制。 下面就该用程序控制我们的小车轮子转起来了。打开Mixly软件然后单击顶部“文件”菜单中的“新建”功能我们来开启一个新程序的开发工作。
我们的工作同样是先从最简单的开始初期只控制一个轮子实现轮子的正转3秒钟、停止3秒钟、反转3秒钟、停止3秒钟然后再正转……依次循环。
在进行具体开发之前再回忆一下使用GPIO的步骤有哪些吧以后会看到大部分的硬件功能都是这个模式。
首先是设置工作模式和参数对设备进行初始化工作。其次是控制GPIO端口输出高电平或者低电平。第一步设置GPIO工作模式的工作由Mixly自动完成了我们不需要做什么事情。我们只需要将所使用的GPIO引脚初始化为低电平却把初始状态车轮子是不动的。
在Mixly软件的左侧功能模块区点击“控制”然后找到“初始化”功能将其拖拽到右侧工作区的空白位置。这个“初始化”功能所生成的代码在将来程序运行的时候只执行依次因此它的作用就是做一些一次性的准备工作。然后在“输入/输出”功能模块区找到“数字输出”功能将其拖拽到“初始化”内部“数字输出”有两个参数一个是使用那个GPIO引脚一个是输出高电平还是低电平。在这里我们设置一个电机的2个GPIO引脚为低电平。设置好后如下图所示 接下来该控制这两个GPIO引脚输出高低电平了。先拖拽到工作区空白一个“数字输出功能”设置相应的引脚输出为高电平。之后需要延迟3秒钟。“延时”功能在“控制”功能区默认延时的单位是毫秒所以将延时时间值设置为3000这样延时时间就设置好了。之后是需要将电动机停下来那么就把刚刚输出高电平的引脚恢复成低电平就可以了。之后又是延时然后再同样的方法控制另外一个引脚输出高低电平整个完成的程序如下图所示 接下来就可以将ESP32开发板连接到电脑上下载程序进行测试了。你的智能小车的轮子转起来了没有如果没有成功可以从以下几个步骤查找一下问题出在了哪里
程序编译和上传都没问题把要确保这个过程没有出错。先查一下程序看看有没有不小心设置错误的地方。L298N模块的电源开了没有红色LED电源指示灯亮了吗L298N模块的GND与ESP32扩展版的GND连接到一起了吗检查一下接线是否牢固正确对应的GPIO引脚正确吗看看杜邦线有没有虚接有没有插错位置
接下来我们来看一下Mixly为我们生成了哪些代码吧点开侧边栏程序的代码如下所示 void setup(){ pinMode(32, OUTPUT); //将32引脚设置为输出模式 pinMode(33, OUTPUT); //将33引脚设置为输出模式 digitalWrite(32,LOW); //将32引脚设置输出低电平 digitalWrite(33,LOW); //将33引脚设置输出低电平 } void loop(){ digitalWrite(32,HIGH); //将32引脚设置输出高电平车轮开始转动 delay(3000); //延时3秒钟 digitalWrite(32,LOW); //将32引脚设置输出低电平车轮停止转动 delay(3000); //延时3秒钟 digitalWrite(33,HIGH); //将33引脚设置输出高电平车轮开始反向转动 delay(3000); //延时3秒钟 digitalWrite(33,LOW); //将33引脚设置输出低电平车轮停止转动 delay(3000); //延时3秒钟 }
我们可以看到整个代码包含了两个函数setup()函数和loop()函数。从名字上就可以看出setup()函数是用来进行初始设置的在机器启动的时候会自动的调用这个函数。loop()函数包含了ESP32芯片在运行期间所要进行的工作这个函数会被循环多次调用。
在setup()函数中调用了2个关于GPIO的函数pinMode()函数用来设置GPIO端口的工作模式这个函数由2个参数第一个参数是GPIO引脚的索引表明了要设置的是哪个引脚第二个参数是要将前面指定的引脚设置成什么工作模式。关于GPIO的工作模式在前面已经讲解过了。digitalWrite()函数则用来指定某个引脚的输出电平为高还是低。这个函数也是两个参数应该一看就明白了在这里就不解释了。
在loop()函数中就是改变GPIO输出的状态然后延时。delay()就是延时函数这个函数的参数就是延时时间单位是毫秒。
这个程序应该很容易看懂。希望那些初学者可以跟着我从看懂代码开始逐步过渡到能够自己编写代码。嵌入式系统的代码相对于那些应用程序来说无论从规模还是复杂程度上都比应用程序要简单很多。Mixly虽然已经是一个功能完善的图形化开发工具了但其功能还是很有限只适用于初始的学习使用后边还是要过渡到直接编写代码的开发工具中去。
好了一个轮子的转动控制我们就学会了大家有时间可以改变一下控制的GPIO引脚让剩下的几个轮子也转起来吧