Main Content

Getting Started Acquiring Data with Digilent Analog Discovery

This example shows you how to acquire voltage data at a rate of 300 kHz. The input waveform is a sine wave (10 Hz, 2 Vpp) provided by an external function generator.

Create a DataAcquisition for a Digilent Device

Discover Digilent devices connected to your system usingdaqlist.

daqlist("digilent") dq = daq("digilent")
ans = 1×4 table DeviceID Description Model DeviceInfo ________ _____________________________________________ ____________________ _______________________ "AD1" "Digilent Inc. Analog Discovery 2 Kit Rev. C" "Analog Discovery 2" [1×1 daq.di.DeviceInfo] dq = DataAcquisition using Digilent Inc. hardware: Running: 0 Rate: 10000 NumScansAvailable: 0 NumScansAcquired: 0 NumScansQueued: 0 NumScansOutputByHardware: 0 RateLimit: [] Show channels Show properties and methods

Add an Analog Input Channel

Add an analog input channel with device IDAD1and channel ID1. Set the measurement type toVoltage.

ch_in = addinput(dq,"AD1","1","Voltage");

Set DataAcquisition and Channel Properties

Set the acquisition rate to 300 kHz and the dynamic range of the incoming signal to -2.5 to 2.5 volts.

ch_in.Name ="AD1_1_in"rate = 300e3; dq.Rate = rate; ch_in.Range = [-2.5 2.5];
ch_in = Index Type Device Channel Measurement Type Range Name _____ ____ ______ _______ ________________ __________________ __________ 1 "ai" "AD1" "1" "Voltage (Diff)" "-25 to +25 Volts" "AD1_1_in"

收购一个公司mple

Acquire a single scan on-demand, displaying the data and trigger time.

[singleReading, startTime] = read(dq)
singleReading = timetable Time AD1_1_in _____ ________ 0 sec -0.37211 startTime = datetime 21-Nov-2019 16:56:50.631

Acquire Timestamped Data

Acquire a set of clocked data for one second.

[data, startTime] = read(dq, seconds(1));

Plot Acquired Data

plot(data.Time, data.AD1_1_in); xlabel('Time (s)'); ylabel('Voltage (V)'); title(['Clocked Data Triggered on: 'datestr(startTime)]);