admin管理员组

文章数量:1637715

基本信息

实验环境

  • Arduino IDE
  • Win 10电脑
  • 宿舍门锁:老式旋转开关门锁

实验材料

  • NodeMCU:以ESP8266为核心模块,CH9102X驱动版本(CP2102驱动升级版)
  • 4x4矩阵薄膜键盘
  • MG996R 金属标准舵机 180度(3.0-7.2V)
  • 其它:microusb数据线、面包板、杜邦线若干

NodeMCU,是一个开源的物联网平台。 它使用Lua脚本语言编程。该平台基于eLua 开源项目,底层使用ESP8266 sdk 0.9.5版本。该平台使用了很多开源项目, 例如 lua-cjson, spiffs. NodeMCU包含了可以运行在 esp8266 Wi-Fi SoC芯片之上的固件,以及基于ESP-12模组的硬件。总结来说,nodemcu本质就是ESP8266+USB转串口芯片,ESP8266是一块可编程的WIFI芯片。

(一)驱动安装、环境配置、例程运行

参考:

  • https://blog.csdn/qq_41904864/article/details/106202073
  • https://diyi0t/esp8266-nodemcu-tutorial/

驱动安装

  • 驱动下载:https://pan.baidu/share/init?surl=zPPIEOM2Xoz2t5JOnsYssg 提取码:y5tb
  • 驱动安装:右键管理员模式运行安装程序,默认配置即可。


  • 将电脑连接上NodeMCU,在设备管理器→端口(COM和LPT) 下查看是否显示连接上了设备,确认驱动安装成功(可以看到显示连接到了COM3端口)。

Arduino下载安装及配置

  • Arduino下载主页:https://www.arduino/en/software
  • 一路点击下一步/同意即可。
  • Arduino默认界面:

  • 文件→首选项中,设置附加开发板管理器网址为:http://arduino.esp8266/stable/package_esp8266com_index.json

  • 点击工具→开发板→开发板管理器,搜索ESP8266,点击安装,安装该开发板定义。这里因为要从github上下载文件,可能需要科学上网(若无法科学上网,可参考这篇文章解决)。安装完成后显示installed就可以了。

  • 工具→端口选择刚刚在设备管理器看到的端口号COM3,在工具→开发板选择NodeMCU 0.9(根据自己板子的实际Module情况选择,CP2102驱动选NodeMCU 1.0也可以)。这样Arduino就可以和NodeMCU通信了。

例程运行

使用C语言编程,以下代码来自:https://www.scaugreen/(这个博客的系列教程很好,推荐)

  • Arduino相关功能区如下:
    • 验证:类似编译。
    • 上传:类似编译+运行。
    • 新建、打开、保存:对文件的操作。

  • 例子一:串口通信

程序功能:NodeMCU每隔1秒向串口输出“WiFi connected”信息。

void setup() {
   
  // put your setup code here, to run once:
  Serial.begin(115200);
  delay(10);
  Serial.println();
  Serial.println();
  Serial.print("Connecting to ");
}
 
void loop() {
   
  // put your main code here, to run repeatedly:
  Serial.println("WiFi connected");
  delay(1000);
}

点击验证,提示编译成功。

点击上传,NodeMCU开始运行程序(写入过程,板子上LED会闪烁),打开工具→串口监视器,可查看程序是否运行成功。注意串口监视器的波特率要调到和程序以及板子一致,否则会出现乱码。

一旦NodeMCU通电,程序就会不断地运行(可以从串口监视器看到)。按下板子USB口旁边的RST按键进行Hard Reset,会重启板子,同样也会自动运行该程序。

  • 例子二:控制LED闪烁

程序功能:NodeMCU板子上自带的LED灯循环闪烁(亮→等1秒→暗→等2秒)。注意此时无串口通信。

//如果是nodemcu V3版,需要另外定义LED引脚
//#define LED_BUILTIN 2 
void setup() {
   
  pinMode(LED_BUILTIN, OUTPUT);     // Initialize the LED_BUILTIN pin as an output
}
 
// the loop function runs over and over again forever
void loop() {
   
  digitalWrite(LED_BUILTIN, LOW);   // Turn the LED on (Note that LOW is the voltage level
  // but actually the LED is on; this is because
  // it is active low on the ESP-01)
  delay(1000);                      // Wait for a second
  digitalWrite(LED_BUILTIN, HIGH);  // Turn the LED off by making the voltage HIGH
  delay(2000);                      // Wait for two seconds (to demonstrate the active low LED)
}

过程同上:复制程序→验证(显示编译成功)→上传(板子LED闪烁)→上传成功,程序开始运行(LED规律闪烁)

完成上述步骤,就可以正式开始使用NodeMCU制作项目了。

(二)将老式门锁改造为简易密码锁

NodeMCU引脚图

注意此引脚图是CP2102驱动版本的(也适用于CH9102X驱动版本)。

将舵机连接至NodeMCU

舵机参数

本文标签: 密码锁老式门锁简易宿舍