Ligando rele com teclado matrix
Ola pessoal neste próximo projeto estaremos mostrando como acionar um modulo rele com 4 canais utilizando um teclado matricial ou Matrix, que e aquele teclado tipo membrana fininho que pode ser colado em uma superfície lisa. Por se tratar de um projeto que utiliza reles, sera possível utiliza-lo em uma ampla gama de projetos que utilizam alta tensão (110v)ou(220v) ,como acionamento de motores lampadas, ventiladores etc..
OBS: caso utilize alta tensão tome cuidado para não tomar choques elétricos pois pode ser perigoso. E sempre bom contactar um eletricista nestes casos.
OBS: caso utilize alta tensão tome cuidado para não tomar choques elétricos pois pode ser perigoso. E sempre bom contactar um eletricista nestes casos.
Vamos agora as etapas de integração do teclado com o Arduíno.
Primeiramente terá de baixar a biblioteca Keypad que é onde estão os arquivos necessários para seu funcionamento Biblioteca Keypad .
Apos baixar,descompacte o arquivo ZIP e copie para pasta libraires que esta dentro da pasta Arduíno em Arquivos e programas.
Para este projeto iremos precisar de
1x arduino.
1x teclado matrix com 16 teclas.
1x Modulo Rele 4 canais.(pode ser usado também reles de 1 ou 2 canais para isso basta usar uma protoboard para alimenta-los)
8x fios jumpers macho x macho.
6x fios jumpers macho x femea.
Conexões do teclado com Arduíno;
Conexões do Rele com Arduíno;
O teclado terá os seguintes comandos;
Tecla 1 -> liga 1° rele.
Tecla 2 -> liga 2° rele.
Tecla 3 -> liga 3° rele.
Tecla 4 -> liga 4° rele.
Tecla 5 -> desliga 1° rele.
Tecla 6 -> desliga 2° rele.
Tecla 7 -> desliga 3° rele.
Tecla 8 -> desliga 4° rele.
Tecla (*) -> liga todos os reles.
Tecla (#) -> desliga todos os reles.
//-----------------------------------------Inicio do código-------------------------------------//
#include <Keypad.h> // Biblioteca Keypad.
const byte ROWS = 4; // Definição das linhas .
const byte COLS = 4; // Definição das colunas.
// Define o Keypad (mapa do teclado).
char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
// Conecta o teclado matricial em linha 0, linha 1, linha 2, linha 3 e linha 4 dos pinos do arduino.
byte rowPins[ROWS] = { 9, 8, 7, 6 };
// Conecta o teclado matricial em coluna 0, coluna 1, coluna 2, coluna 3 e coluna 4 do arduino.
byte colPins[COLS] = { 5,4,3,2 };
// Cria um objto Keypad.
Keypad kpd = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
//-------------Variaveis dos reles-------------//
#define Rele1 10
#define Rele2 11
#define Rele3 12
#define Rele4 13
void setup()
{
//---------Define rele como saida-----------------//
pinMode(Rele1,OUTPUT);
pinMode(Rele2,OUTPUT);
pinMode(Rele3,OUTPUT);
pinMode(Rele4,OUTPUT);
// Define o pino 13 como sendo de saída.
//digitalWrite(Rele1, HIGH); // incializa com o led ligado.
Serial.begin(9600); // Inicia o Serial Monitor.
}
void loop()
{
char key = kpd.getKey();
if(key) // CVerifica se um botão foi precionado.
{
switch (key)
{
case '1': // Caso seja precionado botao 1.
digitalWrite(Rele1, HIGH); // o rele 1 liga.
break; // Parada, aguardando precionar outro botão.
case '2':
digitalWrite(Rele2, HIGH);
break;
case '3':
digitalWrite(Rele3, HIGH);
break;
case '4':
digitalWrite(Rele4, HIGH);
break;
case '5':
digitalWrite(Rele1, LOW);
break;
case '6':
digitalWrite(Rele2, LOW);
break;
case '7':
digitalWrite(Rele3, LOW);
break;
case '8':
digitalWrite(Rele4, LOW);
break;
//------Se (*) for pressionado desliga os 4 reles---//
case '*':
digitalWrite(Rele1, HIGH);
digitalWrite(Rele2, HIGH);
digitalWrite(Rele3, HIGH);
digitalWrite(Rele4, HIGH);
break;
//------Se (#) for pressionado liga os 4 reles---//
case '#':
digitalWrite(Rele1, LOW);
digitalWrite(Rele2, LOW);
digitalWrite(Rele3, LOW);
digitalWrite(Rele4, LOW);
break;
default:
Serial.println(key);
}
}
}
//-----------------------------------------Fim do código-------------------------------------//
0 Comentários:
Postar um comentário
Assinar Postar comentários [Atom]
<< Página inicial