เวลาเซนเซอร์ตรวจจับ แล้วบอร์ดควบคุมทำงาน โดยจัลระยะประมาณ 30 ซม และ บอร์ดทำงานเป็นเวลา 5 วินาทีคับ เพราะใช้รีเลย์เป็นตัวตัดต่อไฟคับช่วยทีคับ เช่นโค๊ดนี้คับ
#define sensor A0 // Sharp IR GP2Y0A41SK0F (4-30cm, analog)
#define Pin_relay A1
int i=0;
void setup() {
Serial.begin(9600); // start the serial port
pinMode(Pin_relay, OUTPUT);
}
void loop() {
// 5v
float volts = analogRead(sensor)*0.0048828125; // value from sensor * (5/1024)
int distance = 13*pow(volts, -1); // worked out from datasheet graph
//float distance = 65 * pow(volts, -1.10);
delay(100); // slow down serial port
if (distance <= 22 && distance!=0){
Serial.println(distance); // print the distance
i=10;
}
if(i>1){
i--;
digitalWrite(Pin_relay,LOW);
}else{
digitalWrite(Pin_relay,HIGH);
}
}
แต่ผมยังเข้าใจไม่มากคับช่วยเขียนโค๊ดอยางง่ายทีคับ
ที่ร้านยังไม่ได้รับเขียนโค้ด แต่มีสอนเขียนโค้ด
ดูคำสั่งหน่วงเวลา delay() ในคอร์สสอน Arduino ที่ด้านบนซ้าย ทำได้ไม่ยาก ลองเล่นดูนะครับ