首页 > 编程语言 >python系列006

python系列006

时间:2023-04-06 17:44:51浏览次数:49  
标签:系列 python whoisPower startVoltage 006 device import endVoltage voltage

  1. 先使用一个文件控制设备
import time
# import pyvisa
from pimi import PiDevice

device = PiDevice("ASRL3::INSTR")   #创建实例,并手动写入地址参数,可以借助NI Max读取
whoisPower = device.PiPower()       #调用类中的方法,电源地址

# Send a command to the instrument
# setnum = 1
for setnum in range(5):
    setnum += setnum
    numadd = 1 + setnum / 10
    # whoisPower.write(':VSET1:1')  #
    whoisPower.write(f'VSET1:{numadd}')         #设置电压输出
    # whoisPower.write(f'ISET1:{numadd}')         #设置电流输出
    time.sleep(1)
  1. 变量名不直观,修改下吧
    改进,由于range()不支持float,所以可以放缩处理
import time
# import pyvisa
from pimi import PiDevice

device = PiDevice("ASRL3::INSTR")   #创建实例,并手动写入地址参数,可以借助NI Max读取
whoisPower = device.PiPower()       #调用类中的方法,电源地址

startVoltage = 10
endVoltage = 19
# Send a command to the instrument
for voltage in range(startVoltage, endVoltage, 1):
    voltage = voltage / 10
    whoisPower.write(f'VSET1:{voltage}')         #设置电压输出
    time.sleep(1)
  1. 进一步优化
    可以使用numpy模块生成指定步长的电压序列值,numpy.arange()函数用于在起始值和结束值之间以步长生成序列。
import time
import numpy as np
# import pyvisa
from pimi import PiDevice

device = PiDevice("ASRL3::INSTR")   #创建实例,并手动写入地址参数,可以借助NI Max读取
whoisPower = device.PiPower()       #调用类中的方法,电源地址

startVoltage = 1.0
endVoltage = 1.8
stepSize = 0.1
# Send a command to the instrument
for voltage in np.arange(startVoltage, endVoltage, stepSize):
    # voltage = voltage / 10
    whoisPower.write(f'VSET1:{voltage}')         #设置电压输出
    time.sleep(1)
  1. 使用一个函数,传递这3个值
device = PiDevice("ASRL3::INSTR")   #创建实例,并手动写入地址参数,可以借助NI Max读取
whoisPower = device.PiPower()       #调用类中的方法,电源地址

def set_voltage(startVoltage, endVoltage, stepSize):
    # Send a command to the instrument
    for voltage in np.arange(startVoltage, endVoltage, stepSize):
        # voltage = voltage / 10
        whoisPower.write(f'VSET1:{voltage}')         #设置电压输出
        time.sleep(2)

# startVoltage = float(input("Enter the starting voltage: "))
# endVoltage = float(input("Enter the ending voltage: "))
# stepSize = float(input("Enter the step size: "))
set_voltage(1.0, 2.0, 0.1)

标签:系列,python,whoisPower,startVoltage,006,device,import,endVoltage,voltage
From: https://www.cnblogs.com/zlib/p/17293574.html

相关文章

  • python中动态导入文件的方法
    1.简介在实际项目中,我们可能需要在执行代码的过程中动态导入包并执行包中的相应内容,通常情况下,我们可能会将所需导入的包及对象以字符串的形式传入,例如test.test.run,下面将介绍如何动态导入。假设存在如下包:其中test.py的内容如下:count=1defrun():print("run")......
  • 痞子衡嵌入式:利用i.MXRT1xxx系列ROM集成的DCD功能可轻松配置指定外设
    大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是利用i.MXRT1xxx系列ROM集成的DCD功能可轻松配置指定外设。关于i.MXRT1xxx系列芯片BootROM中集成的DCD功能这个话题,痞子衡早就想写了,但是一直没有动笔,毕竟这个话题比较生涩,单独讲会比较枯燥。最近痞......
  • opencv-python 4.12. 模板匹配
    理论模板匹配是一种在较大图像中搜索和查找模板图像位置的方法。为此,OpenCV附带了一个函数cv.matchTemplate()。它只是在输入图像上滑动模板图像(如在2D卷积中),并比较模板图像下的输入图像的模板和补丁。在OpenCV中实现了几种比较方法。它返回一个灰度图像,其中每个像素表示该像素的......
  • 通过python控制windows窗口的关闭和显示
    代码:importwin32gui,win32con,win32apiimportos,sys,reimportctypesimporttimedefshowWindow(hwnd):#展示窗口,以下几行代码都可以唤醒窗口win32gui.ShowWindow(hwnd,win32con.SW_SHOW)win32gui.ShowWindow(hwnd,win32con.SW_SHOWNA)win32gu......
  • python面向对象基础
    1.__str__def__str__(self):return'****'print对象时,打印的为__str__函数返回的值2.__del__()def__del__(self):#pass当删除对象时,将会自动调用__del__函数(删除对象:delobj)python继承:classA(B):pass其中A继承Bpython3+classA(object):pass任......
  • python3使用seaborn生成带有扰动点的分组箱型图
    不分组箱型图importjsonimportseabornassnsimportmatplotlib.pyplotaspltfig=plt.figure(figsize=(20,5))sns.set(style="darkgrid")xData=[]yData=[]zData=[]withopen('./files/1.txt',encoding='utf-8-sig')asf:......
  • python 打包及发布
    打包pythonsetup.pybdist_wheel需要进行C++编译,因此在执行上述命令之前请确保已经安装了【VisualStudio(Windows)】、【GCC(Linux)】、【XCode(Mac)】编译器。发布先安装一下twine:python-mpipinstalltwinetwineuploaddist/*这时候它会提示你输入pypi的账号密码没......
  • 20230406-python-yaml文件操作
               ......
  • python实现各种算法详解,以及时间复杂度
    python实现各种排序1.快速排序1:首先取序列第一个元素为基准元素pivot=R[low]。i=low,j=high。2:从后向前扫描,找小于等于pivot的数,如果找到,R[i]与R[j]交换,i++。3:从前往后扫描,找大于pivot的数,如果找到,R[i]与R[j]交换,j--。4:重复2~3,直到i=j,返回该位置mid=i,该位置正好为pivot......
  • golang pprof 监控系列(4) —— goroutine thread 统计原理
    golangpprof监控系列(4)——goroutinethread统计原理大家好,我是蓝胖子。在之前golangpprof监控系列文章里我分别介绍了gotrace以及gopprof工具对memory,block,mutex这些维度的统计原理,今天我们接着来介绍golangpprof工具对于goroutine和thread的统计原理。还记得在......