Need M-Duino digital I/O help

I have an M-Duino 58, and am trying to implement a simple program for digital I/O, but it isn’t working.

For example, to read I0.0, I think I would use this fragment of code:

const int I00 = 22;    // Digital IN
pinMode( I00, INPUT );
…
Serial.print( digitalRead( I00 )) ;

Pin I0.0 is an isolated digital input. I have connected 12V to I0.0, and grounded its adjacent pin. I see the red LED labeled “0.0” on the top of the module light up, making me believe that I have provided a proper high input, but digitalRead(I00) always gives me a zero.

Is my hardware faulty, or am I missing some code?

I have connected 12V to I0.0

What the heck is an M-duino, and does it really accept 12V inputs?

What does "grounded it's adjacent pin" mean? How is that supposed to get current from the IO 0 pin anywhere?

I had a quick look at the M-Duino 58 manual online. Aren't the digital inputs 24v?

The M-Duino 58 is an industrialized Mega 2560 with Ethernet sold on industrialshields.com This device provides a bunch of isolated inputs that require two pins to connect each input: one is the isolated ground, the other is the signal input which can be anywhere in the range of 5V to 24V for a logic 1, or Arduino HIGH.

The "adjacent input" that I referred to is the ground pin input associated with the isolated input.

I think the hardware is broken. It uses on a 24VDC input, and supposedly regulates down to its internal required operating voltages. There are connectors that I think should be outputting 5VDC and 7VDC, but they don't. Injecting external 5VDC into the supposed 5VDC output fixes the digitalRead problem. I think the internal regulator is broken.

Solved the problem. It turned out to be a broken solder joint on the 24V to 5V power supply board inside the unit.

The Arduino was running because it was getting power from the USB serial connection, but all of the circuitry depending on the internal 5V supply, such as the opto-isolation circuitry, was dead.

Warning to other M-Duino users: The broken solder joint was caused by a mechanical design flaw wherein a plastic standoff and the capacitor were trying to occupy the same space.