ผมเขียนคำลั่งให้เปิดไฟเมื่อมีวัตถุใกล้กว่าระยะที่ตั้งใว้
โดยใช้ เซนเซอร์ Ultrasonic Module เป็นตัววัดระยะ
แต่มันติดเงื่อนใขครับ
ช่วยดูที่ว่าผิดตรงใหน
const int pingPin = 13;
int inPin = 12;
void setup() {
Serial.begin(9600);
pinMode(8,OUTPUT);
}
void loop()
{
long duration, cm;
pinMode(pingPin, OUTPUT);
digitalWrite(pingPin, LOW);
delayMicroseconds(2);
digitalWrite(pingPin, HIGH);
delayMicroseconds(5);
digitalWrite(pingPin, LOW);
pinMode(inPin, INPUT);
duration = pulseIn(inPin, HIGH);
cm = microsecondsToCentimeters(duration);
Serial.print(cm);
Serial.print("cm");
Serial.println();
delay(100);
}
if ( digitalWrite, long <=150)
{
digitalWrite (8,HIGH);
delay (1000);
digitalWrite (8,LOW);
}
long microsecondsToCentimeters(long microseconds)
ลืมระบุว่าคิดตรงคำสั่งบรรทัด
if ( digitalWrite, long <=150)
digitalWrite ไม่มีค่าส่งกลับ จึงตรวจสอบใน if ไม่ได้ครับ
https://www.arduino.cc/en/Reference/DigitalWrite