arduinopython程序下载安装_Python arduino-python3包_程序模块 - PyPI - Python中文网

Arduino-Python3命令API

这个api是从最初的python-arduino-command-api派生而来的,以添加对python 3的支持。

Arduino-Python3命令API是用于

使用连接的计算机与Arduino微控制器板通信

标准串行IO,通过物理线路

或者无线的。它是使用自定义协议编写的,类似于firmata

这允许用户使用python代码为arduino快速创建程序原型,或者

简单的读取/控制/故障排除/实验

硬件连接到Arduino板而无需重新编译草图并将其重新加载到板本身。

Arduino-Python3命令API中的方法名设计为

尽可能与Arduino编程语言对应

简单使用示例(LED闪烁)#!/usr/bin/env python"""Blinks an LED on digital pin 13in 1 second intervals"""fromArduinoimportArduinoimporttimeboard=Arduino()# plugged in via USB, serial com at rate 115200board.pinMode(13,"OUTPUT")whileTrue:board.digitalWrite(13,"LOW")time.sleep(1)board.digitalWrite(13,"HIGH")time.sleep(1)

要求:python3.7在windows和macos上测试。

pyserial2.6或更高版本

任何具有至少14KB闪存的Arduino兼容微控制器

安装:

从命令行运行pip install arduino-python3或从源目录运行python setup.py build install以安装此库。

设置:验证Arduino板是否以

setup()prototype.ino中的函数(第407行)。如有必要,请在那里更改。

使用Arduino IDE将prototype.ino草图加载到Arduino板上。

在Arduino板和计算机之间建立某种串行I/O通信(通过物理USB电缆,

蓝牙、XBEE等+相关驱动程序)

将Arduino中的导入Arduino添加到Python脚本中以与Arduino通信

有关示例的集合,请参见examples.py。此文件包含复制

许多Arduino演示草图的功能。

测试:

tests目录包含库的一些基本测试。对于每个版本来说,广泛的代码覆盖率都有点难以预期,因为一个积极的测试实际上涉及到

连接并发出命令到实时Arduino,托管任何硬件

测试特定功能所必需的。但基本沟通测试的核心

在合并到master分支之前,至少应在此处维护并使用它。

安装后,可以从源目录运行交互式测试:$ python tests/test_main.py

可以使用以下命令从源目录运行自动测试:$ python tests/test_arduino.py

课程arduino(波特)-设置与当前连接并通电的通信

Arduino.board=Arduino("115200")#Example

将自动检测连接的Arduino的设备名/COM端口。

如果有多个Arduino板连接,

所需的COM端口也可以作为可选参数传递:board=Arduino("115200",port="COM3")#Windows exampleboard=Arduino("115200",port="/dev/tty.usbmodemfa141")#OSX example

读取Arduino的超时也可以指定为可选

参数:board=Arduino("115200",timeout=2)#Serial reading functions will#wait for no more than 2 seconds

方法

数字I/Oarduino.digitalwrite(管脚号,状态)打开/关闭数字管脚

arduino.digital read(管脚号)数字管脚的读取状态#Digital read / write exampleboard.digitalWrite(13,"HIGH")#Set digital pin 13 voltagestate_1=board.digitalRead(13)#Will return integer 1board.digitalWrite(13,"LOW")#Set digital pin 13 voltagestate_2=board.digitalRead(13)#Will return integer 0arduino.pin mode(pin_编号,i o_模式)设置pin i/o模式

arduino.pulsein(管脚号,状态)测量脉冲

arduino.pulsein_set(管脚号,状态)通过预处理测量脉冲>#Digital mode / pulse exampleboard.pinMode(7,"INPUT")#Set digital pin 7 mode to INPUTduration=board.pulseIn(7,"HIGH")#Return pulse width measurement on pin 7

模拟I/Oarduino.AnalogRead(针数)返回模拟值

arduino.AnalogWrite(管脚号,值)设置模拟值#!/usr/bin/env python"""Blinks an LED on digital pin 13in 1 second intervals"""fromArduinoimportArduinoimporttimeboard=Arduino()# plugged in via USB, serial com at rate 115200board.pinMode(13,"OUTPUT")whileTrue:board.digitalWrite(13,"LOW")time.sleep(1)board.digitalWrite(13,"HIGH")time.sleep(1)0

移位寄存器arduino.shift in(数据针、时钟针、位序)移入一个字节并返回它

arduino.shift out(数据管脚、时钟管脚、位序、值)将给定字节移出

位顺序应为"msbFirst"或"lsbFirst"

伺服库功能

最多可支持8个伺服系统。arduino.servos.attach(pin,min=544,max=2400)创建伺服实例。一次只能使用8个伺服系统。

arduino.servos.read(pin)返回连接到指定pin的伺服角度

arduino.servos.write(针,角度)将针上的附加伺服移动到指定角度

arduino.servos.write microseconds(pin,us)在指定的pin上以微秒为单位向伺服写入值

arduino.servos.detach(销)分离指定销上的伺服#!/usr/bin/env python"""Blinks an LED on digital pin 13in 1 second intervals"""fromArduinoimportArduinoimporttimeboard=Arduino()# plugged in via USB, serial com at rate 115200board.pinMode(13,"OUTPUT")whileTrue:board.digitalWrite(13,"LOW")time.sleep(1)board.digitalWrite(13,"HIGH")time.sleep(1)1

软件串行功能arduino.softwarserial.begin(ss_rxpin,ss_txpin,ss_device_baud)初始化软件串行设备

指定的管脚。

一次只能使用一个软件串行设备。现有的软件串行实例将

在python和arduino板上调用此方法将被覆盖。

arduino.softwareserial.write(data)使用arduino"write"功能将数据发送到现有软件

串行连接。

arduino.softwarserial.read()从现有软件串行连接返回一个字节#!/usr/bin/env python"""Blinks an LED on digital pin 13in 1 second intervals"""fromArduinoimportArduinoimporttimeboard=Arduino()# plugged in via USB, serial com at rate 115200board.pinMode(13,"OUTPUT")whileTrue:board.digitalWrite(13,"LOW")time.sleep(1)board.digitalWrite(13,"HIGH")time.sleep(1)2

EEPROMarduino.eeprom.read(address)从eeprom读取一个字节

arduino.eeprom.write(地址、值)向eeprom写入一个字节

arduino.eeprom.size()返回EEPROM的大小#!/usr/bin/env python"""Blinks an LED on digital pin 13in 1 second intervals"""fromArduinoimportArduinoimporttimeboard=Arduino()# plugged in via USB, serial com at rate 115200board.pinMode(13,"OUTPUT")whileTrue:board.digitalWrite(13,"LOW")time.sleep(1)board.digitalWrite(13,"HIGH")time.sleep(1)3

其他arduino.close()关闭到arduino的串行连接。

待办事项列表:展开软件串行功能(print()和println())

添加简单的重置功能,将所有管脚值归零

增加I2C/TWI功能支持(arduinowire.h命令)

包含一个向导,该向导使用选定的串行波特率和Arduino功能支持生成"prototype.ino"

(帮助减少内存需求)。

对Arduino Mega的多串行支持(serial1.read()等)

欢迎加入QQ群-->: 979659372

推荐PyPI第三方库

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值