Pinout 6P6C

El diseño propuesto consiste en utilizar los conectores modulares de 6 posiciones (6P) tanto en sus versiones de 2, 4 o 6 contactos (6P2C, 6P4C, 6P6C) siendo los mas comunes los 6P2C y 6P4C por su uso en telefonía. En telefonía se usa el conector 6P4C en la norma RJ11/RJ14, y el 6P6C en la norma RJ12/RJ25.

El criterio seguido para el pinout es similar al usado para las normas RJ: se define el par central como el principal, los dos a los costados como el siguiente par, y los dos extremos como el último par. Se observaron los pinouts de sistemas similares como el conector de LEGO, y al igual que en el sistema de conectores RJ11 de MakeBlock, se encontró que para cubrir todas las posibilidades era necesario agregar un esquema de colores a los conectores. El pinout básico propuesto es el siguiente:

Se muestra el jack y el plug, ambos usando la numeración estándar para todos los conectores modulares. La idea es que los dos pines centrales son los principales: uno es masa y en el otro está presente un voltaje (en principio entre 0 y 5 Volts). Esto permite por ejemplo prender un led o recibir el voltaje de un sensor remoto (con alimentación propia) solo con 2 hilos y usando plugs 6P2C. Luego, si se quiere alimentar al sensor, es necesario agregar el pin con +5V, y en este caso, con 4 hilos y plugs 6P4C se pueden conectar los típicos sensores que tienen tres pines. El voltaje de alimentación se define fijo en +5V, por lo que dispositivos que requieran otros voltajes (como 3.3V) deberán resolverlo del lado del dispositivo, por ejemplo con reguladores como estos. El aprovechamiento completo de los 4 hilos del cable se daría para las comunicaciones I2C (verde) y SERIAL (amarillo) como se muestra a continuación:

Como vemos, el uso del pin 4 de diversas formas implica la necesidad de un esquema de colores externo, para que el usuario final sepa cuales elementos puede conectar con cuales puertos.

Finalmente, de disponer de cables de 6 hilos y plugs 6P6C, se introducen los pines extremos como pines accesorios: El pin1 para interrupciones hardware (fijo a P2 de Arduino) y el pin6 para una entrada/salida digital extra (fijo a P11 de Arduino con PWM). Además, en los casos en que se requiera un segundo pruerto serial, los pines 2 y 11 podrán usarse como RX y TX de la librería SoftwareSerial. En este caso, los pines 2 y 11 irían cableados de la siguiente forma: pin2 de Arduino al pin4 del 6P4C (RX) y pin11 de Arduino al pin5 del 6P4C (TX).

El detalle completo para los distintos tipos de comunicaciones que pueden encontrarse en placas con µControladores, queda de la forma indicada en la siguiente figura (I2C en color verde, SERIAL en amarillo y SPI en blanco). Para I2C y Serial se mantiene el pin1 como Int HWD y el pin6 (Extra DIO) como opcionales como en la figura anterior, y para SPI el pin6 debe ser el CLK y el pin1 podría ser el SS (Slave Select) o CS (Chip Select). Tanto el CLK como el SS podrían ser opcionales, podrían venir de la controladora, o generarse en el extremo sensor, o podrían venir de otro lugar.

El caso de las salidas analógicas AO es especial, pero siempre el pin4 será el que lleve hacia afuera el voltaje variable. Para el caso de los motores DC (puertos rojos) la salida AO del pin4 puede ir a mas o a menos de 5V (dependiendo de cual sea el regulador de voltaje colocado en la shield Motor), y el pin2 se encuentra sin conexión. En la configuración por defecto de la Motor, esa salida AO del pin4 podría variar entre +6V y -6V. En el caso de los servos (puertos marrones) el pin4 es una señal digital PWM con niveles TTL, y el pin2 es la alimentación del motor que no necesariamente coincide con 5V. En el caso de la shield Motor por el pin2 para servos hay una tensión de +6V. También podría plantearse una salida analógica genérica, usando las salidas PWM integrándolas con un capacitor electrolítico y amplificando para que la corriente sea tomada de la alimentación y no del pin.