Python3 和 Arduino 通信
组件和用品
| × | 1 | ||||
| × | 1 |
关于这个项目
项目描述
在这个项目中,我们将从 Python3 发送命令到 Arduino 板,这将使 Python3 和 Arduino 之间的通信更容易理解。我们将制作Arduino平台的“Hello world”,这意味着打开/关闭Arduino Uno上的内置LED。
所以首先让我告诉你......
我为什么要做这个项目
首先,网上有很多关于这个主题的教程,专门在youtube上上传,但他们使用的是Python2版本,其次,我安装了最新版本的Python3.7.2。当您使用 Python2 和 Python3 连接 Arduino 时,它之间存在一些差异。所以当我解决了从Python3发送命令到Arduino的问题后,我觉得这个应该分享给创客和整个爱好者社区。P>
让我们按照以下步骤开始:
安装程序
- 如何安装python3版本 和 PySerial 包装
现在您可以在 YouTube 上搜索有关安装内容的信息。下面是安装 Python3 版本和 PySerial 包的视频。
演示
- 第 1 部分:Arduino 代码
- 第 2 部分:Python 代码
注意
确保首先上传 Arduino 草图,然后上传 Python 代码。 :)
如果您在制作此项目时遇到任何问题,请在评论部分告诉我。
代码
- Arduino 代码
- Python3 代码
Arduino 代码Arduino
此代码适用于 arduino,您需要在运行之前上传此代码 python codeint datafromUser=0;void setup() { // 将您的设置代码放在这里,运行一次: pinMode( LED_BUILTIN , OUTPUT ); Serial.begin(9600);}void loop() { // 把你的主要代码放在这里,重复运行: if(Serial.available()> 0) { datafromUser=Serial.read(); } if(datafromUser =='1') { digitalWrite( LED_BUILTIN , HIGH ); } else if(datafromUser =='0') { digitalWrite( LED_BUILTIN, LOW); } }
Python3 代码Python
import serialimport timearduino=serial.Serial('COM1', 9600)time.sleep(2)print("Enter 1 to turn ON LED and 0 to turn off LED")while 1:datafromUser=input() if datafromUser =='1':arduino.write(b'1') print("LED 开启") elif datafromUser =='0':arduino.write(b'0') print("LED 关闭")预>
示意图
对于这个项目,你只需要 arduino 板和 USB 电缆制造工艺