sábado, 31 de julho de 2021

TECLADO CODIFICADO + DISPLAY


Esquema elétrico completo do teclado codificado + esquema do display e código fonte para o microcontrolador.
na parte da fonte de alimentação tem os pontos de ligação de alimentação da fonte do display.

neste esquema apresenta os pontos que será enviado para as interface (opto-acopladores) da placa do display.

esquema completo do circuito do display.


CÓDIGO-FONTE PARA O MICROCONTROLADOR

#include <LiquidCrystal.h>  //Carrega a biblioteca LiquidCrystal
LiquidCrystal lcd(7, 8, 5, 4, 3, 2);  //Define os pinos que serão utilizados para ligação ao display

const int Botao = 9; //botao no pino 9 **senha incorreta**
int estadoBotao; //Variavel para ler o status do pushbutton

const int Botao1 = 10; //botao no pino 10 **senha correta**
int estadoBotao1; //Variavel para ler o status do pushbutton

void setup() {
lcd.clear();   //Limpa a tela
lcd.begin(16, 2);  //Define o número de colunas e linhas do LCD
pinMode(Botao, INPUT_PULLUP); //Pino com botão será entrada
pinMode(Botao1, INPUT_PULLUP); //Pino com botão será entrada
intro();
}

void intro(){
lcd.clear();
lcd.setCursor(1, 0); //Posiciona o cursor na coluna 1, linha 0;
lcd.print("CANAL DIVERSAO"); //Envia o texto entre aspas para o LCD
lcd.setCursor(2, 1);
lcd.print("& TECNOLOGIA");
delay(1500);

lcd.clear();
lcd.setCursor(4, 0);
lcd.print("REB TECH");
lcd.setCursor(6, 1);
lcd.print("2021");
delay(1500);
}

void loop(){
estadoBotao = digitalRead(Botao); //le o estado do botão - HIGH OU LOW

if (estadoBotao == LOW) { //Se botão estiver pressionado (LOW)

lcd.clear();   //Limpa a tela
lcd.setCursor(5, 0);  //Posiciona o cursor na coluna 5, linha 0;
lcd.print("SENHA");  //Envia o texto entre aspas para o LCD
lcd.setCursor(3, 1);
lcd.print("INCORRETA");
delay(800);

lcd.clear();   //Limpa a tela
lcd.setCursor(4, 0);  //Posiciona o cursor na coluna 4, linha 0;
lcd.print("DIGITE");  //Envia o texto entre aspas para o LCD
lcd.setCursor(3, 1);
lcd.print("NOVAMENTE");
delay(800);
}

{
estadoBotao1 = digitalRead(Botao1); //le o estado do botão - HIGH OU LOW
    
if (estadoBotao1 == LOW) { //Se botão estiver pressionado (LOW)
    
lcd.clear();   //Limpa a tela
lcd.setCursor(5, 0);  //Posiciona o cursor na coluna 5, linha 0;
lcd.print("SENHA");  //Envia o texto entre aspas para o LCD
lcd.setCursor(2, 1);
lcd.print("<<CORRETA>>");
delay(800);
}
      
else { //se não estiver pressionado (LOW)

lcd.clear();   //Limpa a tela
lcd.setCursor(1, 0);  //Posiciona o cursor na coluna 1, linha 0;
lcd.print("DIGITE A SENHA");  //Envia o texto entre aspas para o LCD
lcd.setCursor(5, 1);
lcd.print(">****<");
delay(10);
}
}
}

 

quinta-feira, 29 de julho de 2021

Criando projeto com microcontrolador Atmega 328P, a partir da plataforma Arduino.


Este projeto serve de base para criação de mensagens que pode ser usadas em diversos tipos de equipamentos, ficando a disposição do usuário escolher a melhor forma de poder fazer a varredura dos sensores que possam informar ao microcontrolador qual deve ser a mensagem a exibir no display. 


segue o passo-a-passo da construção da placa (PCI), utilizando o método de desenho feito manual através caneta tinta permanente( retro projetor).










CÓDIGO FONTE PARA O PROJETO DO DISPLAY

#include <LiquidCrystal.h>  //Carrega a biblioteca LiquidCrystal
LiquidCrystal lcd(7, 8, 5, 4, 3, 2);  //Define os pinos que serão utilizados para ligação ao display

const int Botao = 9; //botao no pino 9 **senha incorreta**
int estadoBotao; //Variavel para ler o status do pushbutton

const int Botao1 = 10; //botao no pino 10 **senha correta**
int estadoBotao1; //Variavel para ler o status do pushbutton

void setup() {
lcd.clear();   //Limpa a tela
lcd.begin(16, 2);  //Define o número de colunas e linhas do LCD
pinMode(Botao, INPUT_PULLUP); //Pino com botão será entrada
pinMode(Botao1, INPUT_PULLUP); //Pino com botão será entrada
intro();
}

void intro(){
lcd.clear();
lcd.setCursor(1, 0); //Posiciona o cursor na coluna 1, linha 0;
lcd.print("CANAL DIVERSAO"); //Envia o texto entre aspas para o LCD
lcd.setCursor(2, 1);
lcd.print("& TECNOLOGIA");
delay(1500);

lcd.clear();
lcd.setCursor(4, 0);
lcd.print("REB TECH");
lcd.setCursor(6, 1);
lcd.print("2021");
delay(1500);
}

void loop(){
estadoBotao = digitalRead(Botao); //le o estado do botão - HIGH OU LOW

if (estadoBotao == LOW) { //Se botão estiver pressionado (LOW)

lcd.clear();   //Limpa a tela
lcd.setCursor(5, 0);  //Posiciona o cursor na coluna 5, linha 0;
lcd.print("SENHA");  //Envia o texto entre aspas para o LCD
lcd.setCursor(3, 1);
lcd.print("INCORRETA");
delay(800);

lcd.clear();   //Limpa a tela
lcd.setCursor(4, 0);  //Posiciona o cursor na coluna 4, linha 0;
lcd.print("DIGITE");  //Envia o texto entre aspas para o LCD
lcd.setCursor(3, 1);
lcd.print("NOVAMENTE");
delay(800);
}

{
estadoBotao1 = digitalRead(Botao1); //le o estado do botão - HIGH OU LOW
    
if (estadoBotao1 == LOW) { //Se botão estiver pressionado (LOW)
    
lcd.clear();   //Limpa a tela
lcd.setCursor(5, 0);  //Posiciona o cursor na coluna 5, linha 0;
lcd.print("SENHA");  //Envia o texto entre aspas para o LCD
lcd.setCursor(2, 1);
lcd.print("<<CORRETA>>");
delay(800);
}
      
else { //se não estiver pressionado (LOW)

lcd.clear();   //Limpa a tela
lcd.setCursor(1, 0);  //Posiciona o cursor na coluna 1, linha 0;
lcd.print("DIGITE A SENHA");  //Envia o texto entre aspas para o LCD
lcd.setCursor(5, 1);
lcd.print(">****<");
delay(10);
}
}
}

 

domingo, 4 de julho de 2021

TECLADO CODIFICADO PARA FECHADURA ELETROMECÂNICA OU ELETROMAGNÉTICA


 


Este circuito serve de acionamento codificado através de sequência de quatro dígitos, podendo ser alterado o código através dos jumpers de programação.
esquema elétrico fonte de alimentação, oscilador e teclado

esquema elétrico do teclado codificado