Data is exchanged with global context variable arrays.
Array index is equal input number for easy handling.
This node works on Raspberry Pi with 32bit or 64bit OS.
Input voltage more than VCC can damage adc input.
The output value is mV or adc raw data.
Works also on Raspberry Pi 5
Enable I2C with raspi-config.
If other type then mcp3424 used, set correct parameter (see table below).
If you use i2c-0 port add dtparam=i2c_vc=on
to /boot/config.txt,
then Pin27=SDA, Pin28=SCK.
For other ports add this to /boot/config.txt.
Array Index
Input
Array-Index
CH1
0
CH2
1
CH3
2
CH4
3
Address Pin Connection
I2C Address
ADR0 Pin
ADR1 Pin
68H
Open
Open
68H
GND
GND
69H
GND
Open
6AH
GND
VCC
6BH
VCC
GND
6CH
VCC
Open
6DH
VCC
VCC
6EH
Open
GND
6FH
Open
VCC
Supported Devices
Type
# Channel
Max. Resol.
Address-Range
mcp3421
1
18bit
68H
mcp3422
2
18bit
68H
mcp3423
2
18bit
68H-6FH
mcp3424
4
18bit
68H-6FH
mcp3425
1
16bit
68H
mcp3426
2
16bit
68H
mcp3427
2
16bit
68H-6FH
mcp3428
4
16bit
68H-6FH
Example
This example reads temperature from sensor LM35 (DZ).
The temperature sensor LM35 (DZ) outputs voltage 10.0 mV/°C.
The sensor measures in the range of 2°..150°.
Therefore the output is 20mV..1500mV.
The module node mcp3424 is set for input CH1 and CH2 to Input-Range 2048mV.
Other adc inputs are disabled.
The redPlc calculate node divides adc value to 10.
The redPlc export nodes reads the analog variables and sends to Dashboard gauge.