Neste projeto mostraremos como utilizar o Arduino como tacômetro. Tacômetro é um medidor de voltas que pode ser medido por RPM (rotações por minuto), RPS (rotações por segundo) e etc.

Neste projeto vamos utilizar:

  • Emissor IR
  • Receptor IR
  • Arduino
  • Resistor 220ohm
  • LCD 16x2
  • potenciômerto de 10K Ohm

Primeiramente faça a seguinte ligação:

Agora que foi feito as ligações acima, passe a programação:

#include <LiquidCrystal.h>

/*
* Optical Tachometer
*
* Uses an IR LED and IR phototransistor to implement an optical tachometer.
* The IR LED is connected to pin 13 and ran continually. A status LED is connected
* to pin 12. Pin 2 (interrupt 0) is connected across the IR detector.
*
*
*/

int ledPin = 13; // IR LED connected to digital pin 13
int statusPin = 6; // LED connected to digital pin 12

volatile byte rpmcount;
volatile int status;

unsigned int rpm;

unsigned long timeold;
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
void rpm_fun()
{
//Each rotation, this interrupt function is run twice, so take that into consideration for
//calculating RPM
//Update count
rpmcount++;

//Toggle status LED
if (status == LOW) {
status = HIGH;
} else {
status = LOW;
}
digitalWrite(statusPin, status);
}

void setup()
{
Serial.begin(9600);
//Interrupt 0 is digital pin 2, so that is where the IR detector is connected
//Triggers on FALLING (change from HIGH to LOW)
attachInterrupt(0, rpm_fun, FALLING);
lcd.begin(16,2);
//Turn on IR LED
//pinMode(ledPin, OUTPUT);
//digitalWrite(ledPin, HIGH);

//Use statusPin to flash along with interrupts
//pinMode(statusPin, OUTPUT);

rpmcount = 0;
rpm = 0;
timeold = 0;
status = LOW;
}

void loop()
{
//Update RPM every second
delay(1000);
lcd.clear();
//Don't process interrupts during calculations
detachInterrupt(0);
//Note that this would be 60*1000/(millis() - timeold)*rpmcount if the interrupt
//happened once per revolution instead of twice. Other multiples could be used
//for multi-bladed propellers or fans
rpm = 10*1000/(millis() - timeold)*rpmcount;
timeold = millis();
rpmcount = 0;

//Write it out to serial port
Serial.println(rpm,DEC);
lcd.print("RPM: ");
lcd.print(rpm);
//Restart the interrupt processing
attachInterrupt(0, rpm_fun, FALLING);
}

Agora abra IDE do Arduino, cole a programação e conecte o Arduino na porta USB do seu PC. Selecione a sua versão do sua placa Arduino (UNO, Duemilanove, etc) em "Tools/Board" e selecione a porta (COMx, ttyUSBx, ttyACMx) em "Tools/Serial Port". Clique em UPLOAD. Pronto! Seu tacômetro está pronto para ser usado!

E é isso! Esperamos que tenha gostado Caso tenha dúvidas, poste aqui neste post! Para sugestões de tutoriais, clique aqui! Para ver outros tutoriais e projetos desenvolvidos pela equipe LdG e por outros garagistas, clique aqui e aqui, respectivamente! Até a próxima!

Referências:

http://arduino.cc/playground/Learning/Tachometer

http://www.pyroelectro.com/tutorials/tachometer_rpm_arduino/index.html

http://www.electronics-lab.com/blog/?p=19705

http://labdegaragem.com/profiles/blogs/tutorial-emissor-e-receptor-...

Exibições: 9532

Tags: arduino, projeto, tacometro

Comentar

Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!

Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)

Comentário de Henrique em 22 maio 2013 às 19:59

gostaria de saber qual o modelo do sensor receptor?

Publicidade

Convide um amigo para o Lab!

 Loja Lab de Garagem

curso gratis de arduino

Bluetooth Shield

Por: R$ 108,80

Ou em até 18x de R$ 7,25

SuperKit com Arduino Uno Rev 3

Por: R$ 235,00

Ou em até 18x de R$ 15,66

Zumo Chassis Kit

Por: 80,00

Ou em até 18x de R$ 5,33

Raspberry Pi

Por: R$ 229,00

Ou em até 18x de R$ 15,26

© 2014   Criado por Marcelo Rodrigues.

Badges  |  Relatar um incidente  |  Termos de serviço