First, THANK YOU VERY MUCH GUYS FOR YOUR HELP!!!I know guys that you already said to me that this part of the code ( || ) would not work but I dont see why... Anyways after reading even more on the forum with my brother (wich programs JAVA and things like that) we came up with this but it only shows 0 and I tested the speedometer part by printing in the values and they looked ok...
#define DELAY_START HIGH // or low depending on your blink detection logic
#define DELAY_END !DELAY_START // this is the inverse of the above
const int buttonPin = 14;
int buttonState = 0;
long start, duration;
long start2, duration2;
long start1, duration1;
long duration3;
long vitesse;
int remainder;
void setup() {
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
pinMode(10, OUTPUT);
pinMode(9, OUTPUT);
pinMode(8, OUTPUT);
pinMode(7, OUTPUT);
pinMode(6, OUTPUT);
pinMode(5, OUTPUT);
pinMode(4, OUTPUT);
pinMode(3, OUTPUT);
pinMode(2, OUTPUT);
pinMode(1, OUTPUT);
pinMode(0, OUTPUT);
}
void loop(){
while( digitalRead(buttonPin) != DELAY_START );
start1 = millis();
while( digitalRead(buttonPin) != DELAY_END );
duration1 = start1 - millis();
delay(50);
while( digitalRead(buttonPin) != DELAY_START );
start2 = millis();
while( digitalRead(buttonPin) != DELAY_END );
duration2 = start2 - millis();
duration3 = duration1 + duration2;
duration = duration3/2;
vitesse = (217/(duration)*3.6);
remainder = vitesse % 10;
digitalWrite(0, LOW);
digitalWrite(1, LOW);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, LOW);
digitalWrite(13, LOW);
if (remainder == 1) {
digitalWrite(1, HIGH);
digitalWrite(4, HIGH);
}
else if (remainder == 2) {
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(0, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
}
else if (remainder == 3) {
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(0, HIGH);
digitalWrite(6, HIGH);
digitalWrite(5, HIGH);
}
else if (remainder == 4) {
digitalWrite(1, HIGH);
digitalWrite(3, HIGH);
digitalWrite(0, HIGH);
digitalWrite(6, HIGH);
digitalWrite(5, HIGH);
}
else if (remainder == 5) {
digitalWrite(2, HIGH);
digitalWrite(1, HIGH);
digitalWrite(0, HIGH);
digitalWrite(6, HIGH);
digitalWrite(5, HIGH);
}
else if (remainder == 6) {
digitalWrite(2, HIGH);
digitalWrite(1, HIGH);
digitalWrite(0, HIGH);
digitalWrite(6, HIGH);
digitalWrite(5, HIGH);
digitalWrite(4, HIGH);
}
else if (remainder == 7) {
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(6, HIGH);
}
else if (remainder == 8) {
digitalWrite(0, HIGH);
digitalWrite(1, HIGH);
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
}
else if (remainder == 9) {
digitalWrite(0, HIGH);
digitalWrite(1, HIGH);
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(6, HIGH);
}
else if (remainder == 0) {
digitalWrite(1, HIGH);
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
}
else {
digitalWrite(0, LOW);
digitalWrite(1, LOW);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, LOW);
digitalWrite(13, LOW);
}
}