Boa noite garagistas.

Estou elaborando um projeto, com a ajuda de muitos colegas (com os codigos fonte) em um pic 16F628A com compilador Mikroc 7.5.0.Quero fazer uma mudança para este codigo do Jefferson Projetos, do site "Eletricamente Falando" (http://eletricamentefalando.blogspot.com/2013/08/tacometro-conta-gi...) e trocar o display de LCD 1 display de 7 segmentos com 4 digitos. A maioria das linhas de codigo eu entendi, mas minha questão mesmo seria a mudança destes displays, de resto eu me viro para descobrir.Estou fazendo para meu uso próprio uma centrifuga para circuitos PCB e preciso desta mudança.Ja tentei contato com o autor do projeto mas o mesmo não me retornou.Ficaria muito agradecido por vossa ajuda.Segue código fonte a ser analisado:

Tac%C3%B4metro.c

Exibições: 183

Responder esta

Respostas a este tópico

MRV, por favor aceite minha solicitação de amizade pra falar no chat.

Boa noite SCS,

segue anexo o seu código modificado para usar 4 x 7 seg catodo comum.

Não  pude testa-lo pois como disse antes não tenho o Mikroc.

Testa aí e  depois conta pra gente o que ocorreu?

RV

Tac_metro_V02.c

MRV bom dia.

Notei que para este codigo, vc colocou como clock interno, no entanto, coloquei fisicamente um clock externo de 10 Mhz.Não dará problema no código? Obrigado.

SCS,

eu não modifiquei o clock do seu código.

Onde vc encontrou esta definição do clock que vc se refere?

Em quais linhas?

RV

Boa noite.

das linha 88 a 99 (mais precisamente na linha 95)

Segue trecho de codigo das linhas 88 a 99

// Configura as Portas *********************************************************
TRISA = 0b00100000; // define PORTA como ssesssss
TRISB = 0b00000000; // define PORTB como ssssesss
INTCON.GIE = 1; // Habilita chave geral das interrupções
INTCON.PEIE = 1; // Habilita Interrupção dos periféricos
PIE1.TMR1IE = 1; // Habilita interrpções de TMR1
PIE1.CCP1IE = 1; // Habilita Interrupção do módulo CCP
T1CON = 0b00110001; // Liga TIMER1, prescaler 1:8, Clock interno
CCP1CON = 0b00000101; // CCP1 em modulo CAPTURA e borda de SUBIDA
//CCP1CON = 0b00000100; // CCP1 em modulo CAPTURA e borda de DESCIDA
PIR1.CCP1IF = 0; // Limpa a flag para nova captura
PIR1.TMR1IF = 0; // Limpa a flag do TIMER1 para uma nova contagem

Gostaria de saber tb qual é a função deste vetor e pra que serve estews numeros internos a ele (linha 18):

const char character[] = {4,10,14,17,17,17,14,0};

Se puder me ajudar, fico agradecido.

Obrigado.

Obs.Estou no aguardo de uns componentes para fazer o teste do codigo fisicamente na centrifuga.Assim que chegar do correio, vou montar em protoboard e fazer o teste.

Obrigado.

Bom dia SCS,

1o.

A unica linha deste grupo de linhas que postou foi esta aqui:

o valor era 0b00001000; e modifiquei para 0b00000000;

/ Configura as Portas *********************************************************
TRISA = 0b00100000; // define PORTA como ssesssss
TRISB = 0b00000000; // define PORTB como ssssesss <  < -----------
INTCON.GIE = 1; // Habilita chave geral das interrupções
INTCON.PEIE = 1; // Habilita Interrupção dos periféricos
PIE1.TMR1IE = 1; // Habilita interrpções de TMR1
PIE1.CCP1IE = 1; // Habilita Interrupção do módulo CCP
T1CON = 0b00110001; // Liga TIMER1, prescaler 1:8, Clock interno
CCP1CON = 0b00000101; // CCP1 em modulo CAPTURA e borda de SUBIDA
//CCP1CON = 0b00000100; // CCP1 em modulo CAPTURA e borda de DESCIDA
PIR1.CCP1IF = 0; // Limpa a flag para nova captura
PIR1.TMR1IF = 0; // Limpa a flag do TIMER1 para uma nova contagem

este "settring " não é de clock, e sim do port B, informando que este  bit era

entrada e passa ser saída.

compare o seu que enviou Tac%C3%B4metro.c com o que enviei Tac_metro_V02.c.

Se ainda tiver dúvida, pode perguntar.

2o. const char character[] = {4,10,14,17,17,17,14,0};

Este valores carregam uma matriz de nome "character" com este valores e

no formato "char" .

Esta linha era parte do seu código, e ao modificar esqueci de deletar esta linha.

No código que fiz pode remove-la.

RV

Bom dia. Finalmete consegui testar o codigo e montei o circuito em protoboard mas não funcionou.Chequei a alimentação no MC e esta chegando 4,9 V pelo regulador de tensão 7805.As saidas dos pinos estão com tensões de 3,7V e gostaria de saber se é normal esta tensão inferior nos pinos onde irão ascender os segmentos do display.Será que tem um teste simples que eu possa fazer para cada pino do MC e ver se este esta ok? No aguardo, obrigado.

Bom dia, 

Informe as especificações do seu LCD 4 dígitos. Envie o link. 

Alguns LCDs usam níveis de tensão diferentes de 0V e 5V ! 

Boa tarde.Acho estranho ser alimentado com uma tensão acima de 5V pq eu testei na escala de diodo do meu multimetro e ele acendeu normalmente, mas segue as especificações e link de compra

O display é o "Display 7 Segmentos + PT 4 Dig. 0,36" Vermelho Catodo comum"

Segue o link:

https://www.eletrodex.com.br/display-7-segmentos-pt-4-dig-0-36-verm...

Muito Obrigado.

Boa noite, 

Eu não falei acima de 5V. A tensões de LCD são abaixo de 5V.

O seu display de 7 segmentos / 4 dígitos não é LCD!! 

trocar o display de LCD 1 display de 7 segmentos com 4 digitos." 

É um display de LED que consome bastante corrente! 

Como fez as ligações?

Veja o meu tutorial :

https://blog.eletrogate.com/guia-completo-dos-displays-de-7-segment...

Boa noite JGAM.

Segue pdf de como eu fiz as ligações do meu circuito.

Dimmer%20centrifuga%20PCB.pdsprj.pdf

Bom dia Sérgio, 

Seu diagrama tem erros graves! Espero que não tenha queimado o seu display LED 4  dígitos! 

a) Primeiramente, a pinagem do display no seu diagrama esta toda incorreta. Onde conseguiu essa pinagem?

b) O circuito driver (transistores) que você esta usando é para Display anodo comum. Seu display é catodo comum! 

c) Curiosidade minha - qual programa usou para editar o diagrama? Obrigado.

Datasheet do display D4036KSR:

https://cromatek.com.br/datasheet/optoeletronicos/display-led-quadr...

Circuito driver para Display Catodo comum:

http://www.arnerobotics.com.br/eletronica/Microcontrolador_PIC_prat...

RSS

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2020   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço