AJUDE O BLOG! MUITO OBRIGADO!

22/01/2013

Arduino: Frequencímetro

Arduino: Frequencímetro




Esse é um projeto de frequencímetro, que dificilmente você irá na internet encontrar algo sobre isto. É muito simples de se fazer, precisando apenas de um display LCD e um potenciômetro( opcional ). O trabalho todo fica for conta do Arduino UNO.

Explicação do código: São declaradas quatro variáveis: long freq, long tempo, int pulsos e boolean pulso.

Dentro do void setup() você configura o LCD e o pino de entrada para medir a frequência, no caso do projeto eu utilizei o pino 2.

Dentro do void loop() a variável tempo recebe o valor do tempo atual em milissegundos.
Se o pino 2 for nível alto e se a variável pulso valer HIGH, a variável pulsos incrementa. Caso se o pino 2 for nível baixo a variável pulso vale LOW. Por que isso? No momento que faz a leitura do pino 2 com o valor 1, só queremos incrementar a variável pulsos depois que o pino 2 mudar para o nível 1 novamente.( após o nível 0).

Depois de passar 2 segundos( tempo%2000==0), a varável freq recebe o valor dos pulsos e divide por 2, ou seja, se pulsos contou 10 em 2 segundos, a frequência e 5. Após isso escreve no display LCD.

Obs.: Caso você não utilize o potenciômetro, você deve aterrar o pino 3 do LCD. A frequência mínima é 1Hz e a máxima é 10500Hz aproximadamente.

DOWNLOAD:
Arquivo de simulação do Proteus: frequencimetro-arduino.DSN;

CÓDIGO-FONTE:





8 comentários:

  1. Olá,

    Sou novo nesta área de eletrônica. e estudando um pouco sobre rádio-frequência e biomagnetismo, me deparei com uma questão de como captar determinadas frequências. Por exemplo, quando falamos em frequências na faixa de MHZ, usamos como referência a frequência da onda e a velocidade da luz para calcular o tamanho de antena, ou seja, quanto maior a frequência, menor o tamanho da antena, que inclusive pode ser em frações de 1/2 ou 1/4, ou seja, meia onda, ou um quarto de onda.

    Só que quando fala-se em biomagnetismo, as frequências são baixas, as radiações emanadas do corpo, como as do cérebro, assim como as do som, são extremamente baixas. Precisaria então entender como captar frequências 1 a 200 HZ ou mais por exemplo… como seria possível com o projeto com Arduíno como este, captar estas frequências, como determinar cada tamanho de antena para cada faixa.

    Obrigado,
    José Aparecido

    ResponderExcluir
  2. Boa tarde, a partir deste frequencimetro posso adaptar para ler rpm e velocidade em km\h, obrigado, ajudou-me imenso.

    ResponderExcluir
    Respostas
    1. pode sim, para converter para rpm, e só fazer rpm = Hz * 60
      e para km/h é Kmh = rpm * c(km) * 60, c é a circunferência;

      Excluir
  3. Qreria um codigo para contar os pulsos de um sensor fotoeletrico. Fiz o codigo abaixo, mas nao deu certo

    [code]
    int pulsos;
    boolean pulso;
    void setup()

    {
    Serial.begin(9600);
    Serial.println("Iniciando...");
    pulso=HIGH;
    pinMode(2,INPUT);
    }

    void loop()
    {
    Serial.println(pulsos);
    if(digitalRead(2)==HIGH)
    {

    if(pulso==HIGH)
    {
    pulsos = pulsos + 1;
    }

    pulso=LOW;

    }

    else{
    pulso=HIGH;
    }


    }

    [/code]

    ResponderExcluir
  4. Como faço para realizar a leitura de frequência de tensões 127, 220, 380 Volts?
    Grato.

    ResponderExcluir
    Respostas
    1. Para usar o circuito do link ( http://www.newtoncbraga.com.br/index.php/circuitos/140-conversores/3968-ne245.html ), que converte a forma de onda senoidal em quadrada, é necessário a entrada do sinal com um valor máximo como apresenta no site. Você tem que dividir o valor a ser medido com resistores e obter o valor, por exemplo 5V, na entrada e ligar a saída deste circuito no frequencímetro, se não você queima o Arduino.

      Excluir
  5. Boas, eu pretendia um frequencímetro para ver em que frequência esta transmitindo uns comandos de portão de garagem, acha que isto serve? como o arduino recebe a frequência que o comando esta a transmitir? obrigado

    ResponderExcluir
  6. é só para receber notificaçao que esqueci de marcar no post anterior :)

    ResponderExcluir

Related Posts Plugin for WordPress, Blogger...