หุ่นยนต์ Arduino เดินตามเส้นด้วยการใช้เซ็นเซอร์ 2 เซ็นเซอร์ไม่เพียงแต่เป็นโปรเจคที่น่าสนใจในด้านเทคโนโลยีและการสร้างอุปกรณ์อิเล็กทรอนิกส์เท่านั้น แต่ยังมีประโยชน์ที่หลากหลายที่สามารถนำไปใช้ประโยชน์ได้ในหลายๆ ด้านด้วยกัน โดยเฉพาะด้านการศึกษา การพัฒนาทักษะทางเทคโนโลยี และการแก้ปัญหาในชีวิตประจำวัน ดังนี้
- การศึกษาและการเรียนรู้
การสร้างหุ่นยนต์ Arduino เดินตามเส้นเป็นโอกาสที่ยอดเยี่ยมในการศึกษาและเรียนรู้เกี่ยวกับหลักการพื้นฐานของการโปรแกรม การใช้งานอิเล็กทรอนิกส์ และการสร้างโครงสร้างหุ่นยนต์ เป็นต้น นอกจากนี้ยังสามารถศึกษาเรื่องการสั่งงานและการควบคุมของหุ่นยนต์ในสภาวะต่างๆ ที่สร้างขึ้นมาได้อีกด้วย - พัฒนาทักษะทางเทคโนโลยี
การสร้างหุ่นยนต์ Arduino เดินตามเส้นช่วยในการพัฒนาทักษะทางเทคโนโลยีที่สำคัญ เช่น ทักษะในการเขียนโปรแกรม การทำงานกับอุปกรณ์อิเล็กทรอนิกส์ การปรับแต่งและการประยุกต์ใช้เทคโนโลยีในชีวิตประจำวัน - การแก้ปัญหาในชีวิตประจำวัน
หุ่นยนต์ Arduino เดินตามเส้นสามารถนำมาใช้ในการแก้ปัญหาในชีวิตประจำวันได้หลากหลาย ตั้งแต่การใช้เป็นหุ่นยนต์ตรวจจับและติดตามเส้นสายไฟในงานอุตสาหกรรม การนำมาใช้เป็นหุ่นยนต์ที่ช่วยในการวิเคราะห์และตรวจสอบสภาพแวดล้อม หรือแม้แต่การนำไปใช้ในการสร้างระบบอัตโนมัติที่ช่วยลดการกระทำมนุษย์ในงานต่างๆ - การสนับสนุนในการวิจัยและพัฒนา
การสร้างหุ่นยนต์ Arduino เดินตามเส้นยังเป็นที่น่าสนใจสำหรับนักวิจัยและผู้พัฒนาที่กำลังศึกษาและพัฒนาเทคโนโลยีใหม่ๆ ที่เกี่ยวข้องกับการควบคุมและการเคลื่อนที่ของหุ่นยนต์ โดยการใช้หุ่นยนต์เดินตามเส้นเป็นพื้นฐานในการทดลองและพัฒนาเทคโนโลยีใหม่ๆ ที่มีศักยภาพในอนาคต
ดังนั้น หุ่นยนต์ Arduino เดินตามเส้น 2 เซ็นเซอร์ไม่เพียงแต่เป็นโครงการที่น่าสนใจและสนับสนุนในการศึกษาและการเรียนรู้เท่านั้น แต่ยังมีความสำคัญและประโยชน์อย่างมากในหลายๆ ด้านในชีวิตประจำวันและในวงการวิจัยและพัฒนาด้านเทคโนโลยี
หลักการทำงาน
หลักการทำงานของหุ่นยนต์ Arduino เดินตามเส้นด้วยการใช้เซ็นเซอร์ 2 เซ็นเซอร์ เรียกว่า “Line Following Robot” หรือ “หุ่นยนต์ตามเส้น” ซึ่งใช้หลักการของการตรวจจับสีของเส้นทางโดยใช้เซ็นเซอร์ Infrared (IR) เพื่อนำทางหุ่นยนต์ให้เดินตามเส้นไปตามเส้นที่กำหนดไว้ ดังนี้
- การตรวจจับสีของเส้น
เซ็นเซอร์ Infrared (IR) ทำหน้าที่ส่งและรับสัญญาณ Infrared ที่ส่งออกมา
เมื่อเซ็นเซอร์อยู่เหนือพื้นผิวของเส้นที่มีสีแตกต่างจากพื้นหรือสภาพแวดล้อม สัญญาณที่ส่งออกและสัญญาณที่ได้รับกลับจะมีความแตกต่างกัน - การประมวลผลสัญญาณ
Arduino จะรับสัญญาณจากเซ็นเซอร์ Infrared และทำการประมวลผลเพื่อตรวจจับความแตกต่างในสัญญาณระหว่างสีของเส้นกับพื้นหรือสภาพแวดล้อม
โปรแกรมที่เขียนบน Arduino จะใช้ข้อมูลนี้ในการควบคุมการเคลื่อนที่ของหุ่นยนต์ โดยการกำหนดคำสั่งให้หุ่นยนต์หันไปทางที่เส้นเพื่อทำให้เซ็นเซอร์อยู่เหนือเส้นเสมอ - การควบคุมการเคลื่อนที่
เมื่อ Arduino ตรวจจับความแตกต่างในสัญญาณระหว่างเส้นและพื้น หรือสภาพแวดล้อม จะสั่งให้มอเตอร์หรือระบบขับเคลื่อนอื่นๆ ของหุ่นยนต์เคลื่อนที่ในทิศที่ถูกต้อง
โดยปกติแล้วหุ่นยนต์จะถูกโปรแกรมให้หันไปทางที่เซ็นเซอร์ตรวจจับสีของเส้น ทำให้เซ็นเซอร์อยู่เหนือเส้นตลอดเวลา - การปรับความเร็วและทิศทาง
การปรับความเร็วและทิศทางของหุ่นยนต์อาจต้องการการปรับแต่งเพื่อให้หุ่นยนต์เคลื่อนที่อย่างเชื่อถือได้ในสภาวะที่ต่างกัน เช่น มุมของเส้นทาง ความเร็วของหุ่นยนต์ หรือเส้นทางที่มีความซับซ้อน
ดังนั้น หลักการทำงานของหุ่นยนต์ Arduino เดินตามเส้น 2 เซ็นเซอร์ คือการใช้เซ็นเซอร์ Infrared เพื่อตรวจจับสีของเส้นและใช้ข้อมูลนั้นในการควบคุมการเคลื่อนที่ของหุ่นยนต์ให้เดินตามเส้นไปตามเส้นที่กำหนดไว้อย่างแม่นยำและเชื่อถือได้ โดยที่ Arduino ทำหน้าที่ส่งคำสั่งให้กับระบบขับเคลื่อนของหุ่นยนต์ให้ทำงานตามที่กำหนดไว้ในโปรแกรมที่ถูกโปรแกรมลงในบอร์ดนั้นๆ ตามเงื่อนไขที่กำหนดไว้ในโปรแกรมนั้นๆ อีกทั้งยังมีการปรับค่าความเร็วและทิศทางเพื่อให้หุ่นยนต์สามารถเดินตามเส้นได้อย่างถูกต้อง
แนวคิด การสร้าง หุ่นยนต์ Arduino เดินตามเส้น 2 เซ็นเซอร์
เซ็นเซอร์ที่ตรวจจับเส้นทางและส่งสัญญาณไปยัง Arduino เซ็นเซอร์แบบนี้จะมีช่วงในการทำงาน หรือ ระยะในการตรวจจับจะได้ใกล้กว่าแบบ Opposed mode ซึ่งในสภาวะการทำงานปกติ พื้นเเป็นสีขาว ตัวรับ Receiver จะสามารถรับสัญญาณแสงจากตัวส่ง Emitter ได้ตลอดเวลา เนื่องจากลำแสง สะท้อนกลับมาได้ จะแสดงค่า เป็น 0
และ เมื่อพื้นเป็นสีดำ แสงสะท้อนกลับมาไม่ได้ จึงทำให้ตัวรับ Receiver ไม่สามารถรับลำแสงที่จะสะท้อนกลับมาได้ จะแสดงค่า เป็น 1
เซ็นเซอร์ตรวจสอบการสะท้อนแสงกลับมา ได้หรือไม่ แล้วส่งสัญญาณไปยัง Arduino แล้ว Arduino จึงไปสั่งให้มอเตอร์ทำงาน โดย Motor Drive Module L298N ให้เป็นไปตามการส่งค่ามาของเซ็นเซอร์
โปรเจค หุ่นยนต์เดินตามเส้น 2 เซ็นเซอร์ Arduino นี้ เราจะใช้ 2 เซ็นเซอร์อินฟราเรด คือด้านซ้ายและด้านขวา โดย เมื่อเซ็นเซอร์ ทั้งด้านซ้ายและด้านขวา ตรวจสอบแล้วเป็นพื้นสีขาว ลำแสง สามารถสะท้อนกลับมาได้ทั้งคู่ ( 0 , 0 ) ให้หุ่นยนต์เคลื่อนที่ไปข้างหน้า
หากเซ็นเซอร์ซ้ายมาพบพื้นสีดำ และ เซ็นเซอร์ขวาพบพื้นสีขาว ( 1 , 0 ) ให้หุ่นยนต์เลี้ยวไปทางด้านซ้าย
หากเซ็นเซอร์ขวามาพบพื้นสีดำ และ เซ็นเซอร์ซ้ายพบพื้นสีขาว ( 0 , 1 ) ให้หุ่นยนต์เลี้ยวไปทางด้านขวา
หากเซ็นเซอร์ทั้งสองมาอยู่บนเส้นสีดำทั้งคู่ ( 1 , 1 ) ให้หุ่นยนต์หยุด
อุปกรณ์ที่ใช้
2. RB-0002 Sensor Shield V 5.0
3. RB-0003 Motor Driver Module L298N
4. RB-0015 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-0288 TCRT5000 Tracing Infrared Reflectance Sensor 2 ตัว
การสร้าง หุ่นยนต์ Arduino เดินตามเส้น 2 เซ็นเซอร์
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
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.เชื่อมต่อ Tracing เซ็นเซอร์ และ ทดสอบ
เสียบสาย USB เพื่อทำการอัพโหลดโค้ด
และนี่คือโค้ดที่ใช้ทดสอบ
int sensor_L, sensor_R; //optical sensor values
int pin_L = 11 , pin_R = 10; //pin sensor values
String tmp;
int ADC_stabilize = 5;
void setup() {
// initialize the serial communication:
Serial.begin(9600);
pinMode(pin_L, INPUT);
pinMode(pin_R, INPUT);
}
void loop() {
//take a snapshot
sensor_L = digitalRead(pin_L);
delay(ADC_stabilize); //stabilize
sensor_L = digitalRead(pin_L);
delay(ADC_stabilize);
sensor_R = digitalRead(pin_R);
delay(ADC_stabilize);
sensor_R = digitalRead(pin_R);
delay(ADC_stabilize);
tmp = "L=" + String(sensor_L) + " R=" + String(sensor_R);
// send the value of analog inputs:
Serial.println(tmp);
// wait a bit for next reading
delay(1000); //1000=1 sec
}
ลิงค์โค้ด : https://lungmaker.com/code/test-line-arduino.ino
รอจนกระทั่งขึ้น Done uploading. ที่แถบด้านล่าง แสดงว่าเราอัพโหลดโปรแกรมลงบอร์ดได้สำเร็จแล้ว
ไปที่ Tools -> Serial Monitor แล้วเลือก Both NL & CR และ เลือก 9600 baud
ปรับเซ็นเซอร์ (ถ้าเซนเซอร์ไม่ทำงานตามนี้ หุ่นยนต์จะไม่เดินตามเส้น)
ให้ปรับเซ็นเซอร์ทั้ง 2 ตัว ดังนี้ ถ้าอยู่บนพื้นสีขาว ให้ไฟ LED ติด 2 ดวง
Serial Monitor จะแสดง L=0 R=0
ถ้าเซนเซอร์ด้านขวา เข้าไปใน บนเทปสีดำ ให้ ไฟ LED เซนเซอร์ด้านขวา ติด 1 ดวง และถ้าอยู่บนพื้นสีขาว ให้ไฟ LED ติด 2 ดวง
Serial Monitor จะแสดง L=0 R=1
ถ้าเซนเซอร์ด้านซ้าย เข้าไปใน บนเทปสีดำ ให้ ไฟ LED เซนเซอร์ด้านซ้าย ติด 1 ดวง และถ้าอยู่บนพื้นสีขาว ให้ไฟ LED ติด 2 ดวง
Serial Monitor จะแสดง L=1 R=0
ถ้าเซนเซอร์ด้านซ้าย และ เซนเซอร์ด้านขวา เข้าไปใน บนเทปสีดำ ให้ ไฟ LED เซนเซอร์ด้านซ้าย และ เซนเซอร์ด้านขวา ติด 1 ดวง
Serial Monitor จะแสดง L=1 R=1
ถ้ายังทำงานไม่ถูกต้อง ให้กลับไปแก้ไขการต่อวงจร การต่อสายเซ็นเซอร์ และ ปรับค่าการรับแสง โดย ใช้ไขควงหมุน ตัว R ปรับค่าได้ แบบ trimpot สี่เหลี่ยมสีฟ้า จนกว่าจะทำงานถูกต้อง ถึงจะสามารถไปทำงานในขั้นตอนต่อไป
5. Upload Code หุ่นยนต์ Arduino เดินตามเส้น 2 เซ็นเซอร์
int sensor_L, sensor_R; //optical sensor values
int pin_L = 11, pin_R = 10; //pin sensor values
String tmp;
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 = 140; // Speed PWM 0 - 255
void setup() {
// initialize the serial communication:
Serial.begin(9600);
pinMode(pin_L, INPUT);
pinMode(pin_R, INPUT);
//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() {
sensor_L = digitalRead(pin_L);
sensor_R = digitalRead(pin_R);
if ((sensor_L == 0) && (sensor_R == 0)) {
Forward(1);
} else if ((sensor_L == 1) && (sensor_R == 0)) {
turnLeft(3);
} else if ((sensor_L == 0) && (sensor_R == 1)) {
turnRight(3);
} else if ((sensor_L == 1) && (sensor_R == 1)) {
Stop(1000);
}
tmp = "L=" + String(sensor_L) + " R=" + String(sensor_R);
Serial.println(tmp);
}
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/arduino-robot-follows-line.ino
วิดีโอผลลัพธ์การทำงาน หุ่นยนต์ Arduino เดินตามเส้น 2 เซ็นเซอร์
สรุป
การสร้างหุ่นยนต์ Arduino เดินตามเส้น 2 เซ็นเซอร์มีข้อดีมากมายที่ทำให้เป็นโปรเจกท์ที่น่าสนใจและมีความสำคัญ โดยสรุปข้อดีหลัก ๆ ได้แก่:
- การเรียนรู้และพัฒนาทักษะทางเทคโนโลยี: โปรเจกท์นี้เสริมสร้างโอกาสในการศึกษาและเรียนรู้เกี่ยวกับการโปรแกรมและการทำงานของอุปกรณ์อิเล็กทรอนิกส์ เป็นพื้นฐานที่ดีในการพัฒนาทักษะทางเทคโนโลยีและการสร้างอุปกรณ์ที่มีประโยชน์ในอนาคต
- สนุกและท้าทาย: การสร้างหุ่นยนต์เดินตามเส้นเป็นกิจกรรมที่สนุกและท้าทาย มันเป็นโปรเจกท์ที่ท้าทายทั้งในด้านการสร้างและการโปรแกรม เหมาะสำหรับผู้ที่ชื่นชอบการเรียนรู้และการแก้ปัญหา
- การทำความเข้าใจหลักการทำงานของเทคโนโลยี: ผู้ที่มีส่วนร่วมในโปรเจกท์นี้จะได้เรียนรู้เกี่ยวกับหลักการทำงานของเซ็นเซอร์และการควบคุมการเคลื่อนที่ของหุ่นยนต์ ซึ่งเป็นความรู้ที่มีประโยชน์ในวงการวิทยาศาสตร์และเทคโนโลยีต่างๆ
- การเรียนรู้และการสร้างเชิงสร้างสรรค์: การสร้างหุ่นยนต์ Arduino เดินตามเส้นเป็นโอกาสที่ดีในการสร้างสรรค์สิ่งใหม่ๆ และให้ความคิดสร้างสรรค์ของผู้เรียนได้ฝึกพัฒนาออกมาในโลกของเทคโนโลยี
- การพัฒนาทักษะในการทำงานร่วมกับทีม: โปรเจกท์นี้สามารถเป็นโอกาสที่ดีในการทำงานร่วมกับทีม โดยการแบ่งหน้าที่และการทำงานร่วมกันเพื่อสร้างหุ่นยนต์ที่สมบูรณ์และให้ผลลัพธ์ที่ดี