#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define kaiwan 2
#define sita 3
int cgm = 1 ;
String text ;
/*
* Connections
* SSD1306 OLED | Arduino Uno
* ---------------------------
* VCC | +5V (Vcc/power/+ve)
* GND | GND (Ground/-ve/0v)
* SCL | A5 (Serial Clock Line)
* SDA | A4 (Serial Data Line)
*/
const int SCREEN_WIDTH = 128; // OLED display width, in pixels
const int SCREEN_HEIGHT = 64; // OLED display height, in pixels
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
// this is the bitmap, change this variable for your specification.
const unsigned char amog_ex [] PROGMEM = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x7f, 0xff, 0xff,
0xff, 0xff, 0xff, 0x80, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x0f, 0xff, 0xff,
0xff, 0xff, 0xfe, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x03, 0xff, 0xff,
0xff, 0xff, 0xfc, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0xff, 0xff,
0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x7f, 0xff,
0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x1f, 0xf8, 0x1f, 0xff,
0xff, 0xff, 0xf0, 0x00, 0x7f, 0xfe, 0x1f, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0x0f, 0xff,
0xff, 0xff, 0xc0, 0x00, 0x3f, 0xff, 0x8f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x3f, 0xff, 0x8f, 0xff,
0xff, 0xf8, 0x00, 0x00, 0x1f, 0xff, 0x8f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x0f, 0xff, 0x0f, 0xff,
0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff,
0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff,
0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff,
0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff,
0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff,
0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff,
0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff,
0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff,
0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff,
0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff,
0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff,
0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff,
0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x7f, 0xff,
0xff, 0xff, 0xf0, 0x00, 0x10, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x10, 0x00, 0x7f, 0xff,
0xff, 0xff, 0xf0, 0x00, 0x10, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x10, 0x00, 0x7f, 0xff,
0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0xff, 0xff,
0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff,
0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff,
0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};
const unsigned char gost_ex [] PROGMEM = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0xff, 0xff, 0xfc, 0x00, 0x7f,
0xff, 0xff, 0xff, 0x80, 0xff, 0xff, 0xfc, 0x00, 0x7f, 0xff, 0xff, 0xff, 0x80, 0xff, 0xff, 0x83,
0xff, 0x83, 0xff, 0xff, 0xff, 0x80, 0xff, 0xff, 0x83, 0xff, 0x83, 0xff, 0xff, 0xff, 0x80, 0xff,
0xfe, 0x7f, 0xff, 0xfc, 0xff, 0xff, 0xff, 0x80, 0xff, 0xfe, 0x7f, 0xff, 0xfc, 0xff, 0xff, 0xff,
0x80, 0xff, 0xf9, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0x80, 0xff, 0xf9, 0xff, 0xff, 0xff, 0x3f,
0xff, 0xff, 0x80, 0xff, 0xf9, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xff, 0x80, 0xff, 0xc7, 0xff, 0xff,
0xff, 0xc7, 0xff, 0xff, 0x80, 0xff, 0xc7, 0xff, 0xff, 0xff, 0xc7, 0xff, 0xff, 0x80, 0xff, 0x3f,
0xff, 0xff, 0xff, 0xf9, 0xff, 0xff, 0x80, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xf9, 0xff, 0xff, 0x80,
0xff, 0x3f, 0xff, 0xff, 0xff, 0xf9, 0xff, 0xff, 0x80, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xf9, 0xff,
0xff, 0x80, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0x80, 0xfc, 0xff, 0xff, 0xff, 0xff,
0xfe, 0x7f, 0xff, 0x80, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0x80, 0xfc, 0xff, 0x83,
0xfe, 0x0f, 0xfe, 0x7f, 0xff, 0x80, 0xfc, 0xff, 0x83, 0xfe, 0x0f, 0xfe, 0x7f, 0xff, 0x80, 0xfc,
0xff, 0x8f, 0xff, 0x8f, 0xfe, 0x7f, 0xff, 0x80, 0xfc, 0xff, 0x8f, 0xff, 0x8f, 0xfe, 0x7f, 0xff,
0x80, 0xfc, 0xff, 0x83, 0xfe, 0x0f, 0xfe, 0x7f, 0xff, 0x80, 0xfc, 0xff, 0x83, 0xfe, 0x0f, 0xfe,
0x7f, 0xff, 0x80, 0xfc, 0xff, 0xc7, 0xff, 0x1f, 0xfe, 0x7f, 0xff, 0x80, 0xfc, 0xff, 0xff, 0xff,
0xff, 0xfe, 0x7f, 0xff, 0x80, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0x80, 0xfc, 0xff,
0xfc, 0x01, 0xff, 0xfe, 0x7f, 0xff, 0x80, 0xfc, 0xff, 0xfc, 0x01, 0xff, 0xfe, 0x7f, 0xff, 0x80,
0xfc, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0x80, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f,
0xff, 0x80, 0xfc, 0xe0, 0x7f, 0xff, 0xc0, 0xfe, 0x7f, 0xff, 0x80, 0xfc, 0xc0, 0x7f, 0xff, 0x80,
0xfe, 0x7f, 0xff, 0x80, 0xfc, 0xe0, 0x7f, 0xff, 0x80, 0xfe, 0x7f, 0xff, 0x80, 0xfc, 0xff, 0x8f,
0xfe, 0x7f, 0xfe, 0x7f, 0xff, 0x80, 0xfc, 0xff, 0x9f, 0xfe, 0x7f, 0xfe, 0x7f, 0xff, 0x80, 0xfc,
0xe0, 0x7f, 0xff, 0x80, 0xfe, 0x7f, 0xff, 0x80, 0xfc, 0xc0, 0x7f, 0xff, 0x80, 0xfe, 0x7f, 0xff,
0x80, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0x80, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xfe,
0x7f, 0xff, 0x80, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x3f, 0x80, 0xfc, 0xff, 0xff, 0xff,
0xff, 0xff, 0x9f, 0x3f, 0x80, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x3f, 0x80, 0xff, 0x3f,
0xff, 0xff, 0xff, 0xff, 0xe0, 0xcf, 0x80, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xcf, 0x80,
0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0x80, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff,
0xcf, 0x80, 0xff, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x80, 0xff, 0xc7, 0xff, 0xff, 0xff,
0xff, 0xff, 0x3f, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x80, 0xff, 0xf9, 0xff,
0xff, 0xff, 0xff, 0xff, 0x3f, 0x80, 0xff, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x80, 0xff,
0xfe, 0x7f, 0xff, 0xff, 0xff, 0xe0, 0xff, 0x80, 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xff, 0xe0, 0xff,
0x80, 0xff, 0xff, 0x83, 0xff, 0xff, 0xfe, 0x1f, 0xff, 0x80, 0xff, 0xff, 0x83, 0xff, 0xff, 0xfe,
0x1f, 0xff, 0x80, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0xff, 0xff, 0xfc, 0x00,
0x00, 0x01, 0xff, 0xff, 0x80, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x03, 0xff, 0xff, 0x80, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80
};
const unsigned char katum_ex [] PROGMEM = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x7f, 0xff, 0xff, 0xff,
0xff, 0xff, 0xfe, 0x3f, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x7f, 0xc7, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf9, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xf9, 0xff, 0xff, 0xff,
0xff, 0xff, 0xe7, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xff, 0xfc, 0xff, 0xff, 0xff,
0xff, 0xff, 0xef, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0x1f, 0x7f, 0xff, 0xff,
0xff, 0xff, 0xcf, 0xfe, 0x0f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xfe, 0x97, 0x7f, 0xff, 0xff,
0xff, 0xff, 0xcf, 0xfe, 0x97, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xfe, 0x17, 0x7f, 0xff, 0xff,
0xff, 0xff, 0xcf, 0xfe, 0x17, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xef, 0xfe, 0x1f, 0x7f, 0xff, 0xff,
0xff, 0xff, 0xef, 0xfe, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0x7f, 0xff, 0xff,
0xff, 0xff, 0xd9, 0x3f, 0xec, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xc3, 0xf0, 0x1c, 0x0f, 0xff, 0xff,
0xff, 0xff, 0xc2, 0x00, 0x1c, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xec, 0x00, 0x19, 0x07, 0xff, 0xff,
0xff, 0xf0, 0xf2, 0x00, 0x07, 0x03, 0xff, 0xff, 0xff, 0xf2, 0x1d, 0xff, 0x32, 0x00, 0xff, 0xff,
0xff, 0xf2, 0x08, 0x00, 0x30, 0x00, 0xff, 0xff, 0xff, 0xe3, 0x00, 0x00, 0x38, 0x00, 0xff, 0xff,
0xff, 0xdf, 0xd9, 0xff, 0x3c, 0x00, 0x7f, 0xff, 0xff, 0xe7, 0x19, 0xfe, 0x3f, 0x00, 0x7f, 0xff,
0xff, 0xf1, 0x99, 0xfe, 0x7f, 0x00, 0x7f, 0xff, 0xff, 0xf8, 0xfd, 0xfe, 0xff, 0x00, 0x7f, 0xff,
0xff, 0xfe, 0x7e, 0xff, 0x0f, 0x80, 0x03, 0xff, 0xff, 0xff, 0x19, 0xff, 0xef, 0x80, 0x1c, 0xff,
0xff, 0xff, 0xe0, 0xff, 0xe0, 0x30, 0x3e, 0x7f, 0xff, 0xff, 0xe0, 0xff, 0xf0, 0x70, 0xfe, 0x7f,
0xff, 0xff, 0xfe, 0xff, 0xff, 0x70, 0xc0, 0x7f, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x70, 0x9c, 0xbf,
0xff, 0xff, 0xff, 0x3f, 0xff, 0x70, 0x9f, 0xbf, 0xff, 0xff, 0xff, 0x3f, 0xff, 0x78, 0x9f, 0xbf,
0xff, 0xff, 0xff, 0x3f, 0xff, 0xf9, 0x9f, 0xbf, 0xff, 0xff, 0xfe, 0x1f, 0xfe, 0x19, 0x9f, 0xbf,
0xff, 0xff, 0xfc, 0x1f, 0xf9, 0xc3, 0x9f, 0x7f, 0xff, 0xff, 0xfc, 0xcf, 0xf1, 0xe7, 0x9e, 0x7f,
0xff, 0xff, 0xfd, 0xef, 0xf7, 0xf7, 0xcc, 0xff, 0xff, 0xff, 0xfd, 0xf3, 0xf3, 0xf9, 0xf3, 0xff,
0xff, 0xff, 0xfd, 0xf8, 0xf3, 0xf9, 0x0f, 0xff, 0xff, 0xff, 0xfd, 0xfc, 0x07, 0xf8, 0x1f, 0xff,
0xff, 0xff, 0xfd, 0xfe, 0x03, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xf9, 0xf9, 0xff, 0xff,
0xff, 0xff, 0xfe, 0xfe, 0xf9, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfe, 0xf9, 0xfd, 0xff, 0xff,
0xff, 0xff, 0xfd, 0xfc, 0xf9, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0xfe, 0x03, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};
void setup()
{
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // here the 0x3c is the I2C address, check your i2c address if u have multiple devices.
display.clearDisplay();
delay(2000);
pinMode(kaiwan , INPUT_PULLUP);
pinMode(sita , INPUT_PULLUP);
}
void loop()
{
if(digitalRead(kaiwan)==0){
cgm++;
display.clearDisplay();
display.display();
while(digitalRead(kaiwan)==0){}
}
if(cgm == 1){
display.drawBitmap(0, 0, gost_ex, 65, 64, WHITE);
display.display();
}
if(cgm == 2){
display.drawBitmap(0, 0, amog_ex, 64, 64, WHITE);
display.display();
}
if(cgm == 3){
display.drawBitmap(0, 0, katum_ex, 64, 64, WHITE);
display.display();
}
if(cgm > 3){
cgm = 1 ;
}
display.setTextColor(WHITE);
text = String(cgm);
display.setTextSize(3);
display.setCursor(100,30);
display.println(text);
display.display();
/*
if(digitalRead(kaiwan)==0){
display.drawBitmap(20, 0, gost_ex, 65, 64, WHITE);
display.display();
}
else if(digitalRead(sita)==0){
display.drawBitmap(20, 0, amog_ex, 64, 64, WHITE);
display.display();
}
else{
display.clearDisplay();
display.display();
}*/
}