GERADOR DE FUNÇÕES COM SINAIS INCONSTANTES AJUSTÁVEIS

OLÁ PESSOAL, BELEZA? SOU NOVO AQUI NO LABORATÓRIO E QUERIA SABER SE ALGUÉM JÁ FEZ OU TEM NOÇÃO DE COMO SE PODE FAZER UM GERADOR DE FUNÇÕES COM O ARDUINO ONDE PODEMOS GERAR SINAIS DIVERSOS, COMO OS CONHECIDOS ONDA QUADRADA, DENTE DE SERRA, SENOIDAL, ETC., SÓ QUE COM UMA DIFERENÇA: NÃO SÓ PULSOS CONTÍNUOS, MAS COM AUSÊNCIA DE X PULSOS APÓS Y PULSOS, SENDO QUE ESSES NÚMEROS POSSAM SER ESCOLHIDOS. TENTEI REPRESENTAR ABAIXO UM SINAL DE ONDA QUADRADA COM 5 PULSOS E 3 FALHAS. É MAIS OU MENOS ASSIM:

                --_--_--_--_--____--_--_--_--_--____--_--_--_--_--____--_--_--_--_--_

EU QUERIA SABER SE HÁ UM CÓDIGO CAPAZ DE FAZER ISSO...

Exibições: 863

Responder esta

Respostas a este tópico

Não conheço nenhum, acho que vc teria que fazer. De uma olhada como ˜gerador de ondas arbitrarias˜.

Vejo 2 caminhos:

- Criar a forma de onda manualmente por ex com um editor de sons que permita criar com o mouse e depois tocar isso repetidamente no arduino. Usando .wav é simples de tocar.

- Fazer mesmo um programa para gerar, que imagino assim:

 Criar um array que tenha as amplitudes de uma senoide, e triangular. Vc pode tb usar as funcoes sen() mas isso demora muito mais que uma tabela. A velocidade é crucial.

  Criar uma interrupcao de tempo programavel pra ir buscar esses valores na tabela e guardar.

  Cirar outra interrupcao de tempo programavel para ir buscar outra tabela, que tem a programaçao do que fazer com esse sinal. Pode ser por ex um numero para multiplicar o sinal. Se for 0 desliga, se for 1 mantem, etc.

  O programa principal multiplica os 2 valores e joga num conversor DA.

  Belo projeto.

   O mais dificil da segunda opcao seria fazer os menus para a pessoa preencher o que quer. 

   Ainda, nao espere que gere com altas frequencisas. Uma senoide ruim tem por ex 100 amostras. Se vc conseguir uma interrupcao a 10KHz pode ficar feliz. Com 100 amostras vc gera 100Hz no maximo. (Valores exemplo, nao sei os valores maximos para o arduino).

   Para produtos comerciais se usa um processador para o menu e uma logica programavel (FPGA) que é programada (ou parametrizada) pelo processador para gerar a forma de onda desejada.

OBRIGADO EDUARDO. SERÃO NECESSÁRIAS MUITAS HORAS DEBRUÇADAS SOBRE ESTE PROJETO... ESPERO CONSEGUIR O QUANTO ANTES. VOU ESTUDAR MAIS A FUNDO E VOLTO A COMENTAR. MAIS UMA VEZ, OBRIGADO!

OLÁ! COMO SERIA O CÓDIGO PARA FAZER REPETIR UM TRECHO DE UM PROGRAMA NO ARDUINO QUANTAS VEZES A GENTE QUISER??

O mais facil seria com o for().

OK. PENSO EM FAZER O PROGRAMA "DIVIDIDO" EM DUAS PARTES: UMA PARA GERAR OS PULSOS (POR EXEMPLO, 40 PULSOS, REPETINDO UMA SEQUÊNCIA DE NÍVEL LÓGICO ALTO E BAIXO) E OUTRA PARA AS PAUSAS, REPETINDO UM NÍVEL BAIXO (POR 5 VEZES, POR EXEMPLO). ENTÃO, JOGAR ISSO NO FOR()... SÓ NÃO SEI BEM COMO FAZER ISSO E SE SERIA O MAIS VIÁVEL. AINDA TERIA QUE PENSAR NUMA FORMA FÁCIL DE INTERVIR NO PROGRAMA PARA MUDAR A QUANTIDADE DE PULSOS E PAUSAS.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço