Como usar o Hat Relé 4 Canais para Raspberry Pi
Neste post vamos ver como usar o Hat Relé 4 canais para Raspberry Pi, que pode ser utilizado para montar sistemas de automação residencial e que funciona com os mais variados modelos de placa da linha Raspberry Pi como a 3 B, 3 B+, 2, Zero, 3 A+, etc.
Utilizando somente 4 pinos da GPIO da Raspberry Pi, este Hat é capaz de controlar equipamentos como eletrodomésticos, lâmpadas e motores.
O Hat Relé 4 canais
Este Hat (um Hat é para o Raspberry Pi o que o Shield é para o Arduino, ou seja, um componente que expande as funcionalidades da sua placa sem que você tenha que montar complicados circuitos eletrônicos) é composto por 4 relés com capacidade máxima de 14 VDC ou 125 VAC, e corrente máxima de 20 A. Bornes com parafusos facilitam a conexão de fios e cabos:
A placa usa os pinos 35 (GPIO 19), 37 (GPIO 26), 38 (GPIO 20) e 40 (GPIO 21) da Raspberry Pi, e você pode optar entre habilitar ou desabilitar o uso destas portas usando os jumpers do lado esquerdo da placa (imagem abaixo), ou seja, se você deseja usar apenas dois relés do shield, pode liberar as portas que seriam usadas pelos outros relés para outras funções, como por exemplo o uso de sensores e módulos.
O Hat conta ainda com leds indicadores de Power (ligado), e um led para indicar o estado de cada relé (ligado/desligado).
Conectando o Hat Relé Shield na Raspberry Pi
Não há segredos na instalação do Hat na sua placa Raspberry Pi. Simplesmente encaixe os pinos do Hat na GPIO e a conexão está pronta. Veja na imagem abaixo:
Observe que os demais pinos da GPIO (conector macho) continuam disponíveis para uso com sensores, módulos e outros componentes, como mencionamos anteriormente.
Na primeira imagem deste post mostramos o teste que fizemos da placa com um Display Touch 7″ para Raspberry Pi, mas o procedimento a seguir funciona normalmente com um monitor de vídeo HDMI comum, se você estiver usando um.
Controlando relés usando Python
O programa a seguir, feito em Python, cria uma pequena janela na tela com 4 botões, permitindo que você acione cada relé individualmente. O mesmo botão serve para ligar ou desligar o relé, e a parte gráfica do programa é criada pela biblioteca TKinter, já presente no Raspbian (o sistema operacional usado na Raspberry Pi).
#Programa: Hat Rele 4 canais para Raspberry Pi #Autor: Arduino e Cia # !/usr/bin/python3 from tkinter import * from tkinter import messagebox from tkinter import font # Define biblioteca da GPIO import RPi.GPIO as GPIO GPIO.setwarnings(False) GPIO.setmode(GPIO.BCM) GPIO.setup(19, GPIO.OUT) GPIO.setup(26, GPIO.OUT) GPIO.setup(20, GPIO.OUT) GPIO.setup(21, GPIO.OUT) #Pinos em estado alto para desligar os reles GPIO.output(19, 1) GPIO.output(26, 1) GPIO.output(20, 1) GPIO.output(21, 1) #Armazena o estado do rele b1=b2=b3=b4=1 cor_botao1=cor_botao2=cor_botao3=cor_botao4 = 'red' top = Tk() top.geometry("330x200+235+140") top.title("Arduino e Cia") top.configure(background='grey') helv36 = font.Font(family='Helvetica', size=16, weight='bold') def chamada_botao_1(): global b1 global cor_botao1 b1 = not b1 GPIO.output(19, b1) if b1 == 1: cor_botao1 = 'red' elif b1 == 0: cor_botao1 = 'green' desenha_botao1() def chamada_botao_2(): global b2 global cor_botao2 b2 = not b2 GPIO.output(26, b2) if b2 == 1: cor_botao2 = 'red' elif b2 == 0: cor_botao2 = 'green' desenha_botao2() def chamada_botao_3(): global b3 global cor_botao3 b3 = not b3 GPIO.output(20, b3) if b3 == 1: cor_botao3 = 'red' elif b3 == 0: cor_botao3 = 'green' desenha_botao3() def chamada_botao_4(): global b4 global cor_botao4 b4 = not b4 GPIO.output(21, b4) if b4 == 1: cor_botao4 = 'red' elif b4 == 0: cor_botao4 = 'green' desenha_botao4() def desenha_botao1(): B = Button(top, text = "RELAY 1", command = chamada_botao_1, font = helv36, fg=cor_botao1) B.config(width="8",height="2") B.place(x = 30,y = 30) def desenha_botao2(): C = Button(top, text = "RELAY 2", command = chamada_botao_2, font = helv36, fg=cor_botao2) C.config(width="8",height="2") C.place(x = 180,y = 30) def desenha_botao3(): D = Button(top, text = "RELAY 3", command = chamada_botao_3, font = helv36, fg=cor_botao3) D.config(width="8",height="2") D.place(x = 30,y = 110) def desenha_botao4(): E = Button(top, text = "RELAY 4", command = chamada_botao_4, font = helv36, fg=cor_botao4) E.config(width="8",height="2") E.place(x = 180,y = 110) #Desenha botoes desenha_botao1() desenha_botao2() desenha_botao3() desenha_botao4() top.mainloop()
Salve o programa em um arquivo com a extensão .py e execute usando o comando abaixo, onde o nosso arquivo é o button.py:
sudo python3 button.py
A tela gerada pelo programa deve ficar parecida com essa:
Agora basta você usar os botões da sua tela para controlar os relés. Os botões com texto em verde são dos relés ativos e os botões com texto em vermelho mostram os relés que estão desligados.
Gostou do post hat relé 4 canais para Raspberry Pi? Confira outros posts usando Raspberry Pi aqui mesmo no Arduino e Cia!
Boa tarde, é possível empilhar esse módulo ? no caso dois.
Oi Roberto,
Infelizmente não é possível, a não ser que você faça algumas mudanças no hardware, já que o hat usa portas específicas.
Abraço!
Adilson
Boa meu amigo, algo acontece de errado, quando rodo o programa o rede ativa e não tem como desativar somente reiniciando o raspberry alguma dica.?
Oi Marco,
Que estranho. Conseguiu resolver? Você usou o código que está no post?
Abraço!
Adilson
Boa ideia pode se usar esse projeto como base em um quadro com contactoras para acionamento de equipamentos em ambientes industriais