Advertisement
Riposati

Untitled

Jun 21st, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.75 KB | None | 0 0
  1. #define pinoInterrupcao 3
  2. #define NPINS 10
  3. #define RPM_MAX 10500
  4. int pins[NPINS]={A4,A5,2,4,5,6,7,8,9,10};
  5. long aux=0;
  6.  
  7. void isr(){
  8.   aux++;
  9. }
  10.  
  11. void setup() {  
  12.  
  13.   pinMode(pinoInterrupcao, INPUT);
  14.   for(int i=0;i<NPINS;i++)
  15.     pinMode(pins[i],OUTPUT);
  16.   Serial.begin(115200);
  17.   attachInterrupt(digitalPinToInterrupt(pinoInterrupcao),isr,RISING);
  18. }
  19. void set_rpm_bar(int r){
  20.   int n= (RPM_MAX-100)/10;
  21.   n=r/n;
  22.   if(r<50)
  23.     n=0;
  24.   for(int i=0;(i<NPINS)&&(i<n);i++)
  25.     digitalWrite(pins[i], HIGH);
  26.   for(int i=(n);(i<NPINS);i++)
  27.     digitalWrite(pins[i], LOW);
  28. }
  29. void loop() {
  30.  
  31.   long a = millis();
  32.   while( (millis()-a) < 100 );
  33.  
  34.   float rpm = float(aux * 600);
  35.   aux = 0;
  36.   //Serial.println(rpm);
  37.    
  38.   set_rpm_bar(rpm);
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement