亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

Python 3 控制 Arduino UNO - 串口通信点亮内置 LED 入门教程

元器件清单

元器件数量
Arduino UNO1
USB 数据线 (Type-A to Type-B)1

项目简介

网上大量 Python 控制 Arduino 教程基于 Python 2,语法与 Python 3 不兼容(如 `print` 语句、串口写入字节格式)。本项目专为 Python 3.7+ 编写,演示最基础的“Hello World”:通过串口发送指令控制 Arduino 内置 LED (D13) 亮灭,建立跨语言通信基础。

Python 3 控制 Arduino UNO - 串口通信点亮内置 LED 入门教程

环境准备

  1. 安装 Python 3.7+(勾选 Add to PATH)
  2. 安装串口库:pip install pyserial
  3. 安装 Arduino IDE

Arduino 端代码

int cmd = 0;

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);  // D13 内置 LED
  Serial.begin(9600);
}

void loop() {
  if (Serial.available() > 0) {
    cmd = Serial.read();  // 读取单字节指令
  }
  if (cmd == '1') {
    digitalWrite(LED_BUILTIN, HIGH);  // 点亮
  } else if (cmd == '0') {
    digitalWrite(LED_BUILTIN, LOW);   // 熄灭
  }
}

关键点:`Serial.read()` 返回 ASCII 码值,'1'=49, '0'=48。直接与字符常量比较最直观。

Python 3 端代码

import serial
import time

# 修改 COM 端口号 (Windows: COMx, Linux/Mac: /dev/ttyUSBx 或 /dev/ttyACMx)
arduino = serial.Serial(port='COM1', baudrate=9600, timeout=1)
time.sleep(2)  # 等待 Arduino 复位稳定

print("输入 1 点亮 LED,输入 0 熄灭 LED,Ctrl+C 退出")

try:
    while True:
        user_input = input().strip()
        if user_input == '1':
            arduino.write(b'1')  # Python 3 必须发送 bytes 类型
            print("LED 已点亮")
        elif user_input == '0':
            arduino.write(b'0')
            print("LED 已熄灭")
        else:
            print("无效输入,请输入 1 或 0")
except KeyboardInterrupt:
    print("\n程序已退出")
    arduino.close()

Python 3 关键差异:

运行步骤

  1. 先上传 Arduino 代码
  2. 打开串口监视器确认波特率 9600,然后关闭监视器(释放端口)
  3. 运行 Python 脚本:python3 led_control.py
  4. 在终端输入 1/0 控制 LED

常见问题

扩展方向

原理图

仅需 Arduino UNO + USB 线,无额外电路。Python 3 控制 Arduino UNO - 串口通信点亮内置 LED 入门教程

制造工艺

  1. NodeMCU DHT22接入树莓派3B+ MQTT Broker:无缝物联网集成指南
  2. 基于 1Sheeld 与 Arduino 的盲聋人士沟通辅助系统
  3. Arduino UNO 驱动 16x2 LCD 实现动画与小游戏
  4. SERENA:基于 Arduino Mega 2560 与 TFT 触摸屏的多级密码报警系统
  5. Arduino 与智能手机打造智能电压表——简单易做的 DIY 项目
  6. Arduino Nano 驱动 128x64 OLED 实时运行康威生命游戏 (元胞自动机)
  7. 使用 Arduino Nano 和 RDA8057M 制作紧凑型 FM 收音机
  8. MKR1000 接入 Azure IoT:DHT22 温湿度实时上云监控
  9. 手把手教你打造树莓派 3 + Arduino 笔记本电脑
  10. 自制 AI 助手机器人:Arduino 与 Python 协同实现语音交互与肢体动作
  11. 基于 Arduino 的压力传感器与数据记录器:精准空气压力监测方案
  12. Arduino传感器:类型、应用与实战项目