การใช้เทคโนโลยีเพื่อสร้างหุ่นยนต์ที่สามารถหลบสิ่งกีดขวางเป็นหนึ่งในการประยุกต์ใช้การทำงานของหุ่นยนต์อย่างแม่นยำและมีประสิทธิภาพ เทคโนโลยี Ultrasonic Sensor HC-SR04 เป็นเครื่องมือที่สามารถช่วยให้หุ่นยนต์รับรู้และหลบสิ่งกีดขวางได้อย่างมีประสิทธิภาพ ในบทความนี้ เราจะสำรวจขั้นตอนการสร้างหุ่นยนต์ Arduino เพื่อหลบสิ่งกีดขวางด้วย Ultrasonic Sensor HC-SR04 รวมถึงแนวคิดและประโยชน์ของโปรเจคนี้ในชีวิตประจำวัน

1. แนวคิดและการออกแบบ

การสร้างหุ่นยนต์ Arduino เพื่อหลบสิ่งกีดขวางต้องเริ่มต้นด้วยการกำหนดแผนและออกแบบโครงสร้างของหุ่นยนต์ โดยคำนึงถึงความเรียบง่าย ความทนทาน และประสิทธิภาพในการหลบสิ่งกีดขวาง การวางแผนการติดตั้ง Ultrasonic Sensor HC-SR04 ให้อยู่ในตำแหน่งที่เหมาะสมเพื่อตรวจจับสิ่งกีดขวางในระยะห่างที่เหมาะสม

2. การเลือกใช้ชิ้นส่วนและอุปกรณ์

เลือกใช้อุปกรณ์และชิ้นส่วนที่เหมาะสมสำหรับโครงการ เช่น บอร์ด Arduino Uno, Ultrasonic Sensor HC-SR04, มอเตอร์, และอุปกรณ์ที่จำเป็นสำหรับโครงสร้างของหุ่นยนต์ เพื่อให้หุ่นยนต์สามารถทำงานได้อย่างมีประสิทธิภาพ

3. การเขียนโปรแกรม

ใช้ Arduino IDE เพื่อเขียนโปรแกรมที่จะควบคุมการทำงานของหุ่นยนต์ รวมถึงการอ่านข้อมูลจาก Ultrasonic Sensor HC-SR04 เพื่อตรวจจับและวัดระยะห่างระหว่างหุ่นยนต์กับสิ่งกีดขวาง และตัดสินใจในการเคลื่อนที่เพื่อหลบสิ่งกีดขวาง

4. การทดสอบและปรับปรุง

ทดสอบการทำงานของหุ่นยนต์ในสถานการณ์จริงและปรับปรุงโค้ดหรือโครงสร้างตามความต้องการ เพื่อให้หุ่นยนต์สามารถหลบสิ่งกีดขวางได้อย่างมีประสิทธิภาพและเสถียร

5. ประโยชน์ของโปรเจค

  • เพิ่มความปลอดภัย: หุ่นยนต์ที่สามารถหลบสิ่งกีดขวางได้ช่วยลดความเสี่ยงในการเกิดอุบัติเหตุ โดยเฉพาะในสถานที่ที่มีการเคลื่อนไหวของมนุษย์และสิ่งของมากมาย
  • เพิ่มประสิทธิภาพ: การใช้หุ่นยนต์หลบสิ่งกีดขวางช่วยลดการขัดข้องในการทำงานและเพิ่มประสิทธิภาพในการทำงาน
  • การใช้งานในสถานที่ต่างๆ: หุ่นยนต์ที่สามารถหลบสิ่งกีดขวางได้มีความยืดหยุ่นในการใช้งาน


การสร้างหุ่นยนต์ Arduino เพื่อหลบสิ่งกีดขวางเป็นโครงการที่ท้าทายและน่าสนใจ ไม่เพียงแต่ทำให้เราได้รู้จักเทคโนโลยีใหม่ๆ แต่ยังเสริมสร้างทักษะและความสามารถในการแก้ปัญหาในชีวิตประจำวันด้วย ทั้งนี้หากสามารถนำหุ่นยนต์เหล่านี้ไปใช้งานในสถานที่ต่างๆ เช่น การสแกนและทำความสะอาดพื้นที่ต่างๆ หรือการช่วยเหลือในงานที่อาจเป็นอันตรายแก่มนุษย์ ก็จะเป็นประโยชน์อย่างมากทั้งในด้านเศรษฐกิจและสังคมอย่างเช่นกัน

หลักการทำงาน

หลักการทำงานของหุ่นยนต์ Arduino ที่ใช้ Ultrasonic Sensor HC-SR04 เพื่อหลบสิ่งกีดขวางมีขั้นตอนหลักๆ ดังนี้:

  1. ตรวจจับระยะห่าง: เซ็นเซอร์ Ultrasonic HC-SR04 ใช้คลื่นเสียงสูงความถี่เพื่อส่งออกไปยังสิ่งกีดขวาง และรอการส่งกลับจากสิ่งกีดขวาง จากนั้นจะใช้เวลาที่ใช้ในการส่งกลับมาเพื่อคำนวณหาระยะห่างระหว่างหุ่นยนต์กับสิ่งกีดขวาง

  2. การคำนวณระยะห่าง: เมื่อเซ็นเซอร์ได้รับสัญญาณกลับมา หุ่นยนต์ Arduino จะใช้เวลาที่ใช้ในการส่งกลับมาและความเร็วของเสียงในอากาศ (ประมาณ 340 เมตรต่อวินาที) เพื่อคำนวณหาระยะห่างจากสิ่งกีดขวาง

  3. การตัดสินใจ: หลังจากได้รับค่าระยะห่างระหว่างหุ่นยนต์กับสิ่งกีดขวางแล้ว หุ่นยนต์จะทำการตัดสินใจว่าจะเลี้ยวซ้ายหรือเลี้ยวขวาหรือหยุดเคลื่อนที่ เพื่อหลบสิ่งกีดขวาง โดยการตัดสินใจนี้จะขึ้นอยู่กับเงื่อนไขที่กำหนดไว้ในโปรแกรม

  4. การเคลื่อนที่: หลังจากที่ตัดสินใจแล้ว หุ่นยนต์จะทำการเคลื่อนที่ตามทิศทางที่เลือก ซึ่งอาจเป็นการหลบสิ่งกีดขวางไปทางด้านซ้ายหรือขวา หรือหยุดเคลื่อนที่เพื่อหลบสิ่งกีดขวาง
  5. การวนลูป: การทำงานของหุ่นยนต์จะเป็นการวนลูปอย่างต่อเนื่อง โดยตรวจสอบระยะห่างและตัดสินใจเพื่อการเคลื่อนที่ตลอดเวลาที่หุ่นยนต์กำลังทำงาน


ดังนั้น หลักการทำงานของหุ่นยนต์ Arduino ที่ใช้ Ultrasonic Sensor HC-SR04 เพื่อหลบสิ่งกีดขวางนั้น ควรปฏิบัติตามขั้นตอนข้างต้นเพื่อให้การทำงานเป็นไปอย่างมีประสิทธิภาพและเสถียร และสามารถใช้ในสถานการณ์จริงได้อย่างมีประสิทธิภาพและปลอดภัย


อุปกรณ์ที่ใช้

1. RB-0001 Arduino UNO R3

2. RB-0002 Sensor Shield V 5.0

3. RB-0003 Motor Driver Module L298N

4. RB-0016 Jumper (F2M) 20cm Female to Male

5. RB-0017 Jumper (F2F) 20cm Female to Female

6. RB-0019 รางถ่าน 18650 – 2 ก้อน

7. RB-0021 ถ่านชาร์จ 18650 NCR18650B 3.7v 3400mAh 2 ก้อน

8. RB-0023 2WD Smart Robot Car Chassis Kits

9. RB-0025 เสารองแผ่นพีซีบีโลหะแบบเหลี่ยม 8 mm

10. RB-0005 Ultrasonic Sensor HC-SR04

11. RB-0007 Mounting Bracket for HC-SR04 แบบยาว

12. RB-0008 SG90 Tower Pro Micro Servo motor 9g



การสร้าง หุ่นยนต์ Arduino หลบสิ่งกีดขวาง


1.ประกอบหุ่นยนต์และเชื่อมต่อวงจร


ใช้สว่านเจาะรู เพื่อยึดเสารองแผ่นพีซีบี สำหรับ Arduino UNO เข้ากับ โครงหุ่นยนต์



ยึด Arduino UNO เข้ากับเสารองแผ่นพีซีบี



เสียบ Sensor Shield เข้ากับ บอร์ด Arduino R3



ยึดเสารองแผ่นพีซีบี สำหรับ Motor Driver เข้ากับ โครงหุ่นยนต์



ยึด Motor Driver เข้ากับเสารองแผ่นพีซีบี



ใช้กาวร้อน ยึดรางถ่าน เข้ากับ โครงหุ่นยนต์



การต่อวงจร


  • สายสีแดงของรางถ่าน 7.4 โวลต์ เชื่อมต่อเข้ากับสวิตช์ปิดเปิด
  • สายสีดำของรางถ่าน 7.4 โวลต์ เชื่อมต่อกับ Jumper (F2M) ผู้-เมีย สีดำ (ตัดขั้วด้านผู้ออก) แล้วจึงเชื่อมต่อเข้ากับ กราวด์ (GND) ของ Sensor Shield


  • ใช้สาย Jumper (F2M) ผู้-เมีย สีแดง (ตัดขั้วด้านเมียออก) เชื่อมต่อจากสวิตช์ปิดเปิดอีกด้าน ไปยัง Power Supply ของ Motor Driver


  • ใช้สาย Jumper (F2M) ผู้-เมีย สีดำ เชื่อมต่อระหว่าง กราวด์ (GND) ของ Motor Driver กับ GND หรือ G ของ Sensor Shield
  • ใช้สาย Jumper (F2M) ผู้-เมีย สีน้ำตาล เชื่อมต่อจากการจ่ายไฟ 5 โวลต์ ของ Motor Driver ไปยัง 5 โวลต์ หรือ V ของ Sensor Shield



จากนั้น ใช้สาย Jumper (F2F) เมีย-เมีย สีอะไรก็ได้ เชื่อมต่อวงจร ระหว่าง Sensor Shield กับ Motor Driver ตามรูป

มี Jumper อยู่ที่ขา ENA และ ENB ของ บอร์ด Motor Driver ให้ถอดออก



ใส่ถ่าน เข้าไปที่รางถ่าน เมื่อ เปิดสวิตช์ ต้องมีไฟเข้า โดยสังเกตไฟ LED สีแดง ที่ Sensor Shield และ ไฟ LED สีแดงที่ Motor Driver จะมีไฟติด


เชื่อมต่อสายสีแดง – ดำ เข้ากับมอเตอร์ ทั้ง 2 ตัว โดยให้สายสีแดงอยู่ด้านบน และ สายสีดำอยู่ด้านล่าง



ยึดมอเตอร์ ทั้ง 2 ตัว เข้ากับ โครงหุ่นยนต์



ยึด ล้อหน้า เข้ากับ โครงหุ่นยนต์



ใส่ ล้อ เข้าไปที่มอเตอร์



เชื่อมต่อ สายมอเตอร์ทั้ง 2 ด้าน เข้ากับ Motor Driver (ตรวจสอบสีของสายไฟให้ถูกต้องตามรูป)


2.ติดตั้ง Arduino IDE


สิ่งแรกคือการติดตั้ง Arduino IDE เพื่อให้คุณสามารถค้นหา Arduino IDE ใน Google

จากนั้นคุณมีสองทางเลือก

หนึ่งคือการติดตั้งเวอร์ชัน1 หรือเพื่อติดตั้งเวอร์ชัน 2

เราจะติดตั้งเวอร์ชัน 2 เพราะมีคุณสมบัติเพิ่มเติมบางอย่าง แต่ไม่ว่าคุณจะเลือกอะไรมันจะทำงานเช่นกัน ดังนั้นคุณสามารถเลือกอย่างใดอย่างหนึ่ง

ดาวน์โหลด Arduino IDE จากที่นี่

https://www.arduino.cc/en/software

This image has an empty alt attribute; its file name is e1-1024x573.png


3. ทดสอบ การเคลื่อนที่ของหุ่นยนต์


การทดสอบนี้ เป็นการตรวจสอบการต่อสายต่างๆ เช่น การเชื่อมต่อสายของมอเตอร์ ทั้ง 2 ตัว รวมทั้งสายอื่นๆ ของหุ่นยนต์ที่เราสร้าง ว่าถูกต้องหรือไม่ ถ้าถูกต้องหุ่นยนต์จะดำเนินการดังนี้

คือ เดินหน้า -> ถอยหลัง -> เลี้ยวซ้าย -> เลี้ยวขวา


และนี่คือโค้ดที่ใช้ทดสอบ


int MA1 = 6; // Motor A1
int MA2 = 7; // Motor A2
int PWM_A = 3; // Speed Motor A

int MB1 = 8; // Motor B1
int MB2 = 9; // Motor B2
int PWM_B = 5; // Speed Motor B

int SPEED = 150; // Speed PWM 0 - 255

void setup() {

//Setup Channel A
pinMode(MA1, OUTPUT); //Motor A1
pinMode(MA2, OUTPUT); //Motor A2
pinMode(PWM_A, OUTPUT); //Speed PWM Motor A

//Setup Channel B
pinMode(MB1, OUTPUT); //Motor B1
pinMode(MB2, OUTPUT); //Motor B2
pinMode(PWM_B, OUTPUT); //Speed PWM Motor B
}

void loop() {


Stop(2000);
Forward(600);
Stop(200);
Backward(600);
Stop(200);
turnLeft(400);
Stop(200);
turnRight(400);


}

void Backward(int time)
{
digitalWrite(MA1, LOW);
digitalWrite(MA2, HIGH);
analogWrite(PWM_A, SPEED);

digitalWrite(MB1, HIGH);
digitalWrite(MB2, LOW);
analogWrite(PWM_B, SPEED);

delay(time);
}

void Forward (int time)
{
digitalWrite(MA1, HIGH);
digitalWrite(MA2, LOW);
analogWrite(PWM_A, SPEED);

digitalWrite(MB1, LOW);
digitalWrite(MB2, HIGH);
analogWrite(PWM_B, SPEED);

delay(time);
}

void turnLeft(int time)
{
digitalWrite(MA1, HIGH);
digitalWrite(MA2, LOW);
analogWrite(PWM_A, SPEED);

digitalWrite(MB1, LOW);
digitalWrite(MB2, LOW);
analogWrite(PWM_B, 0);

delay(time);
}

void turnRight(int time)
{
digitalWrite(MA1, LOW);
digitalWrite(MA2, LOW);
analogWrite(PWM_A, 0);

digitalWrite(MB1, LOW);
digitalWrite(MB2, HIGH);
analogWrite(PWM_B, SPEED);

delay(time);
}

void Stop(int time)
{
digitalWrite(MA1, LOW);
digitalWrite(MA2, LOW);
analogWrite(PWM_A, 0);

digitalWrite(MB1, LOW);
digitalWrite(MB2, LOW);
analogWrite(PWM_B, 0);

delay(time);

}


ลิงค์โค้ด : https://lungmaker.com/code/test-motor-arduino.ino


เชื่อมต่อสาย USB ระหว่าง คอมพิวเตอร์ กับ Arduino UNO


ตรวจสอบ Port ของบอร์ด Arduino โดย คลิกที่ Device Manager



ที่ Ports (COM & LPT) จะพบ Port ของบอร์ด Arduino ในตัวอย่างเป็น Arduino Uno (COM19)



ไปที่ Tools -> Board -> Arduino AVR Boards -> Arduino Uno



เลือก Port โดยไปที่ Tools -> Port -> COM19
(โดย COM19 แต่ละเครื่องจะไม่เหมือนกัน ให้เลือกตามที่ปรากฎ)



คลิกที่ Upload



รอจนกระทั่งขึ้น Done uploading. ที่แถบด้านล่าง แสดงว่าเราอัพโหลดโปรแกรมลงบอร์ดได้สำเร็จแล้ว



วิดีโอผลลัพธ์การทำงาน การเคลื่อนที่ของหุ่นยนต์ Arduino

ถ้ายังทำงานไม่ถูกต้อง คือ เดินหน้า -> ถอยหลัง -> เลี้ยวซ้าย -> เลี้ยวขวา ให้กลับไปแก้ไขการต่อวงจร การต่อสายต่างๆ เช่น การต่อสายมอเตอร์ จนกว่าจะทำงานถูกต้อง ถึงจะสามารถไปทำงานในขั้นตอนต่อไป


4.เชื่อมต่อ Servo motor และ ทดสอบ


และนี่คือโค้ดที่ใช้ทดสอบ

#include <Servo.h>
Servo myservo;

void setup() {
myservo.attach(10);
}

void loop() {
myservo.write(0);
delay(1000);
myservo.write(90);
delay(1000);
myservo.write(180);
delay(1000);
}


ลิงค์โค้ด : https://lungmaker.com/code/test-servo-pin10.ino


วิดีโอผลลัพธ์การทำงาน ทดสอบ motor




5.เชื่อมต่อ Sensor HC-SR04 และ ทดสอบ


และนี่คือโค้ดที่ใช้ทดสอบ

const int pingPin = 11;
int inPin = 12;
void setup() {
Serial.begin(9600);
}
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);
}

long microsecondsToCentimeters(long microseconds) {
return microseconds / 29 / 2;
}


ลิงค์โค้ด : https://lungmaker.com/code/test-arduino-sr04.ino


รอจนกระทั่งขึ้น Done uploading. ที่แถบด้านล่าง แสดงว่าเราอัพโหลดโปรแกรมลงบอร์ดได้สำเร็จแล้ว



ไปที่ Tools -> Serial Monitor แล้วเลือก Both NL & CR และ เลือก 9600 baud


Serial Monitor จะแสดง ระยะทางที่ห่าง จาก สิ่งกีดขวาง มีหน่วยเป็น cm (เซนติเมตร)

แสดงว่า การเชื่อมต่อ เซ็นเซอร์ Ultrasonic Sensor HC-SR04 ของเรานั้นถูกต้อง และ พร้อมใช้งานแล้ว



6. Upload Code หุ่นยนต์ Arduino หลบสิ่งกีดขวาง

โค้ด หุ่นยนต์ Arduino หลบสิ่งกีดขวาง

#include <Servo.h>
Servo SM;

#define trigpin 11
#define echo 12

int MA1 = 6; // Motor A1
int MA2 = 7; // Motor A2
int PWM_A = 3; // Speed Motor A

int MB1 = 8; // Motor B1
int MB2 = 9; // Motor B2
int PWM_B = 5; // Speed Motor B

int SPEEDA = 200; // Speed PWM 0 - 255
int SPEEDB = 200; // Speed PWM 0 - 255

void setup() {
Serial.begin(9600);
//Setup Channel A
pinMode(MA1, OUTPUT); //Motor A1
pinMode(MA2, OUTPUT); //Motor A2
pinMode(PWM_A, OUTPUT); //Speed PWM Motor A

//Setup Channel B
pinMode(MB1, OUTPUT); //Motor B1
pinMode(MB2, OUTPUT); //Motor B2
pinMode(PWM_B, OUTPUT); //Speed PWM Motor B
pinMode(trigpin, OUTPUT);
pinMode(echo, INPUT);

SM.attach(10);
SM.write(90);
delay(3000);
}

int distance;

void loop() {
// put your main code here, to run repeatedly:
findDistance();


if (distance > 35) {
Forward(1);
} else {
delay(60);
findDistance();
if (distance > 35) {
Forward(1);
} else {
Stop(10);
SM.write(40);
delay(500);
findDistance();
if (distance > 35) {
SM.write(90);
delay(1000);
turnRight(300);
Stop(10);
} else {
SM.write(130);
delay(1000);
findDistance();
if (distance > 35) {
SM.write(90);
delay(1000);
turnLeft(300);
Stop(10);
} else {
SM.write(90);
delay(1000);
turnRight(300);
Stop(10);
}
}
}
}
}

void findDistance() {
int duration;
digitalWrite(trigpin, HIGH);
delayMicroseconds(10);
digitalWrite(trigpin, LOW);

duration = pulseIn(echo, HIGH);
distance = (1 / 29.1) * (duration / 2);
Serial.println(distance);
delay(60);
}

void Backward(int time) {
digitalWrite(MA1, LOW);
digitalWrite(MA2, HIGH);
analogWrite(PWM_A, SPEEDA);

digitalWrite(MB1, HIGH);
digitalWrite(MB2, LOW);
analogWrite(PWM_B, SPEEDB);

delay(time);
}

void Forward(int time) {
digitalWrite(MA1, HIGH);
digitalWrite(MA2, LOW);
analogWrite(PWM_A, SPEEDA);

digitalWrite(MB1, LOW);
digitalWrite(MB2, HIGH);
analogWrite(PWM_B, SPEEDB);

delay(time);
}

void turnLeft(int time) {
digitalWrite(MA1, HIGH);
digitalWrite(MA2, LOW);
analogWrite(PWM_A, SPEEDA);

digitalWrite(MB1, LOW);
digitalWrite(MB2, LOW);
analogWrite(PWM_B, 0);

delay(time);
}

void turnRight(int time) {
digitalWrite(MA1, LOW);
digitalWrite(MA2, LOW);
analogWrite(PWM_A, 0);

digitalWrite(MB1, LOW);
digitalWrite(MB2, HIGH);
analogWrite(PWM_B, SPEEDB);

delay(time);
}

void Stop(int time) {
digitalWrite(MA1, LOW);
digitalWrite(MA2, LOW);
analogWrite(PWM_A, 0);

digitalWrite(MB1, LOW);
digitalWrite(MB2, LOW);
analogWrite(PWM_B, 0);

delay(time);
}


ลิงค์โค้ด : https://lungmaker.com/code/arduino-obstacle-robot.ino


วิดีโอผลลัพธ์การทำงาน หุ่นยนต์ Arduino หลบสิ่งกีดขวาง


สรุป


การสร้างหุ่นยนต์ Arduino เพื่อหลบสิ่งกีดขวางโดยใช้ Ultrasonic Sensor HC-SR04 มีข้อดีหลายประการดังนี้:

  1. ความมั่นใจในการเคลื่อนที่: การใช้ Ultrasonic Sensor ช่วยในการตรวจจับและวัดระยะห่างระหว่างหุ่นยนต์กับสิ่งกีดขวาง ช่วยเพิ่มความมั่นใจให้กับหุ่นยนต์ในการเคลื่อนที่และหลีกเลี่ยงสิ่งกีดขวางอย่างมีประสิทธิภาพ
  2. ประหยัดทรัพยากร: Ultrasonic Sensor เป็นอุปกรณ์ที่มีความสามารถในการทำงานในระยะทางไกลและมีราคาที่เหมาะสม ทำให้การสร้างหุ่นยนต์หลบสิ่งกีดขวางด้วย Ultrasonic Sensor เป็นเรื่องที่ประหยัดทรัพยากร
  3. ความยืดหยุ่นในการใช้งาน: Ultrasonic Sensor เป็นอุปกรณ์ที่มีความยืดหยุ่นในการใช้งาน สามารถปรับใช้ในหลากหลายสถานการณ์และงานที่ต้องการใช้งานระยะห่างระหว่างวัตถุ
  4. ความแม่นยำในการตรวจจับ: Ultrasonic Sensor เป็นเซนเซอร์ที่มีความแม่นยำในการตรวจจับระยะห่าง ทำให้หุ่นยนต์สามารถหลีกเลี่ยงสิ่งกีดขวางได้อย่างแม่นยำและปลอดภัย
  5. ความสามารถในการปรับแต่ง: หากต้องการเพิ่มความซับซ้อนในการตรวจจับและหลีกเลี่ยงสิ่งกีดขวาง สามารถปรับแต่งโค้ดและตั้งค่า Ultrasonic Sensor ได้ตามต้องการของโปรเจคและสถานการณ์ที่เจอ

    ดังนั้น การใช้ Ultrasonic Sensor HC-SR04 ในการสร้างหุ่นยนต์ Arduino เพื่อหลบสิ่งกีดขวางเป็นวิธีที่มีประสิทธิภาพและคุ้มค่าที่สุดสำหรับโปรเจคหุ่นยนต์ที่ต้องการความแม่นยำและเชื่อถือได้ในการหลีกเลี่ยงสิ่งกีดขวางในสิ่งแวดล้อมที่หลากหลาย

Leave a Reply

Your email address will not be published. Required fields are marked *

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

Allow All
Manage Consent Preferences
  • Always Active

Save