-
Notifications
You must be signed in to change notification settings - Fork 2
/
test_cycle.ino
69 lines (53 loc) · 1.81 KB
/
test_cycle.ino
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
// Note:
// Test cycle code is used for measuring the fuel injection amount
// for a ON Time. It means to measure Fuel Injection rate (volume/s) in
// steady state condition (Engine off).
// In this code proximity sensory input is used as a switch to on/off the
// experiment.
const int buttonPin = 3; // the number of the TDC_Input pin
const int ledPin13 = 13; // the number of the LED pin
const int ledPin12 = 12; // the number of the LED pin
int buttonState = 0; // variable for reading the TDC_Input status
int n =0;
void setup() {
Serial.begin(9600);
// initialize the LED pin as an output:
pinMode(ledPin13, OUTPUT);
pinMode(ledPin12, OUTPUT);
// initialize the TDC_Input pin as an input:
pinMode(buttonPin, INPUT);
}
void loop()
{
// read the state of the TDC_Input value:
int buttonState = digitalRead(buttonPin);
if ( buttonState == HIGH )
{
for (int i=0; i <= 100; i++)
{
Serial.println("1st pulse");
// Put delay for First revolution
// delay(40)
// First revolution completed.
// Indicate 2nd Revolution
digitalWrite(ledPin13, HIGH);
digitalWrite(ledPin12, LOW);
Serial.println("Valve Overlap Time...");
delayMicroseconds(2200);
// Injecting in second revolution
digitalWrite(ledPin12, HIGH);
Serial.println("Injection Time");
// Put the ON Time
delay(15);
digitalWrite(ledPin13, LOW);
digitalWrite(ledPin12, LOW);
// Delay need to be provide for OFF Time for Average Engine cycle
// time 80 ms. 2.2 ms is for valve overlap time. 15 ms is ON Time.
delay(80-2.2-15);
}
}
else
{
// Nothing to do
}
}