17/06/16 14:17:12.21 0zM9Iv1l.net
インジェクタの通電時間をArduinoで積算したい
URLリンク(i.imgur.com)
こんな感じにつなげて動かしても0のまま何も表示してくれない
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
const int INJECTOR = 2;
const int INJECTOR_INT = 0;
uint64_t duration;
void interrupted() {
if (digitalRead(INJECTOR) == HIGH)
duration += micros();
}
void setup() {
lcd.init();
lcd.backlight();
Serial.begin(9600);
pinMode(INJECTOR, INPUT);
duration = 0;
attachInterrupt(INJECTOR_INT, interrupted, CHANGE);
}
void loop() {
float gas = float(duration);
lcd.setCursor(3, 0);
lcd.print(gas);
lcd.print("L");
Serial.println(gas);
delay(1000);
}