====== CP-IO22 - IO Board Accessory for the ComfilePi 40 pin header ======
The CP-IO22 is an IO board accessory for the [[comfilepi:index|ComfilePi]] consisting of 22 IO (11 inputs, 11 NPN outputs), screw terminals, and corresponding indicator LEDs. It can be mounted to the rear panel of the CPi-A/B/S series panel PCs.
This product is not compatible with the CPi-C series panel PCs.
If you need PNP outputs, please use the [[:cpio:cp-io22pnp:index|CP-IO22 PNP]].
{{ :cpio:cp-io22:cp-io22.png?nolink |}}
[[http://comfiletech.com/new-products/cp-io22-io-board-accessory-for-the-comfilepi/|Buy]]
{{ :cpio:cp-io22:cpio22k.png?nolink |}}
===== C#/VB.Net Control Example =====
The following is an example project illustrating how to program the CP-IO22 in C# or VB.Net using the [[:comfilepi:index#net_c_vbnet|Mono Framework]].
{{ :cpio:cp-io22:cp-io22.mp4?700x400 |}}
[[https://github.com/COMFILE-Technology/ComfileTech.ComfilePi.CP_IO22.Demo|Source Code]]
This example application uses the following .NET libraries to control the digital inputs and relays.
* [[https://www.nuget.org/packages/System.Device.Gpio/|System.Device.Gpio]]
===== Python Example =====
The pigpio library also has a [[https://abyz.me.uk/rpi/pigpio/python.html|Python interface]].
The following is an example illustrating digital inputs and outputs:
import pigpio
pi = pigpio.pi()
pi.set_mode(4, pigpio.INPUT)
pi.set_mode(17, pigpio.OUTPUT)
while True:
if pi.read(4):
pi.write(17, 1)
else:
pi.write(17, 0)
pi.stop()
===== Pin Map =====
The CP-IO22 pins are connected to the ComfilePi's GPIO header as shown below.
**Inputs:** GPIO 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16\\
**Outputs:** GPIO 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27
{{ :cpio:cp-io22:cp-io22-pinout.png |}}
===== Specifications and IO Circuitry =====
* Input Voltage: 5VDC (powered by ComfilePi's 5V pin)
* Current Rating: 400mA or more
* Humidity: 35 ~ 85% RH
* Temperature: -30 ~ 60 ℃
* Size: 128mm X 78mm
{{ :cpio:cp-io22:cp-io22-circuit.png |}}
==== Inputs ====
* Bipolar relative to COM x 11
* Voltage Range: 12 ~ 24V
* Absolute Min/Max Voltage Range: 3.3 ~ 28V
* Response Time: 5ms
* Input OFF Level: <1.8VDC
* Input ON Level: >2.5VDC
* Indicator LED OFF Level: <4.5V
* Indicator LED ON Level: >5.0V
==== Outputs ====
* DC Output Sink (NPN) x 11
* Maximum Output Voltage: 30VDC
* Response Time: 10ms
* Current: 150mA
===== Setting the Initial IO State =====
It may be necessary to modify the ComfilePi's initial GPIO output state to prevent the ComfilePi from turning the outputs ON when the ComfilePi boots.
Modify the ComfilePi's ///boot/config.txt// file with the following configuration to set the initial IO state. See [[https://www.raspberrypi.com/documentation/computers/config_txt.html#gpio-control|GPIO control in config.txt]] for more information.
gpio=4-13=ip
gpio=16=ip
gpio=17-27=op,np,dl
[[:index|COMFILE Technology's Documentation Library]]