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 using daqlist.
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 ID AD1 and channel ID 1. Set the measurement type to Voltage.
ch_in = addinput(dq, "AD1", "1", "Voltage");
Set DataAcquisition and Channel Properties
Set the acquisition rate to 300 kHz. The default range is -25 to 25 volts.
ch_in.Name = "AD1_1_in"
rate = 300e3;
dq.Rate = rate;
ch_in
ch_in =
Index Type Device Channel Measurement Type Range Name
_____ ____ ______ _______ ________________ __________________ __________
1 "ai" "AD1" "1" "Voltage (Diff)" "-25 to +25 Volts" "AD1_1_in"
Acquire a Single Sample
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)]);
