Problema con Proyecto de Encendido de Luces por Relevador

Buen día, tengo un proyecto en arduino mega, pero estoy trabado en el código, lo que intento es encender la luz con un par de relevadores pero sucede que no he logrado encender los relevadores ni de uno en uno, mucho menos de varios a la vez. este es el código que intente en un inicio

/*
Programa de PIR

Desarollado el 20150509 

*/

const int PinSensor1 = 3;
const int PinLuz1 = 4;
const int PinVent1 = 5;
const int PinSensor2 = 6;
const int PinLuz2 = 7;
const int PinVent2 = 8;
const int PinSensor3 = 9;
const int PinLuz3 = 10;
const int PinVent3 = 11;
const int PinSensor4 = 14;
const int PinLuz4 = 15;
const int PinVent4 = 16;
const int PinSensor5 = 17;
const int PinLuz5 = 18;
const int PinVent5 = 19;

int estado1;
int estado2;
int estado3;
int estado4;
int estado5;
int tiempo = 500;
int ventilacion = 5000;

void setup() {
 pinMode (PinSensor1, INPUT);
 pinMode (PinSensor2, INPUT);
 pinMode (PinSensor3, INPUT);
 pinMode (PinSensor4, INPUT);
 pinMode (PinSensor5, INPUT);
 pinMode (PinLuz1, OUTPUT);
 pinMode (PinLuz2, OUTPUT);
 pinMode (PinLuz3, OUTPUT);
 pinMode (PinLuz4, OUTPUT);
 pinMode (PinLuz5, OUTPUT);
 pinMode (PinVent1, OUTPUT);
 pinMode (PinVent2, OUTPUT);
 pinMode (PinVent3, OUTPUT);
 pinMode (PinVent4, OUTPUT);
 pinMode (PinVent5, OUTPUT);
 digitalWrite(PinLuz1, HIGH);
 digitalWrite(PinVent1, HIGH);
 digitalWrite(PinLuz2, HIGH);
 digitalWrite(PinVent2, HIGH);
 digitalWrite(PinLuz3, HIGH);
 digitalWrite(PinVent3, HIGH);
 digitalWrite(PinLuz4, HIGH);
 digitalWrite(PinVent4, HIGH);
 digitalWrite(PinLuz5, HIGH);
 digitalWrite(PinVent5, HIGH);

}

void loop() {
  estado1 = digitalRead(PinSensor1);
  if(estado1 == HIGH) {
    digitalWrite(PinLuz1, HIGH);
    digitalWrite(PinVent1, HIGH);
  } else { 
    digitalWrite(PinLuz1, LOW);
    
    digitalWrite(PinVent1, LOW);
  }
  
  estado2 = digitalRead(PinSensor2);
  if(estado2 == HIGH) {
    digitalWrite(PinLuz2, HIGH);
    digitalWrite(PinVent2, HIGH);
  } else { 
    digitalWrite(PinLuz2, LOW);

    digitalWrite(PinVent2, LOW);
  }
  
  estado3 = digitalRead(PinSensor3);
  if(estado3 == HIGH) {
    digitalWrite(PinLuz3, HIGH);
    digitalWrite(PinVent3, HIGH);
  } else { 
    digitalWrite(PinLuz3, LOW);

    digitalWrite(PinVent3, LOW);
  }
  estado4 = digitalRead(PinSensor4);
  if(estado4 == HIGH) {
    digitalWrite(PinLuz4, HIGH);
    digitalWrite(PinVent4, HIGH);
  } else { 
    digitalWrite(PinLuz4, LOW);
   
    digitalWrite(PinVent4, LOW);
  }
  
  estado5 = digitalRead(PinSensor5);
  if(estado5 == HIGH) {
    digitalWrite(PinLuz5, HIGH);
    digitalWrite(PinVent5, HIGH);
  } else { 
    digitalWrite(PinLuz5, LOW);

    digitalWrite(PinVent5, LOW);
  }
}

tengo el siguiente material para realizarlo:

Sensor PIR D-Sun Par de Relevadores de 5V SRD-05VDC-SL-C Arduino Mega 2560

tengo alimentados los sensores y los relevadores a una fuente de 5V a 1 Amp y el arduino a una fuente de 12V a 1.5Amp.

las entradas del relevador estan directas a la placa arduino, el problema es que cuando conecto solo un sensor y un solo relevador trabajan bien y soporta hasta dos sensores y dos relevadores, pero cuando conecto el tercer par de dispositivos como que pierde potencia y los leds se ven con baja intensidad.

Podrían orientarme en que estoy fallando?

Muchas Gracias.

|500x257 Aca tenés un esquema de como conetar la carga.

|500x240

Así es, lo tengo conectado de la misma forma, pero la diferencia es que la alimentación la tengo externa, lo que sucede es que tengo todos los relevadores conectados a una fuente de 5V a 1 Amp y la señal de cada relevador la tengo conectada a las salidas digitales del arduino mega, pero pareciera que no es suficiente la corriente del arduino para activar cada uno de los relevadores cuando sea necesario, en lugar de ello el led indicador del arduino enciende muy tenue.

crees que tenga algún problema con el codigo?

Si entiendo bien e interpretando el código, los relevadores están conectados uno a cada pin digital y cuando intentas activar un tercer relevador en forma simultanea ya no se activa y los led de señal se atenúan en brillo ... si?

si es eso, entonces probablemente las puertas de arduino efectivamente no están siendo capaces de entregar la corriente necesaria para activar todos los relevadores en forma simultanea. Una solución sencilla es incorporar transistores en modo switching (2N2222 por ejemplo) a la salida de cada puerta para activar los relevadores. Los transistores los polarizas con la misma fuente de alimentación de 12V o de 5V (depende del voltaje de señal que requieren los relevadores).

checo0225: Conectaste todas las tierras? como manejas el relé? usas un módulo, transistor, mosfet?

Saludos