此笔记适合有Arduino经验,想要接触ESP8266模块的小白使用(因为我也只是个小白),如果有错误纰漏还请指正。
然后,就让我们开始吧!
因为大二了,准备在学校参加一些比赛,然后自己设计了一个项目需要用到WIFI模块,就去买了块NodeMCU模块开始自学。虽然面对一群大佬,但是
这是我买的板子,听说网上有两种板子,似乎因为USB转串口的芯片不一样,分别对应0.9和1.0,不过没买过另一种,而且似乎我用1.0和0.9都烧得进去?(迷惑)
本来官方说要LUA开发,或者用它的SDK,但是因为没学过LUA,而且暂时也不需要用来做什么很高级的东西,所以就直接使用Arduino进行开发了。主要还是懒
关于怎么在Arduino IDE上面安装ESP8266,网上的教程真的多,所以这里也就不单独记录了。
Arduino IDE安装好了ESP8266的板子,就可以把NodeMCU连接电脑开始研究了,不用烧BootLoader啥的。
特性这里主要记录一下NodeMCU和普通Arduino的区别,真要详细的内容还请去官网查看官方文件。
这里放一下引脚图:
与Arduino区别: PWM:Arduino UNO和Nano型号的PWM调节区间为0~255,而NodeMCU的PWM调节区间则在0~1023之间,使用起来感觉变得更为细腻。(虽然我感觉普通使用一般也不大用得着) 模拟输入引脚:Arduino UNO有A0~A5共六个普通的模拟输入口,Arduino Nano因为用的32脚封装的AVR所以有多了两个不能复用数字IO的模拟输入口A6和A7,而我们NodeMCU就比较厉害了,它只有一个模拟输入口A0,而且与Arduino的0~5V输入范围不同,NodeMCU只能在0~1V输入。不过优点和PWM一样,范围在0~1023之间,读数更为细腻。 丝印号:Arduino大部分板子虽然偶尔因为不同厂家制造,数字丝印号可能有所差异,除了普通的0、1、2、3也有D0、D1、D2、D3,但是在IDE里还是统一用0、1、2、3代替,而NodeMCU就需要使用到其丝印号了(当然,直接用数字也是可以的,但是方法就是要么你把它背下来,要么就每次查引脚图,像是上图中D5引脚,丝印为D5,实际是14引脚,那么在IDE中你就可以用D5代替这一引脚,也可以用14代替,这应该是这个写ESP8266库的作者为了方便进行的宏定义,要是用不顺手也可以自己宏定义一波),另外在找资料的时候还发现这个D4引脚控制着板子上自带的一颗灯,而这个引脚也被宏定义了另一个名字叫LED_BUILTIN,一般就当测试的指示灯用就可。这东西要这么搞可能只能做联网功能了哦?
不是区别的特性:可以看到上面的引脚图,可以发现一共有17个GPIO(个数不对,但是标号达到了GPIO16),但是6、7、8、11好像是作为SD扩展引脚而没有标出,所以一般也不作为DPIO引脚使用,另外9和10一般也是作为SD扩展引脚使用的。另外1和3作为串口通信引脚,虽然以前玩Arduino也经常把串口当数字口用也没出太大问题,但是为了不出现一些奇奇怪怪的问题,所以也不要乱搞。当然动手能力强有探索精神的同学欢迎尝试,尝试完了可以告诉一下贫穷的我
小结:反正目前从这块板子的特性来看,它可能不大适合用来接很多传感器,而且驱动能力一般,到时候还是要自己想办法改良电路,比较麻烦。
如果实在想要扩展模拟输入口可以用CD74HC4067模块,用四个数字io就可以把一个模拟引脚扩展到16个。想要扩展数字输出就用74HC595,想扩展数字输入就用74LS165,想多扩展一些就多串几个,当然前提是可以驱动。
输出就用74HC595,想扩展数字输入就用74LS165,想多扩展一些就多串几个,当然前提是可以驱动。
第一小结就这样吧,后面会写关于NodeMCU联网的东西。(因为除了联网功能和上面那些差别,其他的你都可以把它当Arduino进行处理)