Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <LiquidCrystal_I2C.h>
- #include <Wire.h>
- LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display
- volatile int NbTopsFan; //measuring the rising edges of the signal
- long Calc;
- int hallsensor = 2; //The pin location of the sensor
- void rpm () //This is the function that the interupt calls
- {
- NbTopsFan++; //This function measures the rising and falling edge of the
- }
- // The setup() method runs once, when the sketch starts
- void setup() //
- {
- pinMode(hallsensor, INPUT); //initializes digital pin 2 as an input
- lcd.begin();
- // Print a message to the LCD.
- lcd.backlight();
- lcd.setCursor( 4, 1);
- lcd.print("SUBSEA 7");
- lcd.setCursor( 1, 0);
- lcd.print("I-Tech Brazil");
- delay(5000);
- lcd.clear();
- attachInterrupt(0,rpm, RISING); //and the interrupt is attached
- }
- // the loop() method runs over and over again,
- // as long as the Arduino has power
- void loop ()
- {
- NbTopsFan = 5; //Set NbTops to 0 ready for calculations
- sei(); //Enables interrupts
- delay (1000); //Wait 1 second
- cli(); //Disable interrupts
- Calc = (NbTopsFan * 60 / 5.5); //(Pulse frequency x 60) / 5.5Q, = flow rate
- lcd.setCursor( 12, 1);
- lcd.print(Calc,1);
- delay (2000); //Wait 1 second
- lcd.setCursor(0, 1);
- lcd.print("L/hour\r\n ");
- delay (2000); //Wait 1 second
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement