在这个项目中,我们将Arduino与Python进行接口,并实现了一个简单的项目,用Python编程语言控制Arduino。
(adsense1)
Arduino是围绕AVR微控制器构建的最强大的开源电子原型平台之一。另一方面,Python是使用最广泛的开源高级编程语言之一。
Arduino和Python的结合将为广泛的想法、项目和组合打开大门。其中一个应用就是物联网(IoT),它需要串行通信接口、图形用户界面、web界面、数据存储和许多其他功能。
Python拥有大量开源且易于使用的库,这使得Python编程语言成为物联网应用最适合的语言。
在这里,在这个项目中,我们将看到如何在您的计算机上安装Python IDE,以及如何使用Python编程语言控制Arduino。
下载Python
第一步是从官方网站下载Python IDE。本项目中提到的安装过程和步骤仅适用于Windows 7操作系统(可能与Windows 10类似)。Python在其他操作系统(如MAC OS和Linux)上的设置过程将有所不同。
Python可从Python官方网站下载。在下载Python IDE之前,我们必须知道Python有两个变体:Python v2和Python v3。Python v3是Python的未来版本,目前仍处于开发阶段。
(adsense2)
另一方面,Python v2是一个遗留版本,拥有巨大的库支持、社区和论坛。所以,我们将下载Python v2。X (X是最新版本)。
而且,大多数库都是为32位版本的Windows编译的。因此,即使您的系统是64位的,我们也建议安装32位版本的Python v2。
在实现这个项目时,Python的最新版本是Python 2.7.14。您可以下载32位版本的Python 2.7.14从这个链接。
在计算机上安装Python
下载安装文件后,双击它继续安装。选择“Install for all users”,然后单击下一步。不要更改默认安装目录,即“C:\Python27\”,然后单击下一步。
接下来,在自定义Python 2.7.14区域选择“添加Python .exe到路径”选项。这将自动将Python目录添加到Windows系统路径。如果跳过此步骤,可以手动将目录添加到路径中。继续并完成安装。
Python已成功安装在您的计算机上。如果您已经设置了系统路径(手动或在安装路径时设置),您可以检查Python是否安装成功。
为此,以管理员权限运行命令提示符并输入“python”。如果python成功安装在您的计算机上,您将得到对应于python版本和安装类型(32位版本)的响应。
此时,您可以通过在Windows 7的开始菜单中搜索“Python”开始使用Python IDE。你会得到IDLE (Python GUI)选项。IDLE是集成开发和学习环境的缩写,是一种基于GUI的Python IDE。
选择它将打开Python Shell,让你以交互模式使用Python解释器,即你可以输入命令并立即看到结果。例如,可以像这样执行简单的数学运算。
得到pySerial
为了通过Python访问计算机的串口,我们需要一个名为pySerial的库。pySerial是一个Python串口扩展,为运行在Windows、Linux、Mac OS (OSX)等不同操作系统上的Python提供对串口的访问。
在我们的项目中,我们将使用pySerial通过Python向Arduino读写数据。以便下载pySerial,使用附带的链接。
此链接将下载.tar扩展文件中的pySerial-3.4(实现此项目时的最新版本)。
解压文件的内容到任何文件夹,如" C:\pyserial-3.4 "。
注意:位置很重要,因为我们必须导航到这个位置并安装pySerial。
现在,以管理员权限运行Windows命令提示符,并导航到pySerial解压缩到的文件夹。(在我的情况下,我已经提取它到C:\pyserial-3.4)。
为了安装pySerial,在命令提示符中输入以下命令并按enter键。
成功安装pySerial之后,可以通过在Python IDLE中输入以下命令来检查它是否集成到Python中。
如果一切正常,您将不会得到任何错误。
Arduino与Python的接口
现在我们已经成功安装了Python和pySerial,我们将继续Arduino与Python的接口。为此,我们将使用Python控制Arduino上的板载LED,即我们将使用Python编程语言和IDE切换Arduino的板载LED。
为此,我们首先为Arduino编写一个简单的程序。该程序背后的想法如下:Arduino UNO连接到计算机,检查串行数据,根据从串行端口接收的数据,它将打开或关闭LED。
的Arduino程序下面是Arduino与python的接口。
Arduino代码
如果你看一下代码,它是非常直接的。Arduino将从串口读取数据,如果数据为1,它将打开LED,如果数据为0,它将关闭LED。
现在,我们来看看Python代码。首先,打开Python IDLE并通过单击file - - > new file创建一个新文件。这将打开一个空文本编辑器。
Python代码
开始在编辑器中编写代码(从上面的代码中复制并粘贴它),完成后使用file - - > save或Ctrl+s保存文件。这将要求您为文件输入一个名称。给出一个合适的名称,并将文件保存在一个方便的位置。
Python程序的扩展名是" .py "。这将在您保存文件时自动分配给该文件。
注意:在Python中,指令分组是非常重要的。更多信息请参考Python初学者教程。伟德老虎机手机版
保存文件后,我们可以通过在编辑器窗口中选择run - - > run Module来运行文件。
用Python控制Arduino
将Arduino代码上传到Arduino UNO。注意它所连接的COM端口。同样的COM端口号应该在Python代码中给出。
将代码上传到Arduino后,启动Python程序。Python Shell将被打开,并显示“连接已建立”和“输入1 to ON LED和0 to OFF LED”的消息。
您可以在Python Shell中输入1或0,Arduino上的LED会相应地打开或关闭。
在这个项目中,我们已经看到了如何安装Python,如何将Arduino与Python连接,如何用Python控制Arduino上的LED。
12的反应
非常感谢!你的教程很容易理解。
谢谢你!这对我帮助很大。
非常棒的教程,让你开始。谢谢你的工作!!
如何获取arduino代码和python代码?
为什么我不能运行模块,它说“无效语法”
我还得到了Arduino_Serial的无效语法
非常棒的教程,谢谢你的帮助。
为什么它在运行模块.....时显示“无效的systax”请给出解决方案…
为什么我不能运行模块
为什么在arduino uno和python之间建立连接需要很多时间
如果我必须切换pin说pin 3在高和低..我如何使python命令arduino工作在pin3 ..请用一些不那么通用的例子
太棒了