#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <Fonts/FreeSans9pt7b.h>
Adafruit_SSD1306 display = Adafruit_SSD1306(128, 64, &Wire, 0);
int button1 = 6;
//int button2 = 3;
//int button3 = 4;
void setup(){
pinMode(6, INPUT);
//pinMode(3, INPUT);
//pinMode(4, INPUT);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // Address 0x3C for 128x32
display.display();
delay(1000);
display.clearDisplay();
display.display();
display.setFont(&FreeSans9pt7b);
display.setTextColor(WHITE);
display.setCursor(0,0);
display.display();
delay(800);
}
int sec = 0;
int min1 = 0;
unsigned long m_sec = 0;
unsigned long milli = 0;
int press = 0;
int phase = 0;
int start = 0;
unsigned long time = 0;
void loop(){
stopwatch();
}
void stopwatch(){
display.clearDisplay();
if(digitalRead(6) == 0){
if(press == 0){
phase = phase + 1;
press = 1;
if(phase > 2){
phase = 1;
}
}
}else{press = 0;}
if(phase == 1){
display.clearDisplay();
display.setFont(&FreeSans9pt7b);
display.setFont();
display.setCursor(37,10);
display.print("Stopwatch");
display.setFont(&FreeSans9pt7b);
if(start == 0){
start = 1;
time = millis();
}
m_sec = (millis() - time);
min1 = m_sec/60000;
if((m_sec/1000) > 59){
sec = (m_sec/1000) - (min1*60);
}else{sec = m_sec/1000;}
milli = (m_sec % 1000)/10;
display.setCursor(20,40);
if(min1 <= 9){
display.print("0");
display.print(min1);
}else{display.print(min1);}
display.print(" : ");
if(sec <= 9){
display.print("0");
display.print(sec);
}else{display.print(sec);}
display.setFont(&FreeSans9pt7b);
display.setCursor(75,40);
display.print(" : ");
if(milli <= 9){
display.print("0");
display.print(milli);
}else{display.print(milli);}
}
if(phase == 2){
display.clearDisplay();
display.setFont(&FreeSans9pt7b);
display.setFont();
display.setCursor(52,10);
display.print("Time");
display.setFont(&FreeSans9pt7b);
display.setCursor(20,40);
if(min1 <= 9){
display.print("0");
display.print(min1);
}else{display.print(min1);}
display.print(" : ");
if(sec <= 9){
display.print("0");
display.print(sec);
}else{display.print(sec);}
display.setFont(&FreeSans9pt7b);
display.setCursor(75,40);
display.print(" : ");
if(milli <= 9){
display.print("0");
display.print(milli);
}else{display.print(milli);}
}
display.display();
}