Ir ao conteúdo
  • Cadastre-se

Contadores


Posts recomendados

@marceli borges,

 

Se o que eu escreví acima está correto, sobre os sensores, botões, e chave DIP de configuração, pode sim usar o Arduino. É que facilita a programação, pois pode-se programar direto usando a porta USB de seu computador.

 

Já se usar apenas um microcontrolador tipo Atmega328P, fica mais complicado de programar, pois tem de comprar um gravador USBASP e colocar um soquete de 6 pinos para poder ligar ogravador USBASP aos pinos do microcontrolador. 

 

De qualquer maneira, voce vai ter de montar uma placa PCB com os componentes que eu passei acima, e os conectores que irão aos displays Leds, então até poderia incluir o Atmega328P nesse circuito. é uma questão pessoal sua !

 

Se houver alguma alteração quanto às entradas e botões, aí sim podemos usar um ARDUINO Mega1284P. É um pouco mais caro, mas tem bastante pino sobrando.

 

Paulo

Link para o comentário
Compartilhar em outros sites

@marceli borges,

 

Bom, segue o esquema da parte de interface do Arduíno com o seu projeto :


j6ise8.jpg

Em anexo, estou colocando uma cópia de um artigo meu que ensina muita coisa sobre Leds, Displays, Multiplex, enfim, a parte de Multiplexação será muito importante para voce poder fazer esse seu projeto. Baixe ele e dê uma lida, creio que será bem simples a assimilação.


Se voce reparar o esquema acima, eu coloquei apenas um único display de sete segmentos. Na verdade, no seu projeto, existem 10 displays de 7 segmentos e mais dois displays de um só segmento.

 

Lembra que na montagem dos displays, usamos o Catodo comum, isto é, todos os catodos dos Leds de cada display estão ligados juntos. Olhe no meu esquema, voce vai ver o CI U5 e U6 . Neles é que serão ligados todos os catodos de seus doze displays.... Do primeiro ao sétimo, serão ligados ao CI U5, usando desde o pino 10 até o pino 16. Os outros 5 displays faltantes serão ligados aos pinos 10 até o pino 14 do CI U6.


Quanto aos dois displays que são apenas uma simples coluna de Leds, eles terão a parte do Anodo ( claro que em série com o resistor limitador, certo ? ) ligado ao pino 18 do CI U2.

Quanto ao funcionamento, o segredo é colocar o valor correto na porta C do Atmega328, que no caso do Arduíno Uno são justamente os pinos chamados de Analog In, marcados de A0 até A4.


Para acionar o primeiro display, basta colocar na saída do Port C o valor &B00010000 ; Sucessivamente, até o sétimo display teremos o valor &B00010111 . Depois disso, para acionar o oitavo display teremos de colocar o valor &B00001000 e sucessivamente até o décimo-segundo display, o qual terá o valor &B00001100.

 

O truque é calcular certo a frequência do Multiplex : são doze displays, que tem de acender no mínimo 30 vezes por segundo, o que dá 30*12 = 360 Hz.


Assim, iremos programar um Timer para gerar essa frequência.

 

Eu usei dois Resistors array de 10K no formato DIP 16, mas se você tiver dificuldade, pode usar resistores comuns de 10K por 1/8 de watt .

 

Por último, repare que o CI U2 é alimentado pela tensào de +26V da fonte ! Todos os outros, inclusive o Arduino, tem de ser alimentados pelos +5V.

 

Lembro aqui que o Proteus tem o pessimo hábito de não mostrar no circuito os pinos de alimentação e de GND dos circuitos integrados.

 

 

Veja o processo do multiplex no artigo que enviei em anexo, ok ?


Qualquer duvida, poste aqui.

 

Paulo

como funciona.rar

projeto_proteus8.rar

Link para o comentário
Compartilhar em outros sites

@marceli borges

 

Para te facilitar, segue o programa em Bascom que implementa o Multiplex no circuito que eu te passei. Testado no Proteus8 !

'----------------------------------------------------------------------
' PROGRAMA MULTIPLEX1 - Implementa o Multiplex no Arduino Uno.
' Este programa utiliza o Timer0 de 8 bits para a base de tempo
' e implementa um refresh de 30 Hertz em cada display.
'----------------------------------------------------------------------
$crystal = 16000000
$regfile = "m328def.dat"
$hwstack = 40
$swstack = 16
$framesize = 32

Dim Digitos(12) As Byte
' Sao 12 displays....

Dim Disp_index As Byte
Dim Disp_aux As Byte
Config Portd = Output
' PortD vai acender os segmentos, usaremos todos como saída.

Config Portc = Output
' PortC controla qual dos 12 displays irá acender

Disp_index = 0
Digitos(1) = 0
Digitos(2) = 0
Digitos(3) = 0
Digitos(4) = 0
Digitos(5) = 0
Digitos(6) = 0
Digitos(7) = 0
Digitos(8) = 0
Digitos(9) = 0
Digitos(10) = 0
Digitos(11) = 1
Digitos(12) = 1

Config Timer0 = Timer , Prescale = 1024
Timer0 = 213

' vamos gerar uma interrupção a cada 2,75 milissegundo
' que corresponde a uma frequencia de Multiplex de 363,4 Hertz
' ou seja, cada display vai acender 30 vezes por segundo !

On Timer0 Timer0_sub
Enable Timer0
Enable Interrupts

' começaremos do numero 0
Do
' aqui é a rotina principal, onde trataremos tudo nos contadores.
' vamos esperar o sinal de RF do jogador 1 ou 2, e tratar de acordo.
' Por enquanto, apenas para mostrar que funciona, vamos fazer o display
' numero 1 mostrar todas as possibilidades.   
Wait 1   
Incr Digitos(1)   
If Digitos(1) > 13 Then
  Digitos(1) = 0
End If
Loop
End

'------------- ROTINA DE INTERRUPÇÃO MULTIPLEX --------------------------------
Timer0_sub:
' Rotina chamada pelo Timer0 a cada 2,75 MSEG   
Timer0 = 213   
'recarrega o timer novamente   

Portc.0 = 0
Portc.1 = 0
Portc.2 = 0
Portc.3 = 1
Portc.4 = 1
' apaga todos os dígitos   

If Disp_index > 11 Then
  Disp_index = 0
endif  

' vamos ver se já fizemos o ultimo digito, pois então teremos de   
' começar pelo primeiro novamente   
' A matrix dos displays começa em 1, não em 0, portanto temos   
' de ajustar incrementando o index.   

Incr Disp_index
Disp_aux = Digitos(disp_index)

' agora podemos decrementar pois já pegamos o dado correto.
Decr Disp_index

' Vamos pegar o numero que queremos mostrar e colocar na saída
Portd = Lookup(disp_aux , Table_0f)
Disp_aux = Lookup(disp_index , Table_mux)
Waitus 15

Portc = Disp_aux
' faz acender o display correto   

Incr Disp_index
Return

' TABELA DE SEGMENTOS A ACENDER
Table_0f:
Data &B11111100 , &B01100000 , &B11011010 , &B11110010   '0,1,2,3   
Data &B01100110 , &B10110110 , &B10111110 , &B11100000   '4,5,6,7   
Data &B11111110 , &B11100110 , &B00000000 , &B11111111   '8,9,NADA,TUDO
Data &B00000001 , &B00000001                             'PONTO, SEG

' TABELA INDICADORA DO DISPLAY A ACENDER
Table_mux:
Data &B00001000 , &B00001001 , &B00001010 , &B00001011 , &B00001100   
Data &B00001101 , &B00001110 , &B00001111 , &B00010000 , &B00010001   
Data &B00010010 , &B00010011

Boa diversão !

 

Paulo

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • mês depois...

Paulo Bom dia.

Desculpe minha ausência. Estive hospitalizado e não tive condições de dar sequencia ao nosso projeto. Agora, um pouco mais vitalizado, espero poder concluir com sua ajuda. Sei que em momentos de final de ano tudo atrapalha, mas estou a sua disposição para qualquer necessidade. Agradeço a você pela atenção me dada neste ano e ja antecipo um ano de 2016 abençoado a você e todos do forum.

Muito obrigado.

Atenciosamente,

Marcelo Borges

Link para o comentário
Compartilhar em outros sites

  • 4 semanas depois...
  • mês depois...
  • 2 meses depois...

Ufa.... que boa noticia.. Desculpe minha ausência, fiquei sem chão quando me disseram que você teria se ausentado do forum.... Tentei procura-lo via email.... telefone.... fiquei desesperado.... deixei de lado um pouco até poder conversar com você novamente... mas agora, se você estiver animado para ainda me ajudar no projeto, vou arregaçar as mangas agora mesmo...

atenciosamente.

 

Link para o comentário
Compartilhar em outros sites

@marceli borges ,

 

Opa, eu estou sempre animado !!!!!  Afinal, a vida é uma só, de que adianta ficar desanimado ?  Melhor sempre enfrentar o dia a dia animado do que ficar de cara chateado o dia inteiro heheheh !

 

voce precisa aprender a programar um pouco no Bascom, para fazer o seu programa.

 

Paulo

Link para o comentário
Compartilhar em outros sites

Maravilha....

indique algo para eu me aprofundar, visto que já li um de seus tutoriais de multiplexadores de led de sua autoria....mais ainda estou muito crú neste tópico....

em nosso ultimo contato, você me alertava quanto ao projeto da fonte de alimentação... Já adquiri a fonte em 30v por 2 amperes como especificado, você iria preparar um diagrama para a confecção da mesma, visto que tenho que estabilizar em 26v para os leds e 5v para o arduino.

Mas estou aqui com muita vontade em aprender... vamos lá.... é só me dizer...

Link para o comentário
Compartilhar em outros sites

@marceli borges ,

 

Ok, então vamos lá na parte mais divertida.

 

Primeiro, você tem de se acostumar com o Bascom, para fazer o programa inteiro. Não se preocupe com a multiplexação, se preocupe com a lógica toda de seu programa. Veja os primeiros programas de meu tutorial para ir se acostumando com a linguagem e comandos.

 

Apenas crie variáveis para aquilo que você pretende mostrar nos displays, e eu te ajudo na parte da multiplexação.

 

Essa fonte que você adquiriu, já entrega 30V DC , isto é, já retificado e filtrado ?

 

Se sim, será fácil, vamos usar apenas um regulador LM7824 com mais 3 diodos 1N4001, e já teremos cerca de 26,1 Volts para os Leds. A seguir, usaremos um outro regulador do tipo LM7805 , ligado nessa saída de 26,1 Volts, comum dissipador de calor, e ele fornecerá os 5 Volts para o circuito digital.

 

Me confirme isso por favor.

 

Paulo

 

 

Link para o comentário
Compartilhar em outros sites

@marceli borges ,

 

Ainda bem que insisti ....

 

Isso é apenas um transformador , de 15+15 Volts AC . Não é de 30 Volts, a menos que se utilize os dois terminais extremos e ignore o do meio, situação na qual a corrente irá cair pela metade.

 

Mas temos um problema : se fizermos a retificação em ponte, e filtrarmos com um bom capacitor, a tensão obtida será maior do que 35 Volts, o que impede o uso dos reguladores de tensão LM7824 e LM7805.

 

Esse transformador não serve.... você precisa comprar um transformador diferente,  com 110V + 110V no p-r-i-m-á-r-i-o e com secundário de 24V por 2 Amperes, com apenas dois terminais no secundário, e usar uma ponte de diodos para 5A no mínimo e pelo menos 50V AC, e um capacitor de filtro de uns 2200 uF / 50 Volts ou mais. Aí sim teremos uma boa fonte, ok ?

 

Paulo

 

obs:  Inacreditávelmente, é a quinta vez que edito este post, toda vez que eu escrevo a palavra P-R-I-M-Á-R-I-O  da maneira correta, sem os traços separando, o Fórum muda quando eu salvo para :  pra mimário   kkkkkkkk

Vou relatar para o moderador ....

 

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois...
  • mês depois...

BOM DIA PAULO....

Depois de ida e voltas de hospital, hoje ja podemos dar continuidade ao projeto, espero que tudo de ruim ja acabou e vida nova.....

A fonte que publiquei aqui, o seu valor é 30v por 4amperes, e não dois como tinha informado. Fui falar com a Loja e ela me disse que se usar as duas pernas vou ter a tensão final de 30Vpor2amp.... tem justificativa?... mesmo assim, encontrei uma fonte de 26V regulada a 2A... como você me tinha dito, 30V seria necessaria para chegar a 26,4V usando um transistor e um diodo zener 27V....

outro problema... estou tentando comprar o CI-UDN2918A e não acho em lugar algum... você pode me indicar um local para ninha aquisição.

Agradeço sua atenção.

Marcelo Borges

 

Link para o comentário
Compartilhar em outros sites

@marceli borges ,

 

Opa meu amigo, caramba, espero que essas suas idas e vindas de agora em diante sejam apenas como médico e não como paciente !!

 

Eu também já tive a minha fase complicada, e acho que ainda terei umas complicações mais para a frente... mas isso é com o Homem lá de cima.

 

Quanto ao transformador que você postou, está mais do que claro que ele é do tipo 15 + 15 Volts. Mesmo que seja de quatro ampères, se você usar apenas um enrolamento vai ter 15 Volts por 2 Ampères. O problema é que só com 15 Volts não temos tensão suficiente.

 

Eu sugiro voce pegar essa fonte regulada de 26V por 2A, resolve o problema !

 

Vou ver onde tem o Ci ou um equivalente dele e posto aqui novamente.

 

Paulo

Link para o comentário
Compartilhar em outros sites

  • 2 meses depois...

Sr. Paulo desculpa minha ausencia, mais de 60 dias novamente de hospital, agora estou mais saudavel para seguirmos com nosso projeto, espero que tenha ainda paciencia comigo. Providenciei noamente uma fonte de 30V 2amp. Mandei confecionar e pedi para meu menino pegar na Loja.
Assim que tiver em mãos vou publicar para você dar o veredito, se comprei certo ou fui enganado novamente...rsrsrs.

Posso contar com sua ajuda ainda...!

Atenciosamente

Marcelo borges

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!