บทความนี้เราจะมาเรียนรู้ว่าเราจะควบคุม 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
