Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
birimba

Programação de Catraca Eletrônica

Recommended Posts

Olá pessoal, tenho que fazer um projeto para feira de ciências com Pic se possível, pois é o diferencial do meu período. Então procurei na internet e achei um sobre catraca eletrônica. As peças e catraca não são o problema, mas sim a programação do pic, que não estou conseguindo montar. O projeto é fácil de encontrar na net mas estou postando o link para lhes poupar tempo. Se alguém puder me resolver isso iria me ajudar muito já que a feira está quase chegando.

http://www.slideshare.net/GabrielXavier8/catraca-eletrnica

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, poste uma base do esquema do seu projeto; dê mais detalhes. Como será o controle? Terá uma catraca física? RFid? Leitor de barras?

Estou aqui para te ajudar no que puder. Já tem ideia do compilador que queres programar? Se você não tem muito conhecimento, sugiro que dê uma pesquisada no MikroC da Mikroeletronika. Crie uma ideia, um esboço do código e assim te ajudarei.

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • Não tenho muito conhecimento de programação mesmo, é um trabalho que eu tenho que dar um jeito de aprender. A ideia é fazer um controle de alunos, como as de academia, os alunos terão um passe(cartão com código de barras), o leitor manda o código do cartão para o computador, que já vai conter todas as informações sobre o mesmo registradas, e então liberará a catraca. Tenho usado o mikroBasic e como já mencionado não tenho muito conhecimento nessa área, todas as informações de que disponho no momento são as que se encontram nesta apostila.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Caso o computador disponha de uma porta paralela acredito ser possível montar a catraca sem o uso de microcontroladores. Você pode usar um RFid com conexão USB.

    Se você quiser a catraca USB a programação não vai ser simples.

    Posso ajudar você em C ou assembly para PIC, AVR e 8051.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Então, o projeto dessa apostila utiliza o PIC 16F877A, com linguagem Basic e Assembly, a entrada do computador que ele utiliza é serial. Acho que o programa já está escrito, só que dividido em partes.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • E aí gente como fica esse projeto? ninguém mais pode me ajudar?

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • O circuito está na página 53 da apostila já postada. O desenvolvimento do projeto começa no capítulo3, página 26. Especificações de software para o microcontrolador e para o PC, com fluxogramas explicando o funcionamento do programa, estão mostrados a partir desta página. O fluxograma do software para o microcontrolador está na página 55.

    Editado por birimba

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Por enquanto acho que ela ficaria assim:

    program Catraca

    RCSTA=$90 'Habilita recepção USART

    TXSTA=$24 'Seta transmissão USART

    SPBRG=129 'Taxa de transmição 9600 baunds

    TRISD=%00000000 'Configura todos os pinos da PORTD como saída

    main:

    Goto START

    'Rotina de interrupção

    Asm 'inicia um programa em assembly

    Interrupção USART 'endereço de interrupção

    movwf wsave 'salva registrador W

    swapf STATUS,W 'alterna nibbles de STATUS e armazena em W

    clrf STATUS 'limpa STATUS

    movwf ssave 'salva W em ssave

    movf PCLATH,W 'move PCLATH para W

    movwf psave 'salva PCLATH

    movf FSR,W

    movwf fsave 'salva FSR

    btfsc PIR1.0 'se houve interrupção por timer

    goto TEMPO 'desvia para TEMPO

    INT_USART: 'se não, interrupção USART

    End Asm 'fim de instrução assembly

    Asm

    incf_index_in,F 'incrementa index_in

    movf_index_in,W 'salva em W

    sublw_buffer_size-1 'verifica se index_in é igual ou maior que o tamanho do vetor

    btfss STATUS,C

    clrf_index_in 'se for, zera index_in

    movlw Low_buffer 'pega o endereço da primeira posição do vetor buffer[0]

    addwf_index_in,W 'soma o index_in a este indereço

    movwf FSR 'e o salva no registro FSR

    movf RCREG,W 'armazena em W o caracter recebido pela serial

    movwf INDF 'armazena na posição de memória apontada por FSR

    End Asm 'fim de instrução assembly

    INTCON=0 'desabilita interrupções

    index_out=index_out+1 'incrementa index_out

    IF(index_out=>buffer_size)Then

    index_in=0

    index_out=0 'limita tamanho do índice

    End If

    vetor[index_out-1]=buffer[index_out] 'salva no vetor

    'auxiliar o caracter

    INTCON=%11000000 'liga Interrupção

    TMR1L=0 'zera registrador do Timer1/baixo

    TMR1H=0 'zera registrado do Timer1/alto

    PIE1.0=1 'flag de interrupção do Timer1

    goto SAIDA

    Asm

    TEMPO:

    movlw 0

    movwf TMR1L

    movlw 0

    movwf TMR1H

    bcf PIR1.0

    End Asm

    Asm

    SAIDA:

    movf fsave,W 'recupera valor de FSR

    movwf FSR 'carrega em FSR

    movf psave,W 'recupera valor de PCLATH

    movwF PCLATH 'carrega em PCLATH

    swapf ssave,W 'troca nibbles de ssave

    movwf STATUS 'recupera valor de STATUS

    swapf wsave,F 'troca nibbles de wsave

    swapf wsave,W 'troca novamente e salva em W(restaura valor de W)

    retfie 'sai da interrupção

    End Asm

    START:

    Rotina principal:

    index_in=0 'zera índice para vetor do código cartão

    index_out=0 'zera índice auxiliar

    INTCON=%11000000 'habilita interrupções

    PIE1.5=1 'liga interrupção USART

    GOSUB ZERAR 'zera vetor código do cartão

    HIGH TRAVA 'desliga solenóide da catraca

    HIGH LED 'apaga LED

    TEMPO_LED=0 'inicializa contador de tempo led/solenóide desligados

    TMR1L=0 'zera registrador do Timer1/baixo

    TMR1H=0 'zera registrado do Timer1/alto

    TICON=%00110001 'habilita interrupção Timer1

    LCDout $fe,1 'limpa Display

    low PIR1.0 'zera flag de interrupção do Timer1

    DISPLAY:

    B2=ACK 'carrega B2 com ACK(6)

    PASSO_1:

    ........

    SERIN2 PORTC.1\PORTC.0,84,500,PASSO_1,[b0,B1,B3,CRC16A_H,CRC16A_L] 'aguarda a chegada de dados pela serial

    end.

    Por enquanto estou entendendo +/-, sei que nesse pontilhado do passo1 tenho que colocar um endereço de para ativar o timeout caso não haja a chegada de dados, mas não entendo que enderço é esse

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário






    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

    ×