Envío GRATIS en compras mayores a $699 MXN
Valido hasta el 20 de Abril del 2023
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 ;
}