Pular para o conteúdo principal

Placa HAT de Relé SPDT de 4 Canais para Raspberry Pi

A Placa HAT de Relé SPDT de 4 Canais para Raspberry Pi utiliza quatro relés SPDT (single pole - double throw) de alta qualidade e fornece interfaces NO/NC (Normalmente Aberto/Normalmente Fechado) que podem controlar cargas de alta corrente. Isso significa que ela pode ser uma boa solução para controlar dispositivos que não podem ser controlados diretamente pelo barramento I2C. O formato padronizado de shield permite uma conexão suave com um Raspberry Pi e ela também possui quatro indicadores de LED que mostram o estado ligado/desligado de cada relé.

Versão

Versão do ProdutoAlteraçõesData de Lançamento
Raspberry Pi Relay Board v1.0Inicial2015-04-08
4-Channel SPDT Relay HAT for Raspberry Pi1.Substituição de componentes para melhor estabilidade
2.Mudança no layout dos componentes eletrônicos
2021-02-08

Recursos


  • Relés SPDT (single pole - double throw) de alta qualidade
  • Compatível com Raspberry Pi 1, 2, 3, 4
  • Interface I2C com três chaves de hardware SW1 (1, 2, 3) para selecionar o endereço fixo do barramento I2C
  • Bornes de parafuso do relé para conexão fácil
  • Formato e design de shield padronizados
  • LEDs indicadores de status de funcionamento para cada relé
  • Pinos de relé COM, NO (Normalmente Aberto) e NC (Normalmente Fechado) para cada relé

Especificações


Item

Mín

Típico

Máx

Unidade

Tensão de Alimentação

4.75

5

5.5

VDC

Corrente de Trabalho

10

/

360

mA

Tensão de Comutação

/

/

30/250

VDC/VAC

Corrente de Comutação

/

/

15

A

Frequência

/

1

/

HZ

Potência de Comutação

/

/

2770VA/240

W

Vida Útil do Relé

100,000

/

/

Ciclos

Dimensões

91.20 56.15 32

mm

Visão Geral de Hardware


Uso


Esta seção foi escrita por John M. Wargo, aqui gostaríamos de expressar nossa gratidão pela contribuição de John. Alteramos um pouco o texto original para adequá-lo a todo o documento da Seeed. Clique aqui para visitar o documento original em seu site.

As etapas para instalar a placa e verificar se ela funciona incluem as seguintes etapas:

  • Etapa1. Montar a placa de Relé no Raspberry Pi
  • Etapa2. Habilitar a interface de software I2C do Raspbian
  • Etapa3. Validar se o Raspberry Pi reconhece a placa
  • Etapa4. Executar algum código Python para exercitar a placa

Etapa1. Montando a Placa de Relé

Montar a placa é fácil, ela vem com os conectores fêmea apropriados de que você precisa para montá-la em qualquer placa Raspberry Pi com conectores macho. Observação: você terá que adicionar conectores macho ao Raspberry Pi Zero para usar a placa.

Recomendamos colocar uma fita isolante em cima da porta Ethernet do Raspberry Pi antes de montar a placa. Se você montar a placa sem usar espaçadores (como eu fiz na figura de exemplo abaixo), há uma chance de a placa entrar em contato com a carcaça da porta Ethernet e causar um problema.

Figura 1

Para um projeto em produção, definitivamente recomendamos usar espaçadores para manter as duas placas no lugar.

A placa de relé é configurada para um Raspberry Pi mais antigo com um conector de 26 pinos, então, quando você a conecta a um Raspberry Pi com conectores de 40 pinos, será necessário deslocá-la totalmente para o lado, como mostramos na figura. Se você não alinhar os pinos corretamente, terá problemas depois, pois simplesmente não vai funcionar.

Habilitando I2C

A placa de relé se comunica com o Raspberry Pi através de uma interface I2C https://en.wikipedia.org/wiki/I%C2%B2C. Essa interface vem desabilitada por padrão no sistema operacional Raspbian do Pi, portanto você terá que ativá-la antes de poder usar a placa. Ligue o Pi e deixe-o inicializar até a interface gráfica. Quando estiver em execução, abra o menu do Pi, selecione Preferences e depois Raspberry Pi Configuration, como mostrado na figura a seguir:

Figura 2

Na janela que se abre, selecione a aba Interfaces como mostrado na figura a seguir. Habilite a opção ao lado de I2C como mostrado na figura e clique no botão OK para continuar. Quando você reiniciar o PC, o Pi deverá enxergar a placa de relé. Na próxima seção, vamos verificar se o Pi vê a placa de relé.

Figura 3

Validando se o Raspberry Pi Vê a Placa de Relé

Com a interface I2C habilitada, é hora de garantir que o Raspberry Pi veja a placa de relé. Abra uma janela de terminal no Pi e execute o seguinte comando:

i2cdetect -y -r 1

O aplicativo exibirá um despejo dos dispositivos I2C reconhecidos, como mostrado na figura a seguir. Neste exemplo, há apenas uma placa I2C no sistema, a placa de relé configurada em um endereço 20. Você verá como esse valor é importante mais adiante neste artigo.

Figura 4

Supõe-se que você possa usar chaves na placa de relé para definir o endereço I2C; há 4 chaves DIP na placa, vamos ver o que acontece quando você as altera.

Há quatro chaves, três rotuladas de A0 a A2 e uma rotulada como NC. NC significa No Connection (sem conexão). Cada chave possui uma configuração alta e baixa, portanto a tabela a seguir mostrará como usá-las para definir um endereço I2C para a placa:

A0A1A2Endereço
AltoAltoAlto20
BaixoAltoAlto21
AltoBaixoAlto22
AltoAltoBaixo24
AltoBaixoBaixo26
BaixoBaixoBaixo27

Executando o Aplicativo de Teste

Use o código de teste do repositório no GitHub. Obtenha o código de lá e você conseguirá concluir facilmente a etapa a seguir.

Para executar o aplicativo de teste, abra uma janela de terminal, navegue até onde você extraiu o aplicativo de exemplo e execute o aplicativo usando o seguinte comando:

python ./seeed_relay_test.py

Figura 4

Quando solicitado por entrada, você digitará comandos para ligar e desligar os relés:

  • Digitar 1on, 2on, 3on ou 4on e pressionar Enter fará com que o relé especificado seja ligado.
  • Digitar 1off, 2off, 3off ou 4off e pressionar Enter fará com que o relé especificado seja desligado.
  • Digitar allon ou alloff ligará ou desligará todos os relés.

Usando o Módulo Python

Para usar o módulo em suas próprias aplicações Python, copie o módulo (relay_lib_seeed.py) para a pasta do seu projeto e importe o módulo em sua aplicação Python adicionando a seguinte linha ao início da sua aplicação:

from relay_lib_seeed import *

Isso expõe uma série de funções para sua aplicação:

  • relay_on(int_value) - Liga um único relé. Passe um valor inteiro entre 1 e 4 (inclusive) para a função para especificar o relé que você deseja ligar. Por exemplo: relay_on(1) ligará o primeiro relé (que na verdade é o relé 0 internamente).
  • relay_off(int_value) - Liga um único relé. Passe um valor inteiro entre 1 e 4 (inclusive) para a função para especificar o relé que você deseja ligar. Por exemplo: relay_on(4) ligará o primeiro relé (que na verdade é o relé 3 internamente) desligado.
  • relay_all_on() - Liga todos os relés simultaneamente.
  • relay_all_off() - Desliga todos os relés simultaneamente.

O módulo expõe um valor de configuração que você vai querer ter em mente ao trabalhar com a placa:

# 7 bit address (will be left shifted to add the read write bit)
DEVICE_ADDRESS = 0x20

Lembra-se desse valor? 20? A placa vem configurada por padrão para esse endereço. Se você alterar as chaves na placa, será necessário atualizar essa variável de acordo.

Para ver o módulo em ação, abra uma janela de terminal no Raspberry Pi, navegue até a pasta onde você extraiu os arquivos deste repositório e execute o seguinte comando:

python ./relay_lib_seeed_test.py

O aplicativo irá:

  • Ligar todos os relés por um segundo
  • Desligar todos os relés
  • Percorrer cada um dos relés (1 a 4), ligando cada um por um segundo

O módulo escreverá indicadores no console à medida que executa cada etapa, como mostrado na figura a seguir:

Figura 6

Os LEDs na placa de relé (um para cada relé) acenderão quando os relés forem acionados. Na minha placa, eles não estavam em sequência, então não espere que acendam em ordem.

O código que faz tudo isso se parece com o seguinte:

# turn all of the relays on
relay_all_on()
# wait a second
time.sleep(1)
# turn all of the relays off
relay_all_off()
# wait a second
time.sleep(1)
# now cycle each relay every second in an infinite loop
while True:
for i in range(1, 5):
relay_on(i)
time.sleep(1)
relay_off(i)

É isso, não tem mais segredo. Aproveite.

Visualizador Online de Esquemático

Recursos

Suporte Técnico & Discussão de Produto

Obrigado por escolher nossos produtos! Estamos aqui para fornecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos diversos canais de comunicação para atender a diferentes preferências e necessidades.

Loading Comments...