/* *@author James McKenzie *@lang C89 Based *@contact lunarised@outlook.com */ int i; void setup() { pinMode(10, OUTPUT); pinMode(11, OUTPUT); pinMode(12, OUTPUT); pinMode(13, OUTPUT); i = 0; } void loop() { checkOverflow(i); bitCheck(i); i++; delay(100); } /* * Takes an int and sets leds on and off accordingly * @param i The current value to be displayed */ void bitCheck(int i){ if (i & 1){ digitalWrite(13, HIGH); } else{ digitalWrite(13, LOW); } if (i & 2){ digitalWrite(12, HIGH); } else{ digitalWrite(12, LOW); } if (i & 4){ digitalWrite(11, HIGH); } else{ digitalWrite(11, LOW); } if (i & 8){ digitalWrite(10, HIGH); } else{ digitalWrite(10, LOW); } } /* * Checks to make sure the number displayed doesnt overflow * @param i The number to check overflow */ void checkOverflow(int i){ if (i == 16){ i = 0; } if (i == -1){ i = 15; } }