Arduino给随机数读IR

时间:2016-06-21 11:56:40

标签: c++ arduino rotation

我正在用arduino uno做一个转速表,这是我的代码:

int ledPin = 13;               
volatile byte rpmcount;         
unsigned int rpm;       
unsigned long timeold;      
#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);

void rpm2()
 {
   rpmcount++; 
 }

void setup()
 {
   lcd.begin(16, 2);

   attachInterrupt(0, rpm2, FALLING);

   pinMode(ledPin, OUTPUT);
   digitalWrite(ledPin, HIGH);
   rpmcount = 0;
   rpm = 0;
   timeold = 0;
 }

void loop()
 {
   delay(1000);
   detachInterrupt(0); 
   rpm = 30*1000/(millis() -Timeold)*rpmcount;                                       
   timeold = millis();                                                              
   rpmcount = 0;
   lcd.clear();
   lcd.print("RPM=");
   lcd.print(rpm);
   attachInterrupt(0, rpm2, FALLING);
  }

当我打开arduino时,e开始在 rpm 上给我随机数字,我不明白为什么。即使我删除IR,它仍然显示随机数

0 个答案:

没有答案