Picaxe – Controlo de Display de 7 Segmentos
O programa seguinte é um exemplo de como podemos ligar e controlar o funcionamento de um display de sete segmentos a partir de um microcontrolador Picaxe.
Para saber mais sobre os displays de sete segmentos veja o artigo anterior aqui.
. Primeiro apresentamos o esquema de ligação do display de 7 segmentos ao Picaxe.
De notar que usamos o divisor de tensão regulável, à esquerda na imagem, para poder controlar a tensão que entra na entrada 7 (valor analógico) e, deste modo podermos, no programa, controlar o tempo que o display fica aceso em cada número (o programa vai fazer, basicamente, contagens de 0 a 9 (em loop interminável), sendo os valores apresentados no display). Se a tensão que entrar no pino 7 do Picaxe for maior (cursor do potenciómetro mais para cima), o display ficará mais tempo em cada número que consitui a contagem de 0 a 9.
O display usado, neste caso, é de cátodo comum, como podem comprovar na primeira imagem.
. De seguida apresentamos o programa .bas que faz o display funcionar com acima foi referido, tendo ainda uma parte que faz piscar o ponto decimal do display, duas vezes, por cada contagem de 0 a 9 efectuada.
No final do artigo damos o link para descarregar o programa .bas propriamente dito, já pronto a ser corrido no PICAXE Programming Editor (download aqui).
. Depois mostramos uma imagem onde se pode ver quais os segmentos que mandamos, no programa, o display acender, em cada caso (cada número de 0 a 9)
.Finalmente, apresentamos uma imagem do programa a correr (simulação no PICAXE Programming Editor), sendo que, no caso da imagem, o contador se encontra no número 7 (apenas segmentos A, B e C acesos, para formar o dito número).
Dúvidas ou erros, enviar email, sff. Obrigado.
‘*****************************************************
‘  File Name    : setesegmentos.bas
‘  Version      : 1.0
‘  Description  : PICAXE –> Display de Sete Segmentos
‘*****************************************************
‘ Use PICAXE 28X
#picaxe 28X
‘ Atribuição de Variáveis
symbol cnt = b0
symbol adc_val=b1
symbol seg_dot = 7
let pins = %00000000 ‘ Reset de todos os pinos das Saídas/Outputs
main:
  for cnt=0 to 9
    readadc 7,adc_val  ‘ Lê o valor analógico na porta de entrada 7, para a variável adc_val / b1
    gosub disp_val
    pause adc_val
  next cnt 
  ‘ Limpa Saídas / Outputs
  let pins = %00000000 ‘ Limpa/Reset todos os pins de Saídas / Outputs
  pause 100
  for cnt=0 to 2
    high seg_dot
    pause adc_val
    low seg_dot
    pause adc_val
  next cnt 
  goto main      ‘ Volta ao Início / main
  end
disp_val:
  select cnt
    case 0
      let pins = %00111111     ‘ 0 -> A=1,B=1,C=1,D=1,E=1,F=1,G=0,PONTO=0
    case 1
      let pins = %00000110     ‘ 1 -> A=0,B=1,C=1,D=0,E=0,F=0,G=0,PONTO=0
    case 2
      let pins = %01011011     ‘ 2 -> A=1,B=1,C=0,D=1,E=1,F=0,G=1,PONTO=0
    case 3
      let pins = %01001111     ‘ 3 -> A=1,B=1,C=1,D=1,E=0,F=0,G=1,PONTO=0
    case 4
      let pins = %01100110     ‘ 4 -> A=0,B=1,C=1,D=0,E=0,F=1,G=1,PONTO=0
    case 5
      let pins = %01101101     ‘ 5 -> A=1,B=0,C=1,D=1,E=0,F=1,G=1,PONTO=0
    case 6
      let pins = %01111101     ‘ 6 -> A=1,B=0,C=1,D=1,E=1,F=1,G=1,PONTO=0
    case 7
      let pins = %00000111     ‘ 7 -> A=1,B=1,C=1,D=0,E=0,F=0,G=0,PONTO=0
    case 8
      let pins = %01111111     ‘ 8 -> A=1,B=1,C=1,D=1,E=1,F=1,G=1,PONTO=0
    case 9
      let pins = %01101111     ‘ 9 -> A=1,B=1,C=1,D=1,E=0,F=1,G=1,PONTO=0
 endselect
 return      
‘ EOF: setesegmentos.bas
Descarregar o programa aqui.
Outubro 21, 2014 No Comments
Rendimento de Motor DC – Animação Flash –
Curso Profissional de Técnico de Electrónica, Automação e Comando
Disciplina de Electricidade e Electrónica
Módulo 12 – Máquinas Eléctricas I
Rendimento de Motor DC – Animação Flash –
Pode fazer o download da animação aqui.
Outubro 18, 2014 No Comments
Um pequeno passo para o homem…
Outubro 8, 2014 No Comments
 
	











