Verkefni 2 Code - GraDa123/vesm2 GitHub Wiki

roll'a dice

#include "SevSeg.h SevSeg sevseg;

const int buttonPin = 10; // the pin that the pushbutton is attached to int buttonState = 0; // current state of the button int lastButtonState = LOW; // previous state of the button int buttonPushCounter = 0; // counter for the number of button presses long counter = 0; long max_long_val = 2147483647L;

void setup(){ byte numDigits = 1; byte digitPins[] = {}; byte segmentPins[] = {6, 5, 2 , 3, 4 , 7, 8, 9}; bool resistorsOnSegments = true;

byte hardwareConfig = COMMON_CATHODE; sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments); sevseg.setBrightness(90);

pinMode(buttonPin, INPUT_PULLUP); Serial.begin(9600); lastButtonState = LOW; }

void loop(){ buttonState = digitalRead(buttonPin); if(buttonState == HIGH){ buttonState = LOW; }

else buttonState = HIGH;

if(buttonState == HIGH){ Serial.println("on"); lastButtonState = HIGH; buttonPushCounter++; if(counter < max_long_val) counter++; buttonPushCounter %= 9; sevseg.setNumber(buttonPushCounter, 1);
sevseg.refreshDisplay();
delay(100 - (counter%99)); }

else{ Serial.println("off"); if(lastButtonState == HIGH){ Serial.println("in"); buttonPushCounter++; buttonPushCounter %= 7; if(buttonPushCounter == 0) buttonPushCounter = 1; counter--; sevseg.setNumber(buttonPushCounter, 1);
sevseg.refreshDisplay(); delay(100 - (counter%99)); if(counter == 0){ lastButtonState = LOW; sevseg.setNumber(buttonPushCounter, 0); sevseg.refreshDisplay();
} } } }