ตัวอย่าง Code การใช้งานเบื้องต้น
Arduino IDE Code
#include <Servo.h>
int s1 = 10; // เปิดใช้งาน s1 ที่พอร์ต 10
Servo sv1; // ประกาศการใช้งาน sv1
////////////////////////////////////////
int trig = A0; // ให้ขา Trig ต่อเข้ากับพอร์ต A0
int echo = A1; // ให้ขา Echo ต่อเข้ากับพอร์ต A1
int snd = 3 ; // ตั้งค่า snd เป็นพอร์ตที่ 3
////////////////////////////////////
int down = 29 ; // องศาที่ใช้กด
int up = 119 ; // องศาที่คลาย
int L = 20; // ระยะที่ต้องการให้เริ่มเห็นหน่วยเป็น cm
////////////////////////////////////////
void setup() {
Serial.begin(9600);
sv1.attach(s1); // เรียกใช้งานเตรียมตอบสนอง sv1
}
void loop()
{
long duration, cm;
pinMode(trig, OUTPUT);
digitalWrite(trig, LOW);
delayMicroseconds(2);
digitalWrite(trig, HIGH);
delayMicroseconds(5);
digitalWrite(trig, LOW);
pinMode(echo, INPUT);
duration = pulseIn(echo, HIGH);
cm = microsecondsToCentimeters(duration);
Serial.print("Distance");
Serial.print(cm);
Serial.println(" cm.");
delay(50); // หน่วงเวลาการทำงานทุกๆ 50 มิลลิวินาที
//ถ้าเจอมอในระยะที่ต้องการบอร์ดจะส่งเสียงบีบแช่ประมาณ 1.5 วินาที หลังจากนั้นจำทำการฉีดแอลกอฮอล์จำนวน 2 ครั้ง
if (cm < L){
beep1();
sv1.write(down);delay(500);sv1.write(up);delay(500);
sv1.write(down);delay(500);sv1.write(up);delay(500);
beep2();
delay(3000);
}
else {sv1.write(up);} //ถ้าไม่เจอเซอร์โวก็จะอยู่ตำแหน่ง UP
}
long microsecondsToCentimeters(long microseconds)
{
return microseconds / 29 / 2;
}
void beep1(){ tone(snd, 1000, 1500);delay(1700);}
void beep2(){ tone(snd, 660, 150);delay(170);tone(snd, 660, 150);delay(170);tone(snd, 660, 150);delay(170);}
void beeps(){ tone(snd, 900, 100);delay(120);tone(snd, 900, 100);delay(120);}