PC-Arduino Serial communication using python

本文详细介绍了一种利用Python和Arduino实现异步通信的简单方法。通过Python的serial模块,可以控制Arduino上的内置LED开关。文章提供了完整的Python代码示例,用于检测并连接到Arduino设备,并接收用户输入来控制LED状态。同时,给出了Arduino端的代码,用于接收串口数据并相应地控制LED。
摘要由CSDN通过智能技术生成

PC-Arduino Serial communication

介绍

记录最简单的用python和Arduino实现异步通信的方法, 通过使用python serial 模块让Arduino 的build-in LED实现开关

PC: python serial 程序

import serial
import serial.tools.list_ports, warnings

#port detection - start
ports = [
    p.device
    for p in serial.tools.list_ports.comports()
    # if 'USB' in p.description
]

print (ports)

if len(ports) > 1:
    warnings.warn('Connected ...')

ser = serial.Serial(ports[0],9600) # to connect the first ports

while 1:
    val = input("Enter 0 or 1 to control the LED:")
    ser.write(val.encode())

Arduino代码

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600); // set the baud rate of 9600 bps
  Serial.println("Ready"); // print "Ready" once
  pinMode (13, OUTPUT); // configure the on-board LED as output
}

void loop() {
  // put your main code here, to run repeatedly:

  if (Serial.available())// if the receiver is full
  {
    switch (Serial.read())
    {
      case '0': digitalWrite(13, LOW);
                break;
      case '1': digitalWrite(13, HIGH);
                break;
      default:  break;
    }
    delay(1); // delay for 0.1 second for each loop
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值