#include <GyverOLED.h>
GyverOLED<SSD1306_128x64, OLED_BUFFER> oled;
String num = "87023754460";
String carrier = "Activ";
void setup() {
oled.init();
pinMode(A1, INPUT_PULLUP);
pinMode(A2, INPUT_PULLUP);
}
int mode = 2;
void precall() {
oled.clear();
oled.setScale(2);
oled.setCursor(0, 2);
oled.print(num);
oled.setScale(1);
oled.setCursor(40, 0);
oled.print(carrier);
oled.setCursor(2, 6);
oled.print("вызов");
oled.setCursor(83, 6);
oled.print("удалить");
oled.update();
}
void call(){
oled.clear();
oled.setScale(1);
oled.setCursor(30, 2);
oled.print("Вызов...");
oled.setCursor(25, 4);
oled.print(num);
oled.setCursor(40, 0);
oled.print(carrier);
oled.update();
}
void remove(){
int indexx = num.length();
num.remove(indexx-1);
if(indexx == 1){
mainm();
}
}
void mainm(){
oled.clear();
oled.setScale(2);
oled.setCursor(32, 0);
oled.print(carrier);
oled.update();
}
bool pressed = false;
void loop(){
if (num == ""){
mainm();
}
else{
switch(mode){
case 0:
remove();
mode = 2;
delay(200);
break;
case 1:
call();break;
case 2:
precall();break;
}}
if(digitalRead(A1) == 0 and mode == 2 and pressed == false){
mode = 1;
pressed = true;
}
if(digitalRead(A1) == 1 and pressed == true){
pressed = false;
}
if(digitalRead(A2) == 0 and mode == 2 and pressed == false){
mode = 0;
}
if(digitalRead(A2) == 1 and pressed == true){
pressed = false;
}
}