[Arduino] วงจรตรวจจับการเคลื่อนไหว ด้วย Infrared Sensor

Teerapong Singthong 👨🏻‍💻
iamgoangle
Published in
2 min readMay 18, 2019

เมื่อมีการเคลื่อนไหวผ่านตัว Infrared sensor สิ่งที่อ่านค่าได้จะเป็นสัญญาน Digital Output ออกมาจากตัว sensor แต่ระยะไม่เกิน 0–5cm ขึ้นอยู่กับ sensor ที่ใช้

สัญญาน 0 — มีการเคลื่อนไหว

สัญญาน 1 — ไม่มีการเคลื่อนไหว

Circuit

Code

int pinD0 = 8;
int analogA0 = A0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
// digital signal
int sensorRead = digitalRead(pinD0);
Serial.print(sensorRead);
Serial.print("\t");

if (sensorRead == 0) {
Serial.println("ʘ‿ʘ Detect something ~~~~ ");
} else {
Serial.println("(ᗒᗣᗕ)՞ Not found movement ~~~~ ");
}
// analog signal
// int sensorRead = analogRead(analogA0);
// Serial.println(sensorRead);

delay(300);
}

ถ้าอยากได้ค่าละเอียดให้ต่อ Analog Output ที่ขา A0 และเปิดใช้งานโค๊ดในส่วนที่ถูก comment ไว้

ซึ่งจะสามารถใช้ Osciloscope ให้การจับ Serial Plotter ได้

ถ้าหาก sensor มัน detect ช้าไปให้ปรับ resister ด้วยการหมุน

ค่อยๆหมุนตรง resister แล้วดู serial monitor

Demo

--

--

Teerapong Singthong 👨🏻‍💻
iamgoangle

Engineering Manager, ex-Solution Engineering Lead at LINE | Tech | Team Building | System Design | Architecture | SWE | Large Scaling System