Ir ao conteúdo

Projeto LCD mudando mensagens com rele


Ir à solução Resolvido por Airton_Diniz,

Posts recomendados

Postado

Boa noite galera, preciso de uma ajuda de como montar um circuito que o LCD apresente uma mensagem, e ao acionar um rele mude a msg, eu não consegui achar nada na net, alguém tem um circuito ou diagrama para me ajudar.

Obrigado.

Vou detalhar melhor :

meu caso vou projetar uma placa e montar, as msgs vouu gravar no PIC, tudo na placa ,e na verdade quero mudar a mensagem do LCD, quando fechar o comando CM/NA, dai temporizar essa mensagem e depois voultar as mensagens do inicio. Mudando novamente quando vir pulso CM/NA.

  • Membro VIP
Postado

use um transistor ligado a bobina do rele, de modo que quando o mesmo é acionado o transistor se acione e dai o transistor ativa uma porta do arduino e mande outra mensagem.

Postado

@K.e.V. T.a.G opa obrigado pela atenção, no meu caso vou projetar uma placa e montar, as msgs vou gravar no PIC, e na verdade quero mudar a mensagem do LCD, quando fechar o comando CM/NA, dai temporizar essa mensagem e depois voltar as mensagens do inicio. Mudando novamente quando vir pulso CM/NA.

Postado
9 minutos atrás, K.e.V. T.a.G disse:

Mas é mais ou menos isso, você precisa fazer algum circuito que quando aciona o rele, uma porta do arduino seja ativada.

 

Certo, mais no meu caso não vou usar arduino.vou fazer uma placa do zero entendeu, ligar tudo nela lcd, pic, vou programar/gravar o microcontrolador para exibir as msgs. Precisava de ajuda ou algum  diagrama eletrônico. Valeu O/

Postado
3 horas atrás, Airton_Diniz disse:

Boa noite galera, preciso de uma ajuda de como montar um circuito que o LCD apresente uma mensagem, e ao acionar um rele mude a msg, eu não consegui achar nada na net, alguém tem um circuito ou diagrama para me ajudar.

Obrigado.

Vou detalhar melhor :

meu caso vou projetar uma placa e montar, as msgs vouu gravar no PIC, tudo na placa ,e na verdade quero mudar a mensagem do LCD, quando fechar o comando CM/NA, dai temporizar essa mensagem e depois voultar as mensagens do inicio. Mudando novamente quando vir pulso CM/NA.

Alguém pode me ajudar? Algum diagrama parecido , alguma ideia  \○/

  • Membro VIP
Postado

Apesar de eu não fazer parte da galera, .... Mostre algo que já fez.

Para a sua descrição, praticamente não há esquema padrão. O que você precisa é apenas conectar o pic ao display.

ScreenHunter_15.bmp

e ler um pino de entrada

Uma alternativa ao relé é um acoplador ótico

acoplador-otico.jpg

Basta agora você especificar melhor sua dúvida. Lembrando que é importantíssimo você descrever exatamente o que quer fazer, colocar desenhos, esquemas e fotos, bem como falar algo de si, o que já fez e que sucessos já teve e quais progressos. Algo como uma autominibiografia técnica

tmj...

 

Um auto ctrl-c ctrl-v de

deste exato momento anterior

Postado
14 horas atrás, Isadora Ferraz disse:

Apesar de eu não fazer parte da galera, .... Mostre algo que já fez.

Para a sua descrição, praticamente não há esquema padrão. O que você precisa é apenas conectar o pic ao display.

ScreenHunter_15.bmp

e ler um pino de entrada

Uma alternativa ao relé é um acoplador ótico

acoplador-otico.jpg

Basta agora você especificar melhor sua dúvida. Lembrando que é importantíssimo você descrever exatamente o que quer fazer, colocar desenhos, esquemas e fotos, bem como falar algo de si, o que já fez e que sucessos já teve e quais progressos. Algo como uma autominibiografia técnica

tmj...

 

Um auto ctrl-c ctrl-v de

deste exato momento anterior

Oi Isadora obr. Pela atenção, o LCD está montado como no seu diagrama mostrado normal, o que eu não consegui , é fazer mudar a msg.

o que vai fazer mudar é uma outra placa controladora que ao acionar o rele, informa o PIC e muda a msg.

(É um projeto para controle de acesso)

valeu pela força

  • Membro VIP
Postado
8 horas atrás, Airton_Diniz disse:

o que eu não consegui , é fazer mudar a msg.

Amigo agora é questão soft. .. é mole. O seu fonte deve ser algo como simples:

#define entrada_rele RA0 //eu prefiro entrada opto
//...
if (entrada_rele) printdisplay("PORTA ABERTA");
else printdisplay("AGORA FECHOU");
//...

Fechou? É mole? ou quer +?

  • Curtir 1
  • Solução
Postado
Em 14/03/2019 às 07:42, Isadora Ferraz disse:

Amigo agora é questão soft. .. é mole. O seu fonte deve ser algo como simples:


#define entrada_rele RA0 //eu prefiro entrada opto
//...
if (entrada_rele) printdisplay("PORTA ABERTA");
else printdisplay("AGORA FECHOU");
//...

Fechou? É mole? ou quer +?

Fechou, desculpa demora para responder...

Obrigado O/

  • Curtir 1
  • 2 semanas depois...
Postado
Em 21/03/2019 às 20:06, Airton_Diniz disse:

Fechou, desculpa demora para responder...

Obrigado O/

Boa Tarde! segui as dicas e deu certo! consegui escrever e animar nas 2 linhas, só que na hora de apertar o botão, a msg não muda ou as vezes muda sozinha, . uso o CCS C Compiler, pode ser o comando if , no lugar errado , alguem pode me ajudar, obrigado.

Código:

 

#include <16f877a.h>
#fuses hs, nowdt
# use delay (clock=4M)
/*


#include <lcd007.h>
#define LCD_ENABLE_PIN PIN_B2
#define LCD_RS_PIN PIN_B0
#define LCD_RW_PIN PIN_B1
#define LCD_DATA4 PIN_B4
#define LCD_DATA5 PIN_B5
#define LCD_DATA6 PIN_B6
#define LCD_DATA7 PIN_B7
#define botao PIN_a0
*/


#include <lcd.c>


void main(){
set_tris_d(0);
lcd_init();
      while(TRUE){
         lcd_gotoxy (1,1);
         printf(lcd_putc, "NOME 1");
         lcd_gotoxy (1,2);
         printf(lcd_putc, "NOME 2");
         delay_ms(3000);
         lcd_putc("\f");
         
         for (int car = 0;car<=16;car++){
         lcd_gotoxy(car,1);
         printf(lcd_putc, "NOME 1");
         delay_ms(500);
         lcd_putc("\f");
}
         for (car=16;car>=1;Car--){
         lcd_gotoxy(car,1);
         printf(lcd_putc, "NOME 2");
         delay_ms(500);
         lcd_putc("\f");
  
   if(!input(pin_a0)){
         lcd_putc("\f");
         delay_ms(20);
         lcd_gotoxy (1,1);
         printf(lcd_putc, "    ACESSO");
         lcd_gotoxy (1,2);
         printf(lcd_putc, "  AUTORIZADO");
         delay_ms(2000);
         lcd_putc("\f");
         delay_ms(5);
         lcd_gotoxy (1,1);
         printf(lcd_putc, "     BEM");
         lcd_gotoxy (1,2);
         printf(lcd_putc, "    VINDO");
         delay_ms(2000);
         lcd_putc("\f");
         delay_ms(10);  }
   
   }
            
    
      }
    
        
        }

 

tela1.jpg

Postado

@Isadora Ferraz

Boa Tarde! segui as dicas e deu certo! consegui escrever e animar nas 2 linhas, só que na hora de apertar o botão, a msg não muda ou as vezes muda sozinha, . uso o CCS C Compiler, pode ser o comando if , tinha que mudar somente quando apertar,pode me ajudar, obrigado.

Código:

 

#include <16f877a.h>
#fuses hs, nowdt
# use delay (clock=4M)
/*


#include <lcd007.h>
#define LCD_ENABLE_PIN PIN_B2
#define LCD_RS_PIN PIN_B0
#define LCD_RW_PIN PIN_B1
#define LCD_DATA4 PIN_B4
#define LCD_DATA5 PIN_B5
#define LCD_DATA6 PIN_B6
#define LCD_DATA7 PIN_B7
#define botao PIN_a0
*/


#include <lcd.c>


void main(){
set_tris_d(0);
lcd_init();
      while(TRUE){
         lcd_gotoxy (1,1);
         printf(lcd_putc, "NOME 1");
         lcd_gotoxy (1,2);
         printf(lcd_putc, "NOME 2");
         delay_ms(3000);
         lcd_putc("\f");
         
         for (int car = 0;car<=16;car++){
         lcd_gotoxy(car,1);
         printf(lcd_putc, "NOME 1");
         delay_ms(500);
         lcd_putc("\f");
}
         for (car=16;car>=1;Car--){
         lcd_gotoxy(car,1);
         printf(lcd_putc, "NOME 2");
         delay_ms(500);
         lcd_putc("\f");
  
   if(!input(pin_a0)){
         lcd_putc("\f");
         delay_ms(20);
         lcd_gotoxy (1,1);
         printf(lcd_putc, "    ACESSO");
         lcd_gotoxy (1,2);
         printf(lcd_putc, "  AUTORIZADO");
         delay_ms(2000);
         lcd_putc("\f");
         delay_ms(5);
         lcd_gotoxy (1,1);
         printf(lcd_putc, "     BEM");
         lcd_gotoxy (1,2);
         printf(lcd_putc, "    VINDO");
         delay_ms(2000);
         lcd_putc("\f");
         delay_ms(10);  }
   
   }
            
    
      }
    
        
        }

 

tela1.jpg

  • Membro VIP
Postado

Amigo, verifique no datasheet se você não tem que setar o PORTA como digital. Tô com preguiça de verificar agora.

E tem+..., apesar de TRISA nascer como entrada, é uma boa prática confirmar isso no início do programa. E tem+ ainda,... prefira deixar como entrada somente o pino que vai usar como.. entrada. P.ex.

TRISA=0b00000010;

Quer+?... coloque R1 e R2 como pullup ao invés de valor resistivo. (se já está assim, muito bem)

Tem+ mas pode te dar indigestão. Por hora é só.

Postado
Em 01/04/2019 às 07:41, Isadora Ferraz disse:

Amigo, verifique no datasheet se você não tem que setar o PORTA como digital. Tô com preguiça de verificar agora.

E tem+..., apesar de TRISA nascer como entrada, é uma boa prática confirmar isso no início do programa. E tem+ ainda,... prefira deixar como entrada somente o pino que vai usar como.. entrada. P.ex.

TRISA=0b00000010;

Quer+?... coloque R1 e R2 como pullup ao invés de valor resistivo. (se já está assim, muito bem)

Tem+ mas pode te dar indigestão. Por hora é só.

beleza amigao, vou pesquisar e tentar resolver, obrigado por tudo.

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...