// choose if digital font "7-segment" be used for the Timer
//#define DIGITAL_FONT
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <EEPROM.h>
#ifdef DIGITAL_FONT
#include "Numbers.h"
//#include "digital24B.h"
#define font1 &DS_DIGIB24pt7b
#else
#include <Fonts/FreeSansBold18pt7b.h>
#define font1 &FreeSansBold18pt7b
#endif
#include <Fonts/FreeSans9pt7b.h>
#define font2 &FreeSans9pt7b
#define font3 &FreeSans9pt7b
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
#define OLED_RESET -1 // Reset pin # (or -1 if sharing Arduino reset pin)
#define SCREEN_ADDRESS 0x3C ///< See datasheet for Address; 0x3D for 128x64, 0x3C for 128x32
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
#define impactPin A0
#define BTN1 2
#define elapsedTime (millis() - tNow)
#define buttonPressed !digitalRead(BTN_SELECT)
unsigned long tNow;
//************************************************************
//********************* SETUP ********************************
//************************************************************
void setup() {
pinMode(BTN1, INPUT_PULLUP);
initializeDisplay();
tNow = millis();
analogReference(INTERNAL);
}
//************************************************************
//********************** LOOP *******************************
//************************************************************
float v;
int vd ;
void loop() {
vd = analogRead(impactPin);
v = vd * 1.1/1024;
displayV();
delay(1000);
}
//************************************************************
//****************** Initialze DISPLAY ***********************
//************************************************************
void initializeDisplay() {
if (!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) {
Serial.println(F("SSD1306 allocation failed"));
}
display.clearDisplay();
//display.setTextSize(1); // Draw 2X-scale text
display.setRotation(2);
display.setTextColor(SSD1306_INVERSE);
display.setFont(font1);
display.display();
}
//************************************************************
//************* Display Count Down Time **********************
//************************************************************
void displayV() {
display.clearDisplay();
display.setFont(font1);
display.setCursor(30, 40);
//display.println(vd);
display.println(v);
display.display();
}