NodeMcu | 您所在的位置:网站首页 › 电脑开机引脚电压多少正常 › NodeMcu |
233
1 准备工作硬件软件
2 硬件介绍ESP8266、ESP12F、NodeMcu
3 NodeMcu 硬件参数引脚定义NodeMcu的基本参数
4 NodeMcu 按钮和LED灯5 Arduino环境配置6 Arduino 基本入门7 开始使用NodeMcu8 进入实战前的模拟尝试使用三极管
8 使用点灯科技的库9 开机部分实现10 添加开机状态监控
1 准备工作
硬件
电脑上 Arduino 的IDE,我用的1.8.14点灯科技的库手机上就是点灯的APP 2 硬件介绍 ESP8266、ESP12F、NodeMcu参考网址:http://www.taichi-maker.com/homepage/esp8266-nodemcu-iot/esp8266-nodemcu-tutorial-index/nodemcu-hardware/ http://www.taichi-maker.com/homepage/esp8266-nodemcu-iot/esp8266-nodemcu-tutorial-index/nodemcu-board/ esp8266 : 百度一下8266就会出现乐鑫这个名字,乐鑫就是这个芯片的开发者,而且是中国公司,牛P。这个芯片是完成WIFI的全部任务的,他是一切的基础。 ESP12F 是安信可设计的一个模块,使用ESP8266芯片(可以理解在ESP8266的基础上又添加了一些其他硬件),如下图,屏蔽罩下面就是ESP8266的芯片
参考 http://www.taichi-maker.com/homepage/esp8266-nodemcu-iot/esp8266-nodemcu-tutorial-index/nodemcu-board/ 必须吹一波太极创客,简直良心的不要再良心的了,还出了免费的视频教程。 也参考了下的博客 https://blog.csdn.net/q1694222672/article/details/89214807 https://www.arduino.cn/thread-83846-1-1.html 引脚定义下面是摘自https://blog.csdn.net/weixin_45488643/article/details/105974842的一个对应图 然后关于NodeMcu的基本知识,
NodeMcu工作电压3.3V,可以从以下几种方式供电: USB口: 5V供电 VIN: 可输入5V供电。 3V引脚: 可以输入3.3V直接给esp8266供电。当使用其他方式供电时,该引脚可以获得3.3V电压给其他设备供电。 所有I/O输入电压都不得高于3.3V。同时请注意,这些引脚的最大输出电流是12mA。 D0~D8: 数字输入引脚。 PWM: 所有数字I/O都可用于PWM输出 串口: Serial(TX-D10/RX0-D9)可用于和计算机或其他设备通信,Serial1(TX1-D4)只有输出端口,可用向其他设备发送数据。 SPI: MISO\MOSI\SCK引脚可用于SPI通信。 IIC: 实际上D0~D8都可以用作IIC通信。 A0: 只能做模拟输入使用,输入电压范围为0~3.3V,8-bit精度。 L: 位于8266模块上的LED,该LED连接到D2引脚,可以使用宏LED_BUILTIN编程控制 可以使用开发板上印刷的Dx或引脚对应的GPIO编号控制引脚,如 a=digitalRead(D1) a=digitalRead(5) 是等效的。 不建议使用的引脚 ESP8266芯片有17个GPIO引脚(GPIO0~GPIO16)。这些引脚中的GPIO6~GPIO 11被用于连接开发板的闪存(Flash Memory)。如果在实验电路中使用GPIO6~GPIO11,NodeMCU开发板将无法正常工作。因此建议您不要使用GPIO6~GPIO 11。 特殊引脚 GPIO2引脚 在NodeMCU开发板启动时是不能连接低电平的。GPIO15引脚在开发板运行中一直保持低电平状态。因此请不要使用GPIO15引脚来读取开关状态或进行I²C通讯。GPIO0引脚在开发板运行中需要一直保持高电平状态。否则ESP8266将进入程序上传工作模式也就无法正常工作了。您无需对GPIO0引脚进行额外操作,因为NodeMCU的内置电路可以确保GPIO0引脚在工作时连接高电平而在上传程序时连接低电平。总结就是:尽量使用GPIO1 对应D10 ,GPIO3对应 D9 ,GPIO13 对应 D7 ,GPIO12 对应 D6 ,GPIO14 对应 D5,GPIO4 对应 D2 ,GPIO5 对应 D1,GPIO16 对应 D0 等引脚 NodeMCU开发板配有降压电路。您可以用NodeMCU开发板的模拟输入引脚读取0-3.3V的模拟电压信号。 4 NodeMcu 按钮和LED灯我们可以通过NodeMCU开发板上的FLASH按键控制D3引脚的电平。当我们没有按下该按键时,D3引脚将会保持高电平状态。当按下该按键后,D3引脚会变为低电平。 RST按键是让NodeMcu重新运行写入的程序 LED灯和D4直接连接,低电平灯亮(这个不知道为什么,我测试的是D4 LOW,LED灯亮。。。。。。。。) 5 Arduino环境配置esp8266 nodeMCU arduino开发环境 https://www.jianshu.com/p/58f71aeb6633 6 Arduino 基本入门建议看下面这个视频教程,每个都很短,看的很快的 https://www.bilibili.com/video/BV1YW411Z76E?from=search&seid=957664686341888135 7 开始使用NodeMcu直奔主题,远程开机嘛,可以使用点灯科技的APP远程造作NodeMcu某个引脚输出高电平,然后控制(这个如何控制方法很多) 主板开机。 而主板开机的原理就是POWER_SW 的两个跳针短接一下,把POWER_SW 正的那个跳针电压拉低。
我这里使用的控制方法2,因为我不太确定POWER_SW正极的跳针电压到底多大,有说3.3V的有说5V的,我手头就一个能承受3.3V的NodeMcu,直接NodeMcu控制三极管导通,让POWER_SW两个跳针接通短路。 8 进入实战前的模拟 尝试使用三极管
Arduino代码,原理就是因为按下FLASH按钮会触发D3的低电平,所以读取D3的电压,如果D3是低电平,就给连接三极管基极的D7 写入高电平,导通三极管 void setup() { // put your setup code here, to run once: Serial.begin(9600); // 启动串口通讯 pinMode(D3, INPUT); // 将FLASH按键引脚设置为输入模式 pinMode(D7, OUTPUT); // 将FLASH按键引脚设置为输入模式 Serial.println("开始了 ..."); } void loop() { // put your main code here, to run repeatedly: int pinState = digitalRead(D3); // 获取D3引脚状态 if(pinState == HIGH){ // 当按键引脚D3为高电平,按钮没有按下 digitalWrite(D7,LOW); } else { // 当按键引脚D3为低电平 Serial.println("低电平,按钮按下了"); digitalWrite(D7,HIGH); } } 8 使用点灯科技的库注意,别使用太新的ESP8266的库,我最初用的1.8的库,结果板子能够连接WIFI但是没法构建MQTT通信,无限循环初始化 可以参考这个教程一步步来https://www.arduino.cn/thread-83174-1-1.html 遇到问题,再去官方文档找找解决办法https://www.diandeng.tech/doc/arduino-course 然后手机上装点灯APP,新建一个设备,记住秘钥,这个点灯官网就有教程 9 开机部分实现先用杜邦线把跳线引出来,要不然每次拔插累死了 代码如下,功能就是按下NodeMcu的Flash按键,会短接POWER_SW+ 和POWER_SW- ,实现台式机开机。 void setup() { // put your setup code here, to run once: Serial.begin(9600); // 启动串口通讯 pinMode(D3, INPUT); // 将FLASH按键引脚设置为输入模式 pinMode(D7, OUTPUT); // 控制信号 pinMode(D4, OUTPUT); // D4控制 开发板上的LED等,当我们按下FLASH按键,让LED亮,相当于个指示信号 Serial.println("开始了 ..."); digitalWrite(D4,HIGH); digitalWrite(D7,LOW); } void loop() { // put your main code here, to run repeatedly: int pinState = digitalRead(D3); // 获取D3引脚状态 if(pinState == HIGH){ // 当按键引脚D3为高电平,按钮没有按下 digitalWrite(D7,LOW); digitalWrite(D4,HIGH); } else { // 当按键引脚D3为低电平 Serial.println("低电平,按钮按下了"); digitalWrite(D7,HIGH); digitalWrite(D4,LOW); } } 10 添加开机状态监控这一节添加状态监控保持上一节描述的开机电路没有修改,只是代码修改了,变成点灯APP上的按键触发,而不是通过按NodeMcu板子上的FLASH按键触发三级管导通。 直接读取 电源指示灯正极 或者 硬盘指示灯正极是否有电压就行,有电压了电脑就是开机了。 我这里串了两个200欧的电阻,分下电压,否则会超过NodeMcu 模拟输入的最大3.3V电压。 电路如下,另外比如主机箱LED+ 应该都是杜邦的母头,所以需要用一根公转公的杜邦线才能插到面包板上。 配套的点灯APP设置如下,主要是按键和读数控件名字 另外点灯也是为了节省带宽(可以理解,毕竟白嫖了人家),APP是信息主动发起方,所以一段时间后可能APP上就接受不到电压信息了,点击debug窗口的刷新就好了 |
CopyRight 2018-2019 实验室设备网 版权所有 |