Arne Basic 2k - Experiência 2 - Sequencial de LEDs


Sequencial de LEDs vai e vem

Quem tem mais de 30 anos deve se lembrar do famoso seriado "Super Máquina" (lá fora conhecido como Knight Rider). Lembro que quando garoto eu queria um carro igual ao K.I.T.T. Mas meu pai jamais deixou eu mexer no Opalão 1971 dele. Nem pensar garoto, dizia ele!!! rsrsrs

Nesta segunda experiência faremos um sequencial de LEDs muito parecido com o aplicado a frente do carro do seriado (que já tem versão nova nos canais pagos). O que teremos como resultado final é um efeito "vai e vem" com LED's piscando a uma freqüência de aproximadamente 2 Hz (período de 0,5 segundo). A ligação entre os LEDs e o Arne Basic 2k pode ser vista na figura abaixo. Como você mesmo pode ver, trata-se também de um circuito bem simples. E novamente eu recomendo a montagem do mesmo em uma matriz de contatos.


Você pode ver o código fonte logo abaixo. Este programa é mais um excelente exemplo da estrutura utilizada em programação BASIC utilizando o compilador BASCOM-AVR. Note que não foi feito ainda o uso de nenhum timer interno do microcontrolador. A temporização é feita através do método da "espera ocupada". Conforme prometido, em breve vou inserir uma experiência que utilizara o timer do microcontrolador. Ansioso?! "Calma Daniel San!!! Primeiro lixa e pinta a cerca, depois aprende karatê né!!!" ehehehehe

Código fonte:
'*******************************************************************************
'* Programa KITT_ArneBasic2k.BAS - Efeito "super máquina"
'* Desenvolvido por Márcio José Soares
'* para do Arne Basic 2k
'*
'* Obs.: Este programa foi desenvolvido para testar o Arne Basic 2k
'*******************************************************************************
 
'*******************************************************************************
'Configs necessários ao microcontrolador
$crystal = 10000000
$regfile = "attiny2313.dat"
Config Portb = &B11111111                         'todo portB é saída
Config Portd = &B11111110                         'todo portD é saída, exceto PD0
 
'*******************************************************************************
'Variáveis globais
Dim I As Byte                                     'var para contador
 
'*******************************************************************************
'Início do programa                               'aguarda 0,5 segundo
Waitms 500
 
Portb = 1                                         'acende primeiro led
 
'*******************************************************************************
'Laço principal
Do
 
   'realiza giro a esquerda
   For I = 1 To 8
      Waitms 500                                  'aguarda 0,5 segundo
      Rotate Portb , Left                         'shift dos bits a esquerda
   Next I
 
   'realiza giro a direita
   For I = 1 To 8
      Waitms 500                                  'aguarda
      Rotate Portb , Right                        'gira a direita
   Next
 
Loop
 
End


Copyright deste conteúdo reservado para Márcio José Soares e protegido pela Lei de Direitos Autorais LEI N° 9.610, de 19 de Fevereiro de 1998. É estritamente proibida a reprodução total ou parcial do conteúdo desta página em outros pontos da internet, livros ou outros tipos de publicações comerciais ou não, sem a prévia autorização por escrito do autor.