在上一起中我们向ESP8266中刷入了固件。那么今天我们就需要用这个固件来做点什么了。自从电被人类利用,其中具有跨时代意义的就是灯泡了!
所以,今天我们也来做这个简单又是你未曾尝试的点灯!
我们用到的工具是ESPlorer 百度网盘链接 提取码: epl6
我们采用的nodeMCU固件用lua脚本语言开发,如果没刷好固件,请看上期!
这个工具是基于Java开发的,根据我的多次尝试发现,尽量不要使用新版jdk,我在jdk-8的环境下测试好用。百度云链接 提取码: frh1
如果你没有安装或根本没听过jdk,那么可以百度安装jdk并配置环境,否则,就不好使了呗。
如果你成功安装了jdk-8(其他版本未尝试),你可以打开ESPlorer文件夹,如下图操作。
在经过一堆文字后
出现界面,注意:黑框不要关闭,如果关闭会导致软件也关闭
点击打开串口,在wifi芯片上按RST红色按钮。出现一下字符
(如果出现类似等待的字样,可能由于刷好后第一次开机导致需要短时间的准备,耐心等1分钟。)
好啦,是个时候我们就可以写代码 啦!
开始打代码
led = 4
gpio.mode(led,gpio.OUTPUT,gpio.PULLUP)
gpio.write(led,gpio.LOW)
之后点击保存,或者ctrl+s保存,保存到你想保存的位置,如果不知道放哪里,那就选择桌面吧。
让WIFI芯片执行代码
好了,第一步成功了
等等,这亮了可以,为啥亮啊???
led = 4 --因为板子上的灯连接的是GPIO4引脚
gpio.mode(led,gpio.OUTPUT,gpio.PULLUP)--设置引脚的输出模式和输出方式
gpio.write(led,gpio.LOW)--通过给GPIO4,发送低电平指令,点亮灯
嗷嗷,原来是这样。等等!你为啥发送低电平指令,灯还亮了?不应该是高电平才导通么!
这个问题是因为在这个WIFI芯片的电路图中类似这个样子的
行吧,那我这灯就不能闪一下么?
可以啊,我们可以用“延时”(delay)
代码:
led = 4
gpio.mode(led,gpio.OUTPUT,gpio.PULLUP)
while (true)
do
gpio.write(led,gpio.LOW)
tmr.delay(1000*1000)
gpio.write(led,gpio.HIGH)
tmr.delay(1000*1000)
end
记得每次烧录程序之前要点击RST复位按钮,以防止两次程序的干扰
这一次加了什么呢
while (true) --循环结构,括号中的是判断条件,如果是“真”就一直循环,直到不是“真”为止,当然这一个一直都是“真”
do
--这里是需要执行的内容
end --这个循环结构的结束啦
tmr.delay(1000*1000)--延时函数通过后面传进去的数字来延时
--这个单位是us。所以通过1000*1000的方式
--来表示1秒,也可以写成1000000(不推荐,容易看晕)
gpio.write(led,gpio.HIGH) --既然gpio.LOW是开灯,gpio.HIGH就是关灯啦
好啦,今天就这样,点灯成功,闪灯顺利!