This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
cp-io22:index [2018/12/20 14:44] COMFILE Technology [C# Control Example] |
cp-io22:index [2023/06/14 13:28] (current) COMFILE Technology [CP-IO22 - IO Board Accessory for the ComfilePi 40 pin header] |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ~~META: | ||
+ | title = CP-IO22 - IO Board Accessory for the ComfielPi 40 pin header | ||
+ | ~~ | ||
+ | |||
+ | {{htmlmetatags> | ||
+ | metatag-description=(The CP-IO22 is an IO board accessory for the ComfilePi A & B Series Panel PCs (CPi-A & CPi-B) consisting of 22 IO (11 inputs, 11 outputs) screw terminals, and corresponding indicator LEDs.) | ||
+ | metatag-keywords=(ComfilePi, Raspberry Pi, IO) | ||
+ | }} | ||
+ | |||
+ | ====== 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 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 cannot be mounted on CPi-C070WR4C. | ||
+ | |||
+ | [[../Product warning|Warnings and Precautions]] | ||
+ | |||
+ | |||
+ | {{ :cp-io22:cp-io22.png?nolink |}} | ||
+ | |||
+ | [[http://comfiletech.com/new-products/cp-io22-io-board-accessory-for-the-comfilepi/|Buy]] | ||
+ | |||
+ | {{ :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]]. | ||
+ | |||
+ | {{ :cp-io22:cp-io22.mp4?700x400 |}} | ||
+ | |||
+ | {{ :cp-io22:comfilepi-gpio-example.zip |Download Source Code}} | ||
+ | |||
+ | This example PInvoke's the pigpio library. For more information see the [[https://docs.microsoft.com/en-us/cpp/dotnet/how-to-call-native-dlls-from-managed-code-using-pinvoke|PInvoke documentation]] and the [[http://abyz.me.uk/rpi/pigpio/pdif2.html|pigpiod C interface documentation]] | ||
+ | |||
+ | .NET Core drivers can be found at the [[https://docs.microsoft.com/en-us/dotnet/api/?view=iot-dotnet-1.1|.NET IoT Libraries API Reference]]. | ||
+ | |||
+ | ===== 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: | ||
+ | |||
+ | <code Python> | ||
+ | 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() | ||
+ | </code> | ||
+ | ===== 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 | ||
+ | |||
+ | {{ :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 | ||
+ | |||
+ | {{ :cp-io22:cp-io22-circuit.png |}} | ||
+ | |||
+ | ==== Inputs ==== | ||
+ | |||
+ | * 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.org/documentation/configuration/config-txt/gpio.md|GPIO control in config.txt]] for more information. | ||
+ | |||
+ | <code> | ||
+ | gpio=4-13=ip | ||
+ | gpio=16=ip | ||
+ | gpio=17-27=op,np,dl | ||
+ | </code> | ||
+ | |||
+ | [[:index|COMFILE Technology's Documentation Library]] | ||
+ | |||