HETPRO, rele8ch-i2c-rasp-v1
$850.00
Puntos de recompensa: 26 puntos
rele8ch-i2c-rasp-v1
5 disponibles
+

El shield 8 relevadores es controlado por el circuito MCP23017 por lo cual solo son necesarios 2 pines de la Raspberry para poder controlar las 8 salidas a relevador y los 8 pines bidireccionales extras (header no soldado). Este módulo es compatible prácticamente con cualquier versión de la Raspberry que sea compatible con el MCP23017 y al menos que tenga la misma ubicación de pines de la Raspberry PI 4 de 4GB con la cual fue probado.

Especificaciones

  • Alimentación: 5V.
  • Corriente de operación: 1A.
  • Relevador:  SRD-03VDC-SL-C. Hasta 10A a 250VAC. 
  • Controlador: MCP23017-E/SS.
  • Tipo de control: digital por I2C.
  • Dirección default: 0x27.
  • Dimensión de PCB: 10x10cm.
  • Consumo de corriente: 1A.

Alimentación del shield

No alimentar al shield por el USB-C o la terminal tornillo, a menos que se quite el jumper SJ1. La tarjeta es alimentada a 5Vdc y puede ser obtenida de la misma alimentación de la Raspberry. Adicionalmente se puede conectar una alimentación externa mediante un puerto USB-C o a traves del conector terminal tornillo de color naranja. Para poder alimentar a la tarjeta de la propia fuente de la Raspberry se deben de tomar en cuenta los siguientes aspectos:

  • Se debe soldar el jumper SJ1.
  • La fuente de alimentación tiene que ser la original, la cual puede proporcionar hasta 3A de corriente. 
  • Si la alimentación es mediante el conector USB-C del shield o su terminal tornillo de 2 posiciones, la alimentación pasa por un fusible de 3A autoreseteable.

Jumpers

La condición de los jumpers soldados tendrían la siguiente función: 


Nombre

Descripción

SJ1

Permite alimentar al shield desde el pin de 5V de la Raspberry. Su condición inicial es soldado.

SJ2

Pin de dirección A2, si se suelda el pin se aterriza a GND.

SJ3

Pin de dirección A1, si se suelda el pin se aterriza a GND.

SJ4

Pin de dirección A0, si se suelda el pin se aterriza a GND.

SJ5

El pin de reset del MCP23017 se conecta al pin 7 de la Raspberry, denominado también pin 4 digital. 

SJ6

El pin de INTA del MCP23017 se conecta al pin 11 de la Raspberry, denominado también pin 17 digital.


Codigo de ejemplo para la Raspberry pi 4 y la libreria wiringPi.

https://gist.github.com/esmarr58/543e6a9e0850d65017e3f230a06ced0b 


/*
 *
 Ejemplo en c++ para el uso del MCP23017 con un shield de relevadores 8ch para la Raspberry PI 4
 Ruben Estrada Marmolejo. ruben.estrada@hetpro.com.mx
 https://hetpro-store.com/shield-relevadores-10a-para-raspberry/ 
 * Original: http://wiringpi.com/extensions/i2c-mcp23008-mcp23017/
 * Para compilar: g++ -W -o mcp23017 mcp23017.cpp -lwiringPi
 * Para ejecutar: ./mcp23017


 */


#include "iostream"
#include 
#include 

#define B0 108
#define B1 109
#define B2 110
#define B3 111
#define B4 112
#define B5 113
#define B6 114
#define B7 115

#define MCP23017_INICIO 100
#define MCP23017_DIRECCION 0X27

using namespace std;

int main (void)
{


 wiringPiSetup () ;
 mcp23017Setup (MCP23017_INICIO, MCP23017_DIRECCION) ;
 pinMode(B0, OUTPUT);
 pinMode(B1, OUTPUT);
 pinMode(B2, OUTPUT);
 pinMode(B3, OUTPUT);
 pinMode(B4, OUTPUT);
 pinMode(B5, OUTPUT);
 pinMode(B6, OUTPUT);
 pinMode(B7, OUTPUT);
 
 //Limpiar las se;ales de salida.
 digitalWrite(B0, 0);
 digitalWrite(B1, 0);
 digitalWrite(B2, 0);
 digitalWrite(B3, 0);
 digitalWrite(B4, 0);
 digitalWrite(B5, 0);
 digitalWrite(B6, 0);
 digitalWrite(B7, 0);
 
 for(;;){
 digitalWrite(B0, 1);
 delay(500);
 
 digitalWrite(B1, 1);
 delay(500);
 
 digitalWrite(B2, 1);
 delay(500);
 
 digitalWrite(B3, 1);
 delay(500);
 
 digitalWrite(B4, 1);
 delay(500);
 
 digitalWrite(B5, 1);
 delay(500);
 
 digitalWrite(B6, 1);
 delay(500);
 
 digitalWrite(B7, 1);
 delay(500);
 
 
 digitalWrite(B0, 0);
 digitalWrite(B1, 0);
 digitalWrite(B2, 0);
 digitalWrite(B3, 0);
 digitalWrite(B4, 0);
 digitalWrite(B5, 0);
 digitalWrite(B6, 0);
 digitalWrite(B7, 0);
 
 }
 
 return 0 ;
}