@@ -6,15 +6,15 @@ Note, the EdgePi ADC can be used with two different sampling modes: pulse conver
66
77### Reading Voltage from Analog Input Pin: Pulse Conversion Mode
88In pulse conversion mode, a sampling event must be manually triggered. This can be achieved as follows.
9- ```
10- from edgepi.dac .edgepi_adc import EdgePiADC
11- from edgepi.adc.adc_constants import ADCChannel , ConvMode
9+ ``` python
10+ from edgepi.adc .edgepi_adc import EdgePiADC
11+ from edgepi.adc.adc_constants import AnalogIn , ConvMode, ADC1DataRate
1212
1313# initialize ADC
1414edgepi_adc = EdgePiADC()
1515
16- # configure ADC to sample input pin 4 ( the input pins are 0-indexed )
17- edgepi_adc.set_config(adc_1_analog_in=ADCChannel.AIN3 , conversion_mode=ConvMode.PULSE)
16+ # configure ADC to sample A-IN 1 (Refer to the EdgePi label for details )
17+ edgepi_adc.set_config(adc_1_analog_in = AnalogIn. AIN1 , conversion_mode = ConvMode.PULSE , adc_1_data_rate = ADC1DataRate. SPS_38400 )
1818
1919# trigger sampling event
2020out = edgepi_adc.single_sample()
@@ -25,28 +25,102 @@ print(out)
2525In continuous conversion mode, sampling events occur automatically. However, after configuring the ADC
2626to perform continuous conversion, the user must send a command to start the conversions, and
2727sampling data must also be manually by the user.
28+ ``` python
29+ from edgepi.adc.edgepi_adc import EdgePiADC
30+ from edgepi.adc.adc_constants import AnalogIn, ConvMode, ADCNum, ADC1DataRate
31+
32+ # initialize ADC
33+ edgepi_adc = EdgePiADC()
34+
35+ # configure ADC to sample A-IN 1 (Refer to the EdgePi label for details)
36+ edgepi_adc.set_config(adc_1_analog_in = AnalogIn.AIN1 , conversion_mode = ConvMode.CONTINUOUS , adc_1_data_rate = ADC1DataRate.SPS_38400 )
37+
38+ # send command to start automatic conversions
39+ edgepi_adc.start_conversions(ADCNum.ADC_1 )
40+
41+ # perform 10 voltage reads
42+ for _ in range (10 ):
43+ out = edgepi_adc.read_voltage(ADCNum.ADC_1 )
44+ print (out)
45+
46+ # stop automatic conversions
47+ edgepi_adc.stop_conversions(ADCNum.ADC_1 )
2848```
29- from edgepi.dac.edgepi_adc import EdgePiADC
30- from edgepi.adc.adc_constants import ADCChannel, ConvMode
49+ ### Reading Voltage from Analog Input Pin: Continuous Conversion Mode and Differential
50+ ``` python
51+ from edgepi.adc.edgepi_adc import EdgePiADC
52+ from edgepi.adc.adc_constants import AnalogIn, ConvMode, ADCNum, ADC1DataRate, DiffMode
3153
3254# initialize ADC
3355edgepi_adc = EdgePiADC()
3456
35- # configure ADC to sample input pin 4 (the input pins are 0-indexed)
36- edgepi_adc.set_config(adc_1_analog_in=ADCChannel.AIN3, conversion_mode=ConvMode.CONTINUOUS)
57+ # configure ADC to sample A-IN 1 (Refer to the EdgePi label for details)
58+ edgepi_adc.set_config(adc_1_analog_in = AnalogIn.AIN1 , conversion_mode = ConvMode.CONTINUOUS , adc_1_data_rate = ADC1DataRate.SPS_38400 )
59+ # Configure inputs to differential between A/DIN5 and A/DIN6
60+ edgepi_adc.select_differential(ADCNum.ADC_1 ,DiffMode.DIFF_3 )
3761
3862# send command to start automatic conversions
39- edgepi_adc.start_conversions()
63+ edgepi_adc.start_conversions(ADCNum. ADC_1 )
4064
4165# perform 10 voltage reads
4266for _ in range (10 ):
43- out = edgepi_adc.read_voltage()
67+ out = edgepi_adc.read_voltage(ADCNum. ADC_1 )
4468 print (out)
4569
4670# stop automatic conversions
47- edgepi_adc.stop_conversions()
71+ edgepi_adc.stop_conversions(ADCNum. ADC_1 )
4872```
4973___
74+
75+ ### Reading RTD Measurements: Pulse Conversion Mode
76+ Input 4-8 can be configured to read three-leaded RTD sensor.
77+ ``` python
78+ from edgepi.adc.edgepi_adc import EdgePiADC
79+ from edgepi.adc.adc_constants import AnalogIn, ConvMode, ADCNum
80+
81+ # initialize ADC
82+ edgepi_adc = EdgePiADC()
83+
84+ edgepi_adc.set_config(conversion_mode = ConvMode.PULSE )
85+ # Both ADC_1 and ADC_2 are available but only one of them is used at a time. It uses ADC_2 by default
86+ edgepi_adc.set_rtd(True , ADCNum.ADC_2 )
87+
88+ # trigger sampling event
89+ edgepi_adc.single_sample_rtd()
90+
91+ # Disable RTD
92+ edgepi_adc.set_rtd(False , ADCNum.ADC_2 )
93+
94+ ```
95+ ### Reading RTD Measurements: Continuous Conversion Mode
96+ Input 4-8 can be configured to read three-leaded RTD sensor.
97+ ``` python
98+ from edgepi.adc.edgepi_adc import EdgePiADC
99+ from edgepi.adc.adc_constants import AnalogIn, ConvMode, ADCNum
100+
101+ # initialize ADC
102+ edgepi_adc = EdgePiADC()
103+
104+ edgepi_adc.set_config(conversion_mode = ConvMode.CONTINUOUS )
105+ # Both ADC_1 and ADC_2 are available but only one of them is used at a time
106+ edgepi_adc.set_rtd(True , ADCNum.ADC_2 )
107+
108+ # send command to start automatic conversions
109+ edgepi_adc.start_conversions(ADCNum.ADC_2 )
110+
111+ # perform 10 voltage reads
112+ for _ in range (10 ):
113+ out = edgepi_adc.read_rtd_temperature()
114+ print (out)
115+
116+ # stop automatic conversions
117+ edgepi_adc.stop_conversions(ADCNum.ADC_2 )
118+ # Disable RTD
119+ edgepi_adc.set_rtd(False , ADCNum.ADC_2 )
120+
121+ ```
122+ ___
123+
50124## Using ADC Module
51125This section introduces ADC functionality available to users.
52126
0 commit comments