มกราคม 1, 2025

การควบคุม PicoScope ด้วย Python

บทความนี้เราจะมาเรียนรู้ว่าเราจะควบคุม PicoScope ด้วย Python ได้อย่างไร? ก่อนอื่นเราต้องทำการติดตั้ง Python เสียก่อน หลังจากนั้นจึงทำตามขั้นตอนดังต่อไปนี้

1. ดาวน์โหลดและติดตั้ง PicoSDK

2. ติดตั้ง pyPicoSDK ด้วยคำสั่ง pip install pypicosdk

3. หลังจากนั้นเราสามารถเริ่มต้นพัฒนาได้ง่าย ๆ โดย import pypicosdk as psdk

4. หลังจากนั้นเราจึงสร้างออบเจ็คท์สำหรับ PicoScope ที่เราต้องการใช้งานขึ้นมาแล้วทำการเชื่อมต่อ เช่น scope = psdk.ps6000a() แล้วตามด้วยคำสั่ง scope.openunit() ดังแสดงในตัวอย่างด้านล่าง โดยเมื่อใช้งานเสร็จแล้วสามารถปิดการเชื่อมต่อด้วยคำสั่ง scope.close_unit()

import pypicosdk as psdk
from matplotlib import pyplot as plt

samples = 5000
sample_rate_msps = 500

# Initialise PicoScope 6000
scope = psdk.ps6000a()
scope.open_unit()

# Setup siggen
scope.set_siggen(frequency=1_000_000, pk2pk=0.8, wave_type=psdk.WAVEFORM.SINE)

# Setup channels and trigger (inline arguments)
scope.set_channel(channel=psdk.CHANNEL.A, range=psdk.RANGE.V1)
scope.set_simple_trigger(channel=psdk.CHANNEL.A, threshold_mv=0)

timebase = scope.sample_rate_to_timebase(sample_rate=500, unit=psdk.SAMPLE_RATE.MSPS)
# or
# timebase = scope.interval_to_timebase(interval=20E-9, unit=psdk.TIME_UNIT.S)

# Run the block capture
channel_buffer, time_axis = scope.run_simple_block_capture(timebase, samples)

# Finish with PicoScope
scope.close_unit()

# Plot data to pyplot
plt.plot(time_axis, channel_buffer[psdk.CHANNEL.A])

# Add labels to pyplot
plt.xlabel(“Time (ns)”)
plt.ylabel(“Amplitude (mV)”)
plt.grid(True)
plt.show()

5. ทั้งนี้หากเราสามารถอ้างอิงเอกสารประกอบในการพัฒนาได้จาก pyPicoSDK Documentation

สำหรับท่านที่เคยใช้งาน picosdk-python-wrappers อาจจะสงสัยว่าทั้งสองไลบรารี่นั้นต่างกันอย่างไร picosdk-python-wrappers เป็นการแมพแต่ละฟังก์ชั่นในภาษาซีมาเป็นไพธอนโดยตรง ทำให้การพัฒนาค่อนข้างจะยุ่งยาก แต่ pyPicoSDK เป็นการแมพมาทั้งไลบรารี่แล้วสร้างฟังก์ชั่น helper ขึ้นมาเพื่อให้สามารถพัฒนาได้ในรูปแบบที่เหมาะสมกับ Python ดังแสดงในภาพด้านล่าง โดยปัจจุบัน pyPicoSDK รองรับ PicoScope ซีรี่ส์ 3000E และ 6000E และยังคงพัฒนาอย่างต่อเนื่องโดยสามารถติดตามการอัพเดทได้จาก pyPicoSDK Documentation สำหรับโครงการใหม่ ๆ ที่ใช้ PicoScope ซีรี่ส์ดังกล่าว เราแนะนำให้ใช้ pyPicoSDK จะเหมาะสมที่สุด

หวังว่าบทความข้างต้นจะช่วยให้ท่านสามารถใช้ Python เพื่อควบคุม PicoScope ได้อย่างเต็มประสิทธิภาพ ท่านสามารถติดต่อทีมงาน เทคสแควร์ เพื่อติดต่อสอบถามข้อมูลเพิ่มเติมเกี่ยวกับการใช้งาน PicoScope หรือผลิตภัณฑ์จาก Pico Technology ร่วมกับPython หรือภาษาโปรแกรมมิ่งอื่น ๆ

 

บทความที่เกี่ยวข้อง

การสตรีมสัญญาณต่อเนื่องด้วย PicoScope

การเลือกใช้ PicoScope

เริ่มต้นใช้งาน PicoScope ด้วยซอฟต์แวร์ PicoScope 7

การเลือกใช้งาน API ร่วมกับ PicoScope

error: Content is protected...