MicroPython+ESP8266:UART串口通信

步骤一 硬件准备

  • Nodemcu开发板×1
  • Arduino UNO开发板×1
  • 面包板×1
  • usb数据线×1

软件准备:

步骤二 原理说明

NodeMCU v2提供三个UART。您可以在TXD0,RXD0,TXD1,TXD2,RXD2上看到它们:

(七)Nodemcu的MicroPython之旅:UART串口通信

我们可以使用UART库访问UART串口。
在本章中,我使用Arduino板作为UART源。我们从UART读取传入的消息。开始吧!

步骤三 电路搭建

在串口通信的教程中,我使用Arduino Uno连接到NodeMCU板。我们在连接到Arduino板的NodeMCU上使用UART0。我们应该将RX引脚连接到TX引脚,将TX引脚连接到RX引脚。

以下是我们的连线方式:

  • NodeMCU D10(TXD0)连接到Arduino 数字口 10(RX)
  • NodeMCU D9(RCD0)连接到Arduino 数字口 11(TX)
  • NodeMCU GND连接到Arduino GND

我的接线实现如下图所示:

(八)Nodemcu的MicroPython之旅:UART串口通信

步骤四 编写程序

首先,我们使用Arduino IDE为Arduino UNO编写程序。我们使用SoftwareSerial模拟软串口10和11.该程序将等待输入的UART数据,然后在0和1引脚上发送到Arduino UART。接下来开始写这个程序:


(八)Nodemcu的MicroPython之旅:UART串口通信

Arduino程序:

#include  <SoftwareSerial.h>
SoftwareSerial  mySerial(10,  11);  // RX, TX

void  setup()
 {
  Serial.begin(9600);
  mySerial.begin(9600);
}
void  loop()
{
  if  (mySerial.available()  >  0)  {
    Serial.write(mySerial.read());
  }
}

保存这个程序。然后,将其上传到Arduino板。在上传之前,请确保Arduino UART(数字0,1,10和11引脚)不能连接到任何电路或传感器。下一步是为NodeMCU板编写程序。创建一个名为uartdemo.py的文件。开始编写程序:

Nodemcu程序:

from machine import UART
import time

def  run():
  print('demo UART')
  uart = UART(0, baudrate=9600)
  counter =  50
  while  1:
    uart.write(str(counter)  +  '\r\n')
    time.sleep(2)
    counter +=  1
    if counter >  70:
    counter =  50

步骤五 验证结果

现在您可以通过WebREPL上传和运行MicroPython程序。完成后,将NodeMCU UART连接到Arduino UART(数字引脚:10和11)。要查看UART输出,请从Arduino IDE打开串行监视器工具。设置波特9600.您应该看到UART输出:

(八)Nodemcu的MicroPython之旅:UART串口通信

以下是WebREPL上的程序输出:

(八)Nodemcu的MicroPython之旅:UART串口通信

文章转载自:https://www.qutaojiao.com/6868.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容