#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <Wire.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define PLUS_BUTTON_PIN 3
#define MINUS_BUTTON_PIN 2
#define OK_BUTTON_PIN 4
#define minWats 5
#define maxWats 65
int currentWats = 60;
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
void setup() {
//setup display
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
displayLogo();
//setup buttons
pinMode(PLUS_BUTTON_PIN, INPUT_PULLUP);
pinMode(MINUS_BUTTON_PIN, INPUT_PULLUP);
pinMode(OK_BUTTON_PIN, INPUT_PULLUP);
//set variables
}
void displayLogo(){
display.clearDisplay();
display.setCursor(43, 28);
display.setTextColor(WHITE);
display.setTextSize(1);
display.print("nebulab");
display.display();
delay(1000);
}
void loop() {
int buttonStatePlus = digitalRead(PLUS_BUTTON_PIN);
int buttonStateMinus = digitalRead(MINUS_BUTTON_PIN);
int buttonStateOK = digitalRead(OK_BUTTON_PIN);
if (buttonStateMinus == HIGH && buttonStatePlus == LOW) {
if(currentWats > minWats){
currentWats --;
}
}
else if (buttonStateMinus == LOW && buttonStatePlus == HIGH) {
if(currentWats < maxWats){
currentWats ++;
}
}
menu();
}
void menu(){
display.clearDisplay();//clear display
display.setCursor(4, 4);
display.setTextColor(WHITE);
display.setTextSize(1);
display.print(currentWats);
display.print("W");
display.display();//show on display
}