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.

Sink00

Membros Plenos
  • Total de itens

    558
  • Registro em

  • Última visita

  • Qualificações

    0%

Reputação

1

Sobre Sink00

  • Data de Nascimento 20-08-1986 (31 anos)

Informações gerais

  • Cidade e Estado
    São Paulo
  1. Display gráfico 128x64

    Edu, posta o código aqui para podermos ajudar mais fácil. E se possivel com uma descrição de o que acontece. Abs
  2. Pronto, agora ja temos algo mais solido para trabalhar. Alguns pontos. Veja no seu codigo, você está configurando apenas o seu timer e não o CCP. No caso do timer, por que você esta escolhendo a sua fonte de clock como externa? Lembre-se, na visão do timer, o clock que o processador usa é sempre interno, independente de que forma ele é gerado. Terceiro. Na sua interrupção você esta tratando o timer. Por que? Ja que você quer saber quando ocorre um evento externo, não faz mais sentido o CCP ser a sua fonte de interrupções? Diga-se de passagem, a interrupção do timer tera alguma utilidade para você? Pense um pouco, reescreve seu codgio e volte com ele. ABs
  3. Vamos la, O Felipe ja lhe deu todas as ferramentas para você conseguir o que quer. No segundo link (PICmicro® CCP and ECCP Tips ‘n Tricks) vá até o TIP#3 (pag. 8) se você quer medir apenas o tempo que a onda fica em nível alto, ou até o TIP#4 (pag. 9) se você quer medir o duty cycle. Neste documento há uma explicação do que deve ser para se conseguir realizar essas medidas. Ok Com os passos a serem efetuados em mãos, você precisa descobrir como implementar isso em um PIC. Dai que entra o primeiro documento. Ele é o manual da familia em questão de PICs. SEMPRE leia esse documento para o microcontrolador que você está trabalhando. No forum, as pessoas não gostam de responder coisas que estão explicitas no datasheet/manual. Neste documento leia as seções 12 e 14. La existe a descrição dos registradores que você vai precisar usar para implementar o que você quer. Tente escrever um código. Se não funcionar, volte e poste o codigo aqui. Dai teremos algo bem mais solido para trabalhar em cima. Não obstante algumas pessoas do forum ajudam escrevendo o código do zero quando há uma dúvida, isso não é regra, então não contem com isso. Abs
  4. Antes de qualquer coisa. Deixa eu ver se eu entendi o que você precisa. Você tem uma onda quadrada com frequência fixa de 333Hz. E quer medir o duty cycle deste sinal? O que você ja tem de código. Posta aqui para podermos trabalhar em cima dele. ABs
  5. PIC32 - Buffer UART

    Va no diretório do seu C32 e entre em examples\plib_examples\uart\uart_interrupt\source Leia o código que está escrito lá e volte com dúvidas sobre o código. Dica: onde está "void __ISR(_UART2_VECTOR, ipl2) IntUart2Handler(void)" é o gerenciamento da interrupção da UART2. Boa sorte, abs.
  6. Olhe na figura anexada... Depois basta selecionar o TOP module (ou seja qual modulo você quer simular) e clicar em "Simulate Behavioral Model" na janela Processes. Boa sorte. Abs
  7. Uma sugestão. Melhor modo de simular no caso seria utilizando o proprio simulador da Xilinx. Baixe o ISE e utilize o simulador deles mesmo. Você vai poder simular entradas e saidas nos pinos, assim como verificar o funcionamento de toda logica interna do FPGA. Caso você queira emular uma interface digital externa, uma dica é pegar um modelo em VHDL/Verilog desta interface e colocar na propria simulação. Se o IP Core for bem feito ele vai responder do mesmo modo que a interface que você quer conversar. Mesmo com a placa em mãos aprenda a usar o simulador.. ele é o seu melhor amigo nesses projetos... Abraços
  8. Pessoalmente eu não acho uma boa ideia começar pelo Cortex-M4 fa Freescale. Eles alguns BUGs, não tem muita informação nem uma comunidade muito ativa ainda. Dentre os Cortex-M3 que eu jao que eu mais gosto é o STM32. Alguns kits BBB (bom bonito e barato) para começar podem ser: LINK e LINK Essas placas não vem com muito periféricos, mas o gravador ja vem embarcado e pode ser usado com STM32 externos. Por 40 reais não é nada mau para um começo. Abs
  9. Complementando o faller, existem diferentes topologias de circuito. Um exemplo bem simepls é de um conversor linear DC/DC. Recentemente eu fiz uma placa com um conversor para 1.2V. E, arberto, na saida aparece 2.5V. Algumas fontes precisam de uma carga para conseguirem estabilizar. Abs
  10. Mas dai que ta o problema. A saida do giroscópio, como eu ja lhe expliquei, é a taxa de rotação. Independente da posição do giroscópio, caso ele esteja parado, a saida é zero (ou muito próximo disto). Ja acelerometros, medem a aceleração, incluindo a aceleração da gravidade. Desta forma, quando você inclina um acelerômetro, quando ele voltar a ficar estático, o que você vai ter na saida é o vetor de direção da gravidade, cujo pode ser utilizado para medir a inclinação. Obviamente durante o movimento o vetor gravidade se soma à propria aceleração do acelerometro. É por isso que normalmente se utiliza os dois (giroscopios e aceleremetros) para conseguir calcular a inclinação durante um movimento. Abs
  11. Pegunta básica. Você quer medir a inclinação ou a taxa de rotação? Se for a inclinação dai você vai ter problemas. Giroscópios medem taxa de rotação. Para adquirir a inclinação você precisaria integrar o dado, porém como nada é perfeito você com certeza vai ter um drift e acabar criando um offset gigantesco. Se você quiser medir inclinação estática em relação ao chão eu aconselho um acelerometro. Além de tudo eles custam 1/5 do preço. Abs
  12. O_o .. criar uma queda de 42V para 5V em um regulador linear é quase um crime hahaha. Para cada mA você vai estar queimando 37mW. Mesmo que o 7805 aceitasse essa tensão de entrada (ele não aceita), ele iria ficar bem quente para uma corrente de 200mA. O que você deve fazer é utilizar um regulador chaveado do tipo buck. Um exemplo seria o LM2593HV, porém não sei se você va encontra-lo fácil. Abs
  13. Eu vou te dar umas dicas do que você precisa fazer. Se não conseguir mesmo assim eu te passo um protótipo de código mais elaborado. Eu não entendi muito o que cada tecla faz (por exemplo o asterisco), então eu ignorei simplesmente. Veja se você entende: const unsigned char pass_size = 4; void main() { unsigned char flag_tecla = 0; unsigned char flag_debounce = 0; unsigned char index = 0; unsigned char flag_erro = 0; for(; { if(flag_debounce) { delay_ms(50); //Isso deveria ser feito com um timer.... porém é apenas um exemplo flag_debounce = 0; } else { if(flag_tecla) { if(teclado() == 255) { flag_tecla = 0; flag_debounce = 1; } } else { tecla = teclado(); if(tecla != 255) { flag_tecla = 1; flag_debounce = 1; senha1[index] = tecla; pass_size++; if(index == pass_size) { flag_erro = 0; for(index = 0; index < pass_size ; index++) { if(senha1[index]!=senha[index]) flag_erro = 1; } index = 0; if(~flag_erro) { //AUTENTICADO..... } } } } } } } Eu não testei.. então deve ter algum bug.. mas deve passar a ideia... Abs
  14. Detalhe importante.. cuidado com a tensão de operação. A não ser que você use um PIC que possa operar a 3.3V você vai precisar de uma conversão de nível na comunicação. Eu não li o datasheet do gyro, pode ser que os pinos dele sejam tolerantes à 5V, dai você não vai ter problema. Abs
  15. Olhei a questão 3 e é exatamente um contador. Pelo que eu entendi aquilo é uma comparação com 6. e a saída será 1 se for verdadeiro. Para gaantir que é um comparador eu escrevi o código em verilog e simulei. module counter( input clk, input enable ); reg [2:0] counter = 3'h0; reg [2:0] counter_next; reg control; wire [2:0] sel_0; wire [2:0] sel_1; wire comp; always @ (posedge clk) begin counter <= counter_next; end assign sel_1 = counter + 3'h1; assign sel_0 = counter; assign comp = (counter == 3'h6) ? 1'b1 : 1'b0; always @ (*) begin if(control) counter_next = sel_1; else counter_next = sel_0; end always @ (*) begin if (~comp | enable) control = 1'b1; else control = 1'b0; end endmodule Seu eu não perdi nada acho que é isso. Abs

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

×