มันขึ้นแบบนี้ต้องแก้ยังไงคับ'Ultrasonic' was not declared in this scope

กระทู้คำถาม
#define BUZZER_PIN 2
#define echoPin 7
#define trigPin 6
#include <Servo.h>
#include <NewPing.h>
#define TRIGGER_PIN A0 // ตั้งค่าขา pin Arduino ต่อกับขา Sensor Triger
#define ECHO_PIN A1 // ตั้งค่าขา pin Arduino ต่อกับขา Sensor Echo
#define MAX_DISTANCE 20 // ตั้งค่าระยะการตรวจจับ หน่วยเป็น CM
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
 
Servo myservo;
 
void setup() {
Serial.begin(9600);
myservo.attach(A4); //ตั้งค่าขา A4 เป็น pin Servo
myservo.write(0);
  Serial.begin(9600);
  pinMode(BUZZER_PIN, OUTPUT);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
}
void loop() {
int Sr = sonar.ping_cm(); // ค่า Sr เท่ากับค่า sonar.ping_cm() คือค่าที่อ่านจาก Sensor Ultrasonic
Serial.println(Sr);
if (Sr > 0 && Sr <= 15) {
myservo.write(160);
delay(5000); //หน่วงเวลาเปิดฝาถังขยะ
} else {
myservo.write(0);
delay(100);
}
  Serial.println(Ultrasonic());
  int cm = Ultrasonic();
  if (cm < 60 && cm != 0) {     //เมื่อวัตถเข้าใกลสียงเตือนดังถี่ขึ้น
    digitalWrite(BUZZER_PIN, HIGH);  //ปิดเสียงเตือน
    delay(cm * 16);
    digitalWrite(BUZZER_PIN, LOW);   //เปิดเสียงเตือน
    delay(cm * 16);
  }
  else {                              //เมื่อห่างมากกว่า 60 cm จะไม่มีเสียง
    digitalWrite(BUZZER_PIN, HIGH);   //ปิดเสียงเตือน
    delay(500);
  }
}
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่