

  #include "BluetoothSerial.h" 
  BluetoothSerial SerialBT; 
  
  #include <Adafruit_SSD1306.h>
  #include <Adafruit_GFX.h>
  #define OLED_ADDR   0x3C
  Adafruit_SSD1306 display(-1);
  String voice = "";     //defineşte stringul de date                    
  unsigned int lastStringLength = voice.length();     
  //citeşte lungimea stringului 
  
    void setup()  { Serial.begin(9600);
  SerialBT.begin("ESP32_voice_Control"); 
  //numele dat dispozitivului bluetooth asociat
    display.begin(SSD1306_SWITCHCAPVCC, OLED_ADDR);
    display.clearDisplay(); 
    display.setTextSize(2); 
    display.setTextColor(WHITE);
    display.setCursor(0,0); 
    display.print("voice text Oled ESP32");
    display.display(); 
    delay(1000); 
    display.clearDisplay();   
    }
    
    void loop() {
    if (SerialBT.available()) //testează conexiunea Bluetooth
  { char inChar  = SerialBT.read(); //citeşte fiecare caracter din string
    voice += inChar; //asociază caracterele din string citite separat 
  }
  if (voice.length() != lastStringLength)   {
  if (voice.length() < 30) { display.clearDisplay(); 
  display.setTextSize(2);
    display.setTextColor(WHITE); 
    display.setCursor(0,0); 
    display.print(voice);
    //dacă numârul de caractere din stringul voice este mai mare de 30
    //şterge ecranul pentru a afişa şi restul stringului
    display.display(); 
    delay(10);       } 
      else { voice="";  // sterge stringul precedent  
    }    
      lastStringLength = voice.length();      } }
  
