LOJA FÍSICA
Praça Mauá, 4541 - Sala 22
09580-050 - São Caetano do Sul / SP
CENTRAL DE ATENDIMENTO
(11) 3522-7626
info@robocore.net
HORÁRIO DE FUNCIONAMENTO
De segunda à sexta das 9:00 às 19:00
Sábado das 9:00 às 13:00
^ Retornar ao
topo

Módulo Relé Serial


Quantidade:
Formas de pagamento:
  • Pague em até 12x no cartão
  • Pague através do PayPal
  • Pague por Boleto Bancário

Precisando controlar diversos relés com seu Arduino, mas está sem muitos pinos para isso? Seus problemas acabaram! Este é o Módulo Relé Serial, um módulo pensado para quem precisa acionar diversas cargas, mas não dispõe de muitas portas. Com este módulo você consegue controlar os quatro relés da placa independentemente utilizando apenas dois pinos do microcontrolador. Através de uma comunicação serial você informa exatamente qual relé quer acionar.

Mas isso não é tudo: você ainda tem a possibilidade de adicionar mais módulos do mesmo modelo, um atrás do outro, a fim de acionar ainda mais relés usando as mesmas duas portas!

Atenção: Para usar este módulo com Arduino, este módulo deve obrigatoriamente estar alimentada com uma Fonte de 12V, pois os relés da mesma possuem bobina de 12V. Dessa forma, ao alimentar o Arduino com uma fonte de 12V, utilize o pino Vin da placa para sair com 12V para o módulo.


  • Dimensões da placa: 78mm x 52mm x 20mm
  • Tensão de alimentação: 12V
  • Tensão de Clock/Data: 5V
  • Sinal de controle: Nível TTL
  • Bobina: 12VDC 30mA
  • Carga nominal do relê: 7A 30VDC, 10A 125VAC , 7A 220VAC
  • Carga nominal do módulo: 10A
  • Tempo de acionamento de contato: 10ms


Para fazer comentários é necessário estar logado. Efetuar login.

Você ainda nao é cadastrado? Cadastre-se agora!



Cizoto
date Enviado: 2017-03-28 22:04:06


É possível agregar 03 módulos relé a um albatross, mantendo uma unica fonte de alimentação ? Alterando o código fonte do albatross seria possível também controlar esses reles para acionar lâmpadas por exemplo ?

MarceloFarias
date Enviado: 2017-03-29 09:29:43

Sim, é possível. Mas você precisaria realizar alterações no código fonte do Albatross. Você poderia por exemplo, colocar um arduino + xbee para receber os comandos do Albatross Master, simulando um Albatross slave. Assim manteria as características do sistema e talvez não fossem necessárias grandes alterações de código. 

Cizoto
date Enviado: 2017-03-29 14:20:01

Poderia por exemplo usar um uno com reles conectados em série e xbee slave recebendo o comando do xbee máster do albatross, é essa sua ideia ? Realmente não teria que mudar nada no código do albatross apenas editar o numero do rele na instrução de comando... tanto os reles quanto o uno poderiam usar a mesma fonte 12v ?

Francois
date Enviado: 2017-03-29 15:28:23

Sim, você pode usar um Arduino Uno/BlackBoard com um XBee para receber os comandos do Albatross Master e atuar os três módulos Relé Serial, inclusive com a mesma fonte. A fonte terá que ser de 12V, mas verifique a corrente que ela consegue fornecer, pois esse valor deve ser superior à soma de consumo de cada placa (considere ainda uma margem).
Na configuração acima, leve em consideração que o XBee atua diretamente um pino digital (veja o esquema elétrico do módulo Slave), portanto você deverá ler um pino digital ao invés de fazer a comunicação serial. Você também pode fazer por comunicação serial, mas terá que alterar o código-fonte e mudar o modo de transmissão entre os XBees. Mas, se você pretende usar apenas um módulo de automação com os Relés Seria, talvez seja melhor usar sem XBee, veja esse exemplo: www.youtube.com/watch?v=t8HoOn2v_7o


Carloscgs
date Enviado: 2017-03-28 17:25:12


Observei que o circuito integrado 74HC595N expande para 8 portas mas nos seus módulos só funciona 4 portas para cada módulo 
A pergunta é como modificar o código para acessar as 8 portas do circuito integrado
        

Francois
date Enviado: 2017-03-28 17:43:32

A biblioteca já está preparada para isso, basta selecionar os relés 5 a 8 ao invés de 1 a 4.


drikosv8
date Enviado: 2017-03-28 10:52:11


ViniDj, mais como especifico que quero que seja o botão 5 e 6?

Obrigado por ajudar

ViniDj
date Enviado: 2017-03-28 11:02:15

Neste caso você teria que desmembrar todo o código, para que ele trate cada botão de uma forma. Da forma que fazemos é feito o mesmo tipo de tratamento pra todos. Se você quer que este tratamento seja diferente para cada botão ou você faz uma condicional a mais no código original que verifica se um determinado botão foi pressionado para então tomar uma ação diferente de ligar ou desligar, ou você usa um código diferente como referência, que trata um botão por vez de forma individual (neste caso você pode pegar o código de 1 relé individual que temos na página do Shield Ethernet e replicar para mais relés, mas nele não é usado o módulo relé serial então isso também terá que ser mudado). De toda forma, a ideia que fica é: você precisa estudar muito a lógica de programação desses códigos, pois só depois de entender de verdade como isso funciona você conseguirá fazer as alterações que precisa. Nada vem sem o estudo. 

drikosv8
date Enviado: 2017-03-28 11:55:37

Poderia, colocar o exemplo de uma condicional de um botão, para que eu tenha um ponto de partida? Obrigado mais uma vez

Francois
date Enviado: 2017-03-28 12:05:28

Você pode se basear no tutorial de leitura de botão: www.arduino.cc/en/tutorial/button
A partir daí você deve seguir a lógica:
  se(botao_pressionado){
    LigaLED();
    delay(duracao_do_pulso);
    DesligaLED();
  }

Tendo essa lógica implementada com o tutorial do botão, você pode adaptá-la facilmente seguindo a recomendação do ViniDj no comentário abaixo.


drikosv8
date Enviado: 2017-03-27 19:01:44


Boa tarde,

Comprei mais 2 modulos serial rele e gostaria de uma ajuda, no código de 40 reles, como faço para colocar o botão 5 e 6 para enviar apenas 1 pulso para destravar o portão, ao invés de ficar ligado o tempo todo.  Obrigado

Francois
date Enviado: 2017-03-27 19:20:51

Você pode, por exemplo, adicionar no código do Arduino um delay após a ativação do relé e desativá-lo em seguida, lembrando de não alterar a variável de estado do relé para que o botão não apareça acionado na página web.

drikosv8
date Enviado: 2017-03-27 19:28:02

Francois,

Sou um pouco leigo, poderia postar aqui por favor, como ficaria a parte da alteração para eu fazer? Obrigado

drikosv8
date Enviado: 2017-03-27 19:51:03

Poste por favor como ficaria a parte da alteração para eu fazer aqui, pois ainda estou aprendendo. Mais uma vez obrigado

ViniDj
date Enviado: 2017-03-28 09:57:27

No código do controle de 40 relés existe uma função chamada SetBotao. Para que os botões pulsem ao invés de se manterem ligados, abaixo de:

relays.SetRelay(rele, SERIAL_RELAY_ON, modulo);
estado_botao[botao] = 1;
//client.print("1");
Serial.println("1");

Você pode incluir:

delay(300);
relays.SetRelay(rele, SERIAL_RELAY_OFF, modulo);
estado_botao[botao] = 0;
//client.print("0");
Serial.println("0");

Assim o relé se manterá 300ms ligado e depois desliga.


wagnerxavier
date Enviado: 2017-03-26 00:09:30


Olá! Como utilizar este módulo com ESP8266 e IDE Arduino? Tem como programar?  O arquivo "#include " não funciona para ESP8266. Tem algum tutorial de como fazer?

ViniDj
date Enviado: 2017-03-27 06:30:44

A biblioteca funciona no ESP8266 desde que sejam alterados parâmetros internos da mesma, que seriam os seguintes:

BIBLIOTECA ORIGINAL
#define SERIAL_RELAY_DELAY_DATA           5 // [µs]
#define SERIAL_RELAY_DELAY_CLOCK_HIGH     5 // [µs]
#define SERIAL_RELAY_DELAY_CLOCK_LOW     20 // [µs]
#define SERIAL_RELAY_DELAY_LATCH       1100 // [µs]
 
           BIBLIOTECA AJUSTADA
#define SERIAL_RELAY_DELAY_DATA           5 // [µs]
#define SERIAL_RELAY_DELAY_CLOCK_HIGH   200 // [µs]
#define SERIAL_RELAY_DELAY_CLOCK_LOW    200 // [µs]
#define SERIAL_RELAY_DELAY_LATCH       2000 // [µs]

O modo de uso é o mesmo.

wagnerxavier
date Enviado: 2017-03-27 21:23:51

Funcionou perfeitamente! Obrigado ViniDj!! 


zykww
date Enviado: 2017-03-04 22:47:01


Olá, Marcelo Farias, chequei as velocidades e em 9600 ou 19200 continuo enviando via monitor serial e vai certo.  A letra que digito funciona.
Porem eu queria usar o prompt de comandos assim  "echo a > COM4 ".  Noto pelos leds de comunicacao que algo foi transmitido   . Mas nada ocorre.  Não consegui por em pratica sua dica. Se a tela `Monitor serial` estiver aberta o comando echo a > COM4 retorna acesso negado. Ou seja nao posso usar a tela Monitor Serial para verificar o que esta chegado;  Falta só este comando funcionar que meu projeto finaliza.

Francois
date Enviado: 2017-03-06 11:12:05

Somente um processo pode usar uma porta COM por vez, ou seja, o prompt não funcionará enquanto o Monitor Serial estiver aberto e vice-versa. Nesse caso você pode usar um outro Arduino ou FTDI com uma comunicação serial de software (SoftwareSerial) para enviar uma cópia da mensagem que você recebeu, ou usar um buffer na memória EEPROM para armazenar a mensagem recebida e enviá-la quando for solicitado, por exemplo no início do código.
Além disso o comando "echo a > COM4" deve estar enviando um caractere de término de mensagem e isso pode estar interferindo no seu código. Dê uma olhada no seguinte tutorial: batchloaf.wordpress.com/2013/02/12/simple-trick-for-sending-characters-to-a-serial-port-in-windows/


zykww
date Enviado: 2017-03-02 23:16:40


Marcelo Farias, o GetState funcionou perfeitamente.  Criei uma variavel, atribui o getstate a ela e em seguida faço o comando com exclamação que "inverte"o valor.  Digito "a" e o rele arma,digito novamente "a" e ele desarma e o sistema guarda o estado de todos os reles. Show de bola , muito obrigado.
Agora envio do computador  um ECHO a > COM4 e ele não faz nada. O led de comunicação pisca indicando que foi o comando mas o ARDUINO nao processa o comando. Já mandei em ASCII e nada. Alguma Idéia do que pode impedir essa comunicação ?
um abraço

MarceloFarias
date Enviado: 2017-03-03 10:43:19

Você já verificou se o Baud Rate está definido corretamente? Você adicionar uma linha de código para enviar de volta pela serial a informação que receber pela serial, daí poderia saber se está realmente recebendo.


Davysson2
date Enviado: 2017-02-28 22:55:16


Boa noite! Fiz um pequeno projeto de automação com leds pra ligar e desligar por comando de voz utilizando um assistente virtual no meu pc pra executar os comandos e agora quero acionar lâmpadas ou equipamentos eletrônicos . Então gostaria de saber se mesmo o arduino ligado no meu pc pra executar os comandos por voz é preciso alimenta-lo com a fonte de 12v?

MarceloFarias
date Enviado: 2017-03-01 09:30:30

Dependendo da placa Arduíno que você possuir você pode conectá-lo a sua USB e alimentá-lo por uma fonte 12V externa, pois ele deve ter um circuito que evita um conflito entre as duas alimentações. Placas com essa funcionalidade são Arduino UNO ou BlackBoard, Mega, etc. 


thesandroluiz
date Enviado: 2017-02-28 11:36:46


Tenho a mesma dúvida do comentário anterior, consegui fazer ligar e desligar por um botão só, mas queria fazer de forma mais simples com a função do arduino "digitalRead()" e não consegui, tentei dessa maneira

!digitalRead(relays.GetState(1, 1)); e assim

relays.GetState(1, 1); o código não dá erro, mas o rele correspondente não aciona, poderia explicar como seria o código para acionar e desacionar o rele com um mesmo botão?

Francois
date Enviado: 2017-03-01 11:12:01

A função GetState() (github.com/RoboCore/SerialRelay/blob/master/SerialRelay.h#L74) é para retornar o estado do relé. Note que esse valor é de software, pois não há ligação física para determinar se o relé foi realmente acionado.
Para acionar um relé você deve usar a função SetRelay() (github.com/RoboCore/SerialRelay/blob/master/SerialRelay.h#L128). Veja o exemplo Blink da biblioteca SerialRelay para mais detalhes de como acionar ou desligar um relé.

thesandroluiz
date Enviado: 2017-03-01 13:17:47

Fazer acionar o rele eu sei como é, só tenho queria saber saber como inverter o estado do rele, se estiver acionado, desacionar e se estiver desacionado, acionar, como na função digitalRead() do arduino, com um ponto de exclamação na frente.

Francois
date Enviado: 2017-03-01 15:18:34

Você pode então usar a função GetState() para saber o estado atual do relé e em seguida atuar o relé com o valor oposto.

thesandroluiz
date Enviado: 2017-03-01 17:45:15

entendi, como ficaria o código daí?

Francois
date Enviado: 2017-03-01 18:55:59

Veja na biblioteca (github.com/RoboCore/SerialRelay/blob/master/SerialRelay.h - linha 74) que ao informar o número do relé e o número do módulo (opcional), a função GetState() retornará o estado do relé desejado. Com esse valor você pode inverter o estado e atuar o relé.


zykww
date Enviado: 2017-02-20 01:30:49


Ainda relacionado a pergunta anterior encontrei esse comando getState na biblioteca mas não sei como usar: Outros usuários também procuram esta resposta porque assim seria possivel usar o mesmo botão para ativar e desativar um rele e não ter que fazer dois comandos para cada rele;:
 // Get the state of the relay (1-based)
    byte GetState(byte relay, byte module = 1){
      // check index
      if((relay > 8) || (module > SERIAL_RELAY_MAX_MODULES))
        return SERIAL_RELAY_NONE; 
      // check if whole mask
      if(relay == 0)
        return _data[module - 1];
      byte mask = (1 << (relay - 1));
      if(mask & _data[module - 1])
        return SERIAL_RELAY_ON;
      else
        return SERIAL_RELAY_OFF;
    } 

MarceloFarias
date Enviado: 2017-02-20 09:26:03

É exatamente esse função. Basta realizar a chamada dela digitando relays.GetState(relay, module); onde relay é o relé que você quer acionar e module é o de qual módulo. 


zykww
date Enviado: 2017-02-18 23:00:34


Olá, qual seria o comando para ler o estado de um rele em determinado modulo. Como o digitalRead() faz  quando é diretamente no pino, por exemplo.
Ou seja em algum ponto do codigo o rele x foi ligado e agora eu não sei se ele está ligado ou não mas gostaria de inverte-lo.
Obrigado

MarceloFarias
date Enviado: 2017-02-20 09:23:24

A biblioteca conta com uma função chamada GetState(relay, module). Ela retorna o valor do estado do relé baseado nos comandos enviados para ele. Logo, ela não realiza uma leitura no pino do relé, mas sim salva as alterações enviadas para o mesmo. Se o seu objetivo é verificar se a carga está ligada, recomendamos que utilize um sensor de corrente junto dela para que você possa saber o real status da mesma. 


luizcarlosnery
date Enviado: 2017-02-13 21:45:34


Olá amigos,
Existe a possibilidade de usar estes módulos com o raspberry pi 3

ViniDj
date Enviado: 2017-02-14 07:58:02

Não existe hoje uma biblioteca feita para que eles possam trabalhar com RPi. De toda forma, a biblioteca para Arduino é aberta, portanto você pode pegar o código fonte e alterá-lo, adequando para que funcione em uma RPi.


administred
date Enviado: 2017-02-13 11:01:29


Posso utilizar neste exemplo Ethernet Shield W5100?

MarceloFarias
date Enviado: 2017-02-13 11:04:08

Sim, você pode. Basta trocar a biblioteca.


administred
date Enviado: 2017-02-13 10:42:19


Posso utilizar neste exemplo Arduino Uno?

MarceloFarias
date Enviado: 2017-02-13 11:03:39

Sim, você pode. 


fernandoscatoli
date Enviado: 2017-02-03 00:32:41


Preciso saber qual a melhor solução para controlar um ar condicionado com sistema sem fio. Estou fazendo uma caixa de comando com todos os fios das lampadas, portões, etc para colocar o arduino e demais componentes mas gostaria de ativar tv, ar com sistema de infra vernelho. Agradeço a ajuda !

MarceloFarias
date Enviado: 2017-02-03 09:29:21

Uma boa solução seria utilizar um emissor infravermelho para simular o próprio controle do ar condicionado, tv, etc. Dê uma olhada em nosso Kit Infravermelho(https://www.robocore.net/loja/produtos/kit-infra-vermelho.html).


LMMP
date Enviado: 2017-01-31 13:35:38


Eu gostaria de saber se há possibilidade de ligar este módulo de forma semelhante ao Albatros Slave Relê, onde ao invés de eu utilizar um módulo xbee em modo API(no albatros), eu utilizasse um rádio rf HC - 12 conectado ao pino data do módulo. A primeira vista, observei que existe um pino de clock e esse seria o principal problema de fazer essa comunicação (SerialRelê - RadioHC12). Se alguem poder ajudar, desde já, sou grato !

Francois
date Enviado: 2017-02-01 11:20:22

O ideal é você usar um microcontrolador intermediário, por exemplo uma BlackBoard/ATmega328, que lê e interpreta as mensagens enviadas por radiofrequência e em seguida atua o módulo relé.


fernandoscatoli
date Enviado: 2017-01-31 12:31:56


ok, vc acha que se eu colocar logo acima da minha o que daria 2,30 mts teria algum problema?

ViniDj
date Enviado: 2017-01-31 14:50:26

Infelizmente não temos como afirmar que vai dar problema, isso depende muita da infraestrutura local. As vezes pode haver algo que gere interferência e que altere o funcionamento, já que em grandes distâncias o fio de sinal acaba servindo até como antena. O que realmente sugerimos é passar ao longo da casa os cabos que carregam 110VAC / 220VAC como é feito em instalações convencionais, deixando a placa de controle perto dos relés.


fernandoscatoli
date Enviado: 2017-01-31 12:27:23


Posso instalar tres modulos dentro do telhado da minha casa e usar um cabo de rede para ligar eles no arduino que esta na minha sala? Ficara mais facil a ligação nas lâmpadas, Obrigado!

MarceloFarias
date Enviado: 2017-01-31 12:29:54

É interessante que o Arduino fique próximos dos seus módulos relés, pois a distância pode atenuar o sinal de comunicação entre as placas e assim causar problemas de funcionamento. 


juliohumenhuk
date Enviado: 2017-01-29 11:45:39


Para utilizar apenas 2 módulos reles, posso usar uma fonte 12v 1A ? OBS: para automação de lampadas. 

MarceloFarias
date Enviado: 2017-01-30 09:52:54

Sim. Uma fonte de 12V 1A é suficiente.


viniciusvnk
date Enviado: 2017-01-27 14:35:32


Olá, fiz a ligação de acordo com o que me explicou, porém quando ligo a fonte na tomada os módulos relés já iniciam todos ligados, o que pode ta acontecendo?

Francois
date Enviado: 2017-01-27 15:34:15

Ao alimentar o Módulo Relé Serial desconsidere o estado dos relés, pois pode haver um ruído na conexão que o circuito da placa considera como acionamento. Depois de fazer as conexões, verifique se os relés estão acionando de acordo com a programação do Arduino.