Lỗi khai báo "string": was not declared in this scope và suggested alternative

Mn xem giúp mình 3 cái “khai báo” nó bị sao mà máy báo lỗi:

  • “…” was not declared in this scope
  • suggested alternative:"…"
    Mong mn sửa lại giúp mik ;(

(Code mình tải về trên mạng mà ko biết cách sửa)
https://cdn.instructables.com/ORIG/FLN/VUPJ/JIEULUJ4/FLNVUPJJIEULUJ4.ino

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);

void setup()   {                
  Serial.begin(9600);                         // by default, we'll generate the high voltage from the 3.3v line internally! (neat!)
  display.begin(SSD1306_SWITCHCAPVCC, 0x3D);  // initialize with the I2C addr 0x3D (for the 128x64)
  display.display();
  delay(2000);
  display.clearDisplay();                     // Clear the buffer.
}

void loop() {
 //CHECK THE SERIAL PORT FOR INCOMING MESSAGES
 //THE ARDUINO APP SENDS A TEXT STRING THROUGH BLUETOOTH EVERY SECOND
 //THE STRING SHOULD RESEMBLE THIS:  date | time | phone | text \n
  while(Serial.available() > 0){
    
    //READ THE STRING TO THE FIRST "|" DIVIDER AND STORE AS A VARIABLE
    String Date = Serial.readStringUntil('|');
    Serial.read();
    
    //STORE THE NEXT SECTION OF STRING AS A VARIABLE
    String Time = Serial.readStringUntil('|');
    Serial.read();
    
    //STORE THE THIRD SECTION OF STRING AS A VARIABLE
    String Phone = Serial.readStringUntil('|');
    Serial.read();
    
    //STORE THE FINAL SECTION AS A VARIABLE
    String Text  = Serial.readStringUntil('\n');
    Serial.read();
  }
    if(Text == "text" && Phone == "phone")
    { display.println(Date);
    display.display();
    display.println(Time);
    display.display();
    display.clearDisplay(); 
    
      }

    if (Text != "text" && Phone == "phone"){
      display.println(Text);
      display.display();
      delay(5000);
      display.clearDisplay(); 
      }

     if (Text == "text" && Phone != "phone"){
      display.println(Phone);
      display.display();
      delay(5000);
      display.clearDisplay(); 
      }
      
      
}

Lỗi ... was not declared in this scope là do 1 định danh (biến, tên lớp) chưa được khai báo trong phạm vi đó.
Bạn chỉ đưa mỗi thế, không biết dòng nào thì ra bạn đang đố tụi mình à?

5 Likes

hình như Text nó ra khỏi scope của while rồi thì phải :thinking:

5 Likes

Bạn có biết học lập trình hay chỉ là tay ngang mà sửa cũng không biết vậy. Chỉ tốn 0.5 giây để sửa dấu ngoặc nhọn dựa vào gợi ý của @phamdat2.

7 Likes

Tại mình làm chuyên sửa chữa/độ/chế xe, máy bay, tàu cao tốc điều khiển tử xa mà tự nhiên khách quen kêu làm giùm cái đồng hồ thông minh bằng arduino để đi thi sáng chế của trường gì đó nên mình cũng ko biết. Mong bạn thông cảm giúp vì mình chuyên ngành điện tử ;((((

2 Likes

Khách kêu thì bạn tự làm chứ sao nhờ mọi người xem giùm được nhỉ?

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?