本帖最后由 起点116 于 2022-4-5 12:17 编辑
#申请原创# 今天我们继续通过米思齐来学习物联网开发板的编程及应用,今天主要学习如何让小灯听我话。怎么通过按键来控制小灯的亮灭。以及开关模块如何搭建。
我们今天先来学习按钮的原理,以及如何去创造出一个按钮模块。在电路板里面的按钮,可能不像小时候学到那么简单,把按键按下去接通,然后放开就切断。我们今天要用讯号的概念来来了解按钮这个东西。所以接下来看我是如何在电路板上面搭建开关模块的,你就会了解了。我们通过米思齐编程模块可以看到给端口高电平或者低电平就能检测到信号,那就简单了直接将5伏和GND相连再连一条线去信号端口不就行了? 可是这个问题啊,如果像我这样子用一条电线连接起来的话呢,会因为电流过大而烧坏掉这个板子,这样你就报销了,浪费了一个板子。那这样怎么办?又想要连接,又不希望电流过大,那当然是加上电阻,因为电阻会降低电流的大小,但电阻也不能选太小哦。我们这里选用的是10K就是1万欧姆的电阻,这样可以将电流降低到不会破坏板子的大小。
这样就既可以检测到按键的状态又不会烧坏板子了。(我这里只是介绍了开关的其中一种接线方法,感兴趣的可以深入了解)。 按键开关我们接好了,我们将信号端接入ESP32开发板端口上,写个串口打印程序看下是不是正常,编写好啦下载,不按按键时串口打印“0”当按键按下串口打印显示“1”。按键模块我们搭建好啦。 我们进行下一步操作连入输出模块LED小灯。将LED小灯接入开发板。 硬件搭建好啦我们开始编程。 先编一个按键按下小灯亮,松手小灯灭的程序,通过以前的学习我们知道通过控制模块里的如果,否则模块就可实现。 我们编写下试试。
嗯还不错小灯还是很听话的,按下灯亮,松开LED 灯灭。 我们继续生活中不可能开个灯要一直按着,松开就不亮了。这是不符合现实的。比如现实中的台灯等等都是按一下点亮,点亮后一直到你再次按下才可以熄灭。我们想一想怎么才能实现呢? 我们今天来学习一个逻辑模块“非”的应用。
我们看看米思齐是如何介绍“非”模块的 ---“如果输入结果为假,则返回真;如果输入结果为真,则返回假”。简单来讲就是输出检测结果相反的状态。 我们先选择如果....执行...模块这里我们要让板子先读取输出端口的状态,然后当按键状态发生改变时,输出端口做出与原状态相反的状态输出。
这就是非指令看图, 我们开始编程,编写好了开始写入测试程序。
当灯灭时我们按下按键小灯点亮,再按一下小灯熄灭。???这里按键好像不是特别灵敏,有的时候不是那么好用,小灯不是那么的听话。这是为什么呢?这是因为当我们去触发按键过程中不是一个完整的动作,在开关过程中会有抖动。那怎么办呢难道我们要特别小心的去按动开关吗?那样岂不是很麻烦?我们可不可以通过程序来消除抖动呢?答案是肯定可以的,因为生活中谁也不会开个灯也要小心翼翼不能抖动吧。 我们再来学习个编程模块防抖模块。这里我们找到重复执行模块
如果为真改为数字输入,然后我们再加个延时10 毫秒,再去执行小灯是执行亮还是执行灭的程序。 我们编写好啦,写入开发板试试。
是不是小灯就非常听话了。只要按键状态发生改变,小灯就会改变到与原来相反的状态上去。 好啦我们复习下今天的学习内容吧。 1我们学会了开关模块的硬件搭建,需要串联10K电阻: 2我们能够通过复习以前学习的如果,否则模块进行小灯的点亮和熄灭的编程工作; 3我们学习了逻辑模块里的“非”的使用 4我们学习了按键防抖程序的编写,加入如果为真则重复执行模块并加上10毫秒延时。 又是收获满满的一天,怎么样?编程变得也不是非常难的一件事了。我们要非常感谢米思齐编程软件让小白也能轻松学会编程。也能让编程变得如此有趣。 小白不会一直是小白,菜鸟努力终将飞上蓝天。让我们一起努力,加油我们是最棒的。 file:///C:\Users\Administrator\AppData\Local\Temp\ksohtml12228\wps1.pngfile:///C:\Users\Administrator\AppData\Local\Temp\ksohtml12228\wps2.pngfile:///C:\Users\Administrator\AppData\Local\Temp\ksohtml12228\wps3.pngfile:///C:\Users\Administrator\AppData\Local\Temp\ksohtml12228\wps4.pngfile:///C:\Users\Administrator\AppData\Local\Temp\ksohtml12228\wps5.pngfile:///C:\Users\Administrator\AppData\Local\Temp\ksohtml12228\wps6.pngfile:///C:\Users\Administrator\AppData\Local\Temp\ksohtml12228\wps7.pngfile:///C:\Users\Administrator\AppData\Local\Temp\ksohtml12228\wps8.pngfile:///C:\Users\Administrator\AppData\Local\Temp\ksohtml12228\wps9.png
|
@21小跑堂 :感谢鼓励
模块化编程简单易上手,**诙谐风趣。