กระโดดไปยัง:
ESP32 Tutorial 1/55 - Introduction to SunFounder's ESP32 IoT Learning kit Software and Arduino IDE ESP32 Tutorial 2/55 - What's ESP32, Camera Extension Board, unboxing SunFounder's ESP32 IoT kit ESP32 Tutorial 3/55 - Resistor, LED, Breadboard Project: Hello LED -ESP32 IoT Learning kit ESP32 Tutorial 4/55 - Data types Define Variable Int, bool, char, Serial Monitor-ESP32 IoT kit ESP32 Tutorial 5/55 - LED Fade, control brightness of an LED -ESP32 IoT Learning kit ESP32 Tutorial 6/55 - Using RGB LED Project 2.3 -SunFounder's ESP32 IoT Learning kit บทเรียน ESP32 7/55 - การใช้ Array กับการเขียนโปรแกรม ESP32 Arduino - ชุดเรียนรู้ IoT ESP32 ของ SunFounder ESP32 Tutorial 8/55 -Walking Light 74HC595 Shift register -SunFounder's ESP32 IoT Learning kit บทเรียน ESP32 9/55 - การใช้ปุ่มกดเพื่อสลับเปิด-ปิด LED, กดเปิด, กดปิด - ชุด IoT ESP32 ของ SunFounder ESP32 บทเรียนที่ 10/55 - ตัวนับดิจิทัลโดยใช้จอแสดงผลเซเว่นเซกเมนต์ 74HC595 - ชุดเรียนรู้ IoT สำหรับ ESP32 บทเรียน ESP32 11/55 - การใช้ LCD1602 LCD2004 กับ ESP32 - ชุดเรียนรู้ IoT ESP32 ของ SunFounder บทเรียน ESP32 12/55 - โปรเจกต์แถบ RGB WS2812 4 ร่วมกับชุดเรียนรู้ IoT ESP32 ของ SunFounder ESP32 บทเรียน 13/55 - Arduino ส่งเสียงบี๊บด้วย Active Buzzer | ชุดเรียนรู้ IoT ESP32 ของ SunFounder บทเรียน ESP32 14/55 - การเล่นโน้ตเพลงที่กำหนดเองโดยใช้ชุดเรียนรู้ IoT ESP32 ของ SunFounder ESP32 บทเรียน 15/55 - การควบคุมความเร็วมอเตอร์ DC ด้วย ESP32 L293D | ชุดเรียนรู้ IoT ESP32 ของ SunFounder บทเรียน ESP32 16/55 - ปั๊มน้ำขนาดเล็กโดยใช้ ESP32 และ L293D | ชุดเรียนรู้ IoT ESP32 ของ SunFounder ESP32 บทเรียนที่ 17/55 - การควบคุมเซอร์โวมอเตอร์โดยใช้ ESP32 และโพเทนชิโอมิเตอร์ - ชุดการเรียนรู้ IoT สำหรับ ESP32 บทเรียน ESP32 18/55 - การตรวจจับการเอียงโดยใช้ ESP32 | ชุดเรียนรู้ IoT ESP32 ของ SunFounder ESP32 บทเรียน 19/55 - การตรวจจับสิ่งกีดขวางโดยใช้เซนเซอร์อินฟราเรด | ชุดเรียนรู้ IoT ESP32 ของ SunFounder ESP32 บทเรียน 20/55 - โมดูลติดตามเส้น | ชุดเรียนรู้ IoT ESP32 ของ SunFounder บทเรียน ESP32 21/55 - การตรวจจับมนุษย์ด้วยเซนเซอร์ตรวจจับการเคลื่อนไหว PIR | ชุดเรียนรู้ IoT ESP32 ของ SunFounder ESP32 บทเรียน 22/55 - รับรู้แสงโดยใช้ LED Arduino | ชุดเรียนรู้ IoT ESP32 ของ SunFounder ESP32 Tutorial 23/55 - Reading Voltage of potentiometer using ESP32 | SunFounder's ESP32 IoT kit ESP32 บทเรียน 24/55 - การวัดความชื้นในดินเพื่อการชลประทาน | ชุดเรียนรู้ IoT ESP32 ของ SunFounder ESP32 บทเรียน 25/55 - การวัดอุณหภูมิโดยใช้ NTC และ LCD | ชุดเรียนรู้ IoT ESP32 ของ SunFounder บทช่วยสอน ESP32 26/55 - การใช้จอยสติ๊กกับ Arduino ลงมือปฏิบัติ | ชุด IoT ESP32 ของ SunFounder บทเรียน ESP32 27/55 - การวัดระยะทางด้วยเซนเซอร์อัลตราโซนิก | ชุดเรียนรู้ IoT ESP32 ของ SunFounder บทเรียน ESP32 28/55 - เซนเซอร์วัดอุณหภูมิ DHT11 พร้อมจอ LCD | ชุดเรียนรู้ IoT ESP32 ของ SunFounder ESP32 บทช่วยสอน 29/55 - การอ่านการกดปุ่มรีโมทอินฟราเรดด้วย ESP32| ชุดเรียนรู้ IoT ESP32 ของ SunFounder ESP32 Tutorial 30/55 - Control Servo Over the web using MQTT using Adafruit IO Service | SunFounder's ESP32 IoT Leaning kit ESP32 บทเรียน 31/55 - โปรเจกต์แถบ LED พร้อมการหลบหลีกสิ่งกีดขวาง | ชุดเรียนรู้ IoT ESP32 ของ SunFounder ESP32 บทเรียน 32/55 - คำเตือนระยะการถอยรถด้วย LCD และออด | ชุดเรียนรู้ IoT ของ SunFounder บทเรียน ESP32 33/55 - ลูกเต๋าดิจิทัลโดยใช้ชุดเรียนรู้ IoT ESP32 ของ SunFounder ESP32 บทช่วยสอน 34/55 - การไล่เฉดสีด้วย RGB LED และปุ่มหมุน | ชุดเรียนรู้ IoT ESP32 ของ SunFounder บทช่วยสอน ESP32 35/55 - เครื่องตรวจวัดพืช ดิน อุณหภูมิ และแสง | ชุดเรียนรู้ IoT ESP32 ของ SunFounder ESP32 บทเรียน 36/55 - เกมทายตัวเลข | ชุดเรียนรู้ IoT ESP32 ของ SunFounder ESP32 บทเรียน 37/55 - การใช้แอปบลูทูธกับ ESP32 BLE | ชุดเรียนรู้ IoT ESP32 ของ SunFounder ESP32 บทเรียน 38/55 - การควบคุม RGB LED จากโทรศัพท์มือถือของคุณ | ชุดเรียนรู้ IoT ESP32 ของ SunFounder ESP32 บทเรียน 39/55 - การใช้ ESP32 เป็นเครื่องเล่นเพลงบลูทูธ | ชุดเรียนรู้ IoT ESP32 ของ SunFounder บทเรียน ESP32 40/55 - การอ่านและเขียนลงการ์ด Micro SD | ชุดเรียนรู้ IoT ESP32 ของ SunFounder บทเรียน ESP32 41/55 - เครื่องเล่น MP3 โดยใช้การ์ด Micro SD | ชุดเรียนรู้ IoT ESP32 ของ SunFounder บทเรียน ESP32 42/55 - ถ่ายภาพด้วยกล้องแล้วบันทึกลง Micro SD CAM-1 | ชุด ESP32 ของ SunFounder ESP32 บทเรียน 43/55 - สถานีตรวจอากาศอินเทอร์เน็ต IoT | ชุดเรียนรู้ IoT ESP32 ของ SunFounder ESP32 บทช่วยสอน 44/55 - ESP32 กล้องเว็บเซิร์ฟเวอร์สตรีมวิดีโอผ่าน Wifi CAM-2 | ชุด ESP32 ของ SunFounder ESP32 Tutorial 45/55 - Custom Streamign Server with LED control CAM-3 l SunFounder's ESP32 Learning kit บทช่วยสอน ESP32 46/55 - การตรวจวัดอุณหภูมิระยะไกลโดยใช้ HiveMQ MQTT | ชุด ESP32 ของ SunFounder บทเรียน ESP32 47/55 - WS2812 CheerLights โดยใช้ MQTT ผ่านอินเทอร์เน็ต | ชุด IoT ESP32 ของ SunFounder ESP32 Tutorial 48/55 - Remote Temperature Monitoring and LED control MQTT | SunFounder's ESP32 IoT kit ESP32 Tutorial 49/55 - Control DC Motor Over The internet using Adafruit IoT | SunFounder's ESP32 kit ESP32 บทเรียน 50/55 - ควบคุม RGB LED จากที่ใดก็ได้ในโลก | ชุด ESP32 ของ SunFounder ESP32 Tutorial 51/55 - Temperature and Humidity over WiFi with DHT | SunFounder's ESP32 IoT Learning Kit บทช่วยสอน ESP32 52/55 - การซิงค์ระดับโลกของ WS2812 CheerLights ผ่าน MQTT พร้อมจอ LCD | ชุด IoT ESP32 ของ SunFounder บทเรียน ESP32 53/55 - สร้างนาฬิกาอินเทอร์เน็ตบนจอ LCD | ชุดเรียนรู้ IoT ESP32 ของ SunFounder บทช่วยสอน ESP32 54/55 - ตั้งค่าสีแถบ LED WS2812 ผ่าน Wifi | ชุดเรียนรู้ IoT ESP32 ของ SunFounder ESP32 บทเรียน 55/55 - วิธีวัดแรงดันไฟฟ้ากระแสตรง 12V, 24V หรือ 100V | ชุดเรียนรู้ IoT ESP32 ของ SunFounder
ESP32 บทเรียน 20/55 - โมดูลติดตามเส้น | ชุดเรียนรู้ IoT ESP32 ของ SunFounder
ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีการใช้โมดูล ESP32 ร่วมกับโมดูลตรวจจับเส้นเพื่อตรวจจับเส้นสีดำบนพื้นผิวสีขาว ความสามารถนี้จำเป็นสำหรับแอปพลิเคชันต่างๆ เช่น รถหุ่นยนต์ที่ต้องเดินตามเส้นทางที่กำหนดไว้ นอกจากนี้ เราจะรวมบัซเซอร์ที่ทำงานเมื่อโมดูลตรวจจับเส้นตรวจพบเส้นสีดำ ซึ่งช่วยเพิ่มกลไกการตอบสนองของโปรเจกต์ของเรา สำหรับคำอธิบายเพิ่มเติม โปรดดูวิดีโอ (ในวิดีโอที่ 0:00)
line_track
อธิบายฮาร์ดแวร์
ส่วนประกอบหลักของโปรเจกต์นี้ประกอบด้วยโมดูล ESP32 โมดูลตรวจจับเส้น และบัซเซอร์ โมดูล ESP32 เป็นไมโครคอนโทรลเลอร์ที่ทรงพลังพร้อมความสามารถ Wi-Fi และบลูทูธในตัว ซึ่งช่วยให้สามารถใช้งาน IoT ได้หลากหลาย โมดูลตรวจจับเส้นใช้ตัวปล่อยอินฟราเรดและโฟโตรีซีสเตอร์เพื่อตรวจจับความแตกต่างของสีพื้นผิวตามความเข้มของแสงอินฟราเรดที่สะท้อนกลับ
โมดูลตรวจจับเส้นทำงานโดยปล่อยแสงอินฟราเรดที่สะท้อนจากพื้นผิวด้านล่าง พื้นผิวที่เข้มกว่า เช่น สีดำ จะดูดซับแสงได้มากกว่า ส่งผลให้ความเข้มของการสะท้อนต่ำลง ในขณะที่พื้นผิวที่สว่างกว่า เช่น สีขาว จะสะท้อนแสงได้มากกว่า ทำให้มีความเข้มสูงขึ้น ความแตกต่างนี้ถูกประมวลผลโดยออปแอมป์เพื่อกำหนดสถานะของพื้นผิว (ดำหรือขาว) และส่งสัญญาณที่สอดคล้องกันออกมา
รายละเอียดดาต้าชีต
ผู้ผลิต
SunFounder
หมายเลขชิ้นส่วน
TCRT5000
แรงดันไฟฟ้าลอจิก/IO
3.3 V ถึง 5 V
กระแสเอาต์พุต (ต่อช่อง)
20 mA
กระแสสูงสุด (ต่อช่อง)
50 mA
เวลาตอบสนอง
< 10 ms
ระยะการตรวจจับ
1 ซม. ถึง 5 ซม.
แพ็คเกจ
โมดูลพร้อมพินหัวเข็ม
หมายเหตุ/รุ่นต่างๆ
นิยมใช้ในหุ่นยนต์เดินตามเส้น
ตรวจสอบให้แน่ใจว่าแหล่งจ่ายไฟเหมาะสม (3.3 V หรือ 5 V)
รักษาเซนเซอร์ให้สะอาดเพื่อการอ่านค่าที่แม่นยำ
ปรับความไวโดยใช้โพเทนชิโอมิเตอร์บนบอร์ด
ตรวจสอบการเชื่อมต่อเพื่อหลีกเลี่ยงอินพุตลอย
ใช้ตัวต้านทานพูลอัพหากจำเป็นเพื่อการอ่านค่าที่เสถียร
ลดการรบกวนจากแหล่งอินฟราเรดในสภาพแวดล้อม
คำแนะนำการเดินสายไฟ
ESP32-20_line-tracking-wiring
ในการเดินสายไฟโมดูลตรวจจับเส้นเข้ากับ ESP32 ให้เริ่มต้นโดยเชื่อมต่อพินกราวด์ของโมดูลเข้ากับพินกราวด์บน ESP32 จากนั้น เชื่อมต่อพิน V+ ของโมดูลตรวจจับเส้นเข้ากับแหล่งจ่ายไฟที่เหมาะสม ไม่ว่าจะเป็น 3.3 V หรือ 5 V บน ESP32 พินสัญญาณ (ระบุด้วย S) ควรเชื่อมต่อกับ GPIO 14 บน ESP32 ตรวจสอบให้แน่ใจว่าการเชื่อมต่อเหล่านี้แน่นหนาก่อนดำเนินการต่อ
หากคุณใช้บัซเซอร์ ให้เชื่อมต่อขั้วลบเข้ากับกราวด์และขั้วบวกเข้ากับ GPIO 27 บน ESP32 การตั้งค่านี้ช่วยให้บัซเซอร์ทำงานเมื่อโมดูลตรวจจับเส้นตรวจพบเส้นสีดำ ตรวจสอบการเชื่อมต่อทั้งหมดอีกครั้งเพื่อให้แน่ใจว่าตรงกับพินที่ระบุในโค้ด
ESP32-20_line-tracking-schemtaic
ตัวอย่างโค้ดและคำอธิบาย
ด้านล่างเป็นส่วนสำคัญของโค้ดที่ตั้งค่าโมดูลตรวจจับเส้น ตัวแปร linePin ถูกกำหนดเพื่อแทนพินที่เชื่อมต่อกับโมดูลตรวจจับเส้น
const int linePin = 14; // หมายเลขพินของโมดูลตรวจจับเส้น
บรรทัดนี้เริ่มต้น linePin เป็นพิน 14 ซึ่งจะใช้ในการอ่านสถานะเส้น ตัวแปร lineState จะเก็บผลลัพธ์จากเซนเซอร์
ในฟังก์ชัน setup() เรากำหนดโหมดพินสำหรับ linePin เป็นอินพุต
void setup() {
Serial.begin(115200);
pinMode(linePin, INPUT);
}
สิ่งนี้ทำให้แน่ใจว่า ESP32 สามารถอ่านสถานะของโมดูลตรวจจับเส้นได้ การสื่อสารแบบอนุกรมเริ่มต้นที่อัตราบอด 115200 สำหรับการตรวจสอบเอาต์พุต
สุดท้าย ในฟังก์ชัน loop() เราอ่านสถานะของโมดูลตรวจจับเส้นอย่างต่อเนื่องและพิมพ์สีที่ตรวจพบ
void loop() {
lineState = digitalRead(linePin);
if (lineState == HIGH) {
Serial.println("Black");
delay(100);
} else {
Serial.println("White");
delay(100);
}
}
ลูปนี้ตรวจสอบว่า lineState เป็น HIGH (หมายถึงสีดำ) หรือ LOW (หมายถึงสีขาว) และพิมพ์ผลลัพธ์ไปยังซีเรียลมอนิเตอร์ โค้ดเต็มจะโหลดด้านล่างบทความเพื่อการอ้างอิงของคุณ
การสาธิต / สิ่งที่คาดหวัง
เมื่อเดินสายไฟเสร็จสมบูรณ์และอัปโหลดโค้ดแล้ว คุณควรสังเกตว่า ESP32 พิมพ์ "Black" เมื่อโมดูลตรวจจับเส้นอยู่เหนือพื้นผิวสีดำ และพิมพ์ "White" เมื่ออยู่เหนือพื้นผิวสีขาว นอกจากนี้ บัซเซอร์จะส่งเสียงเมื่อโมดูลตรวจพบเส้นสีดำ ซึ่งให้สัญญาณเตือนที่ได้ยิน ระวังการตั้งค่าโพเทนชิโอมิเตอร์ เนื่องจากการตั้งค่าที่ไวเกินไปอาจทำให้เกิดพฤติกรรมที่ไม่แน่นอน (ในวิดีโอที่ 10:00)
ไทม์สแตมป์วิดีโอ
00:00 เริ่มต้น
2:22 แนะนำโมดูลตรวจจับเส้น
5:10 หน้าคู่มือเอกสาร
9:20 อธิบายการเชื่อมต่อสายไฟ
10:49 อธิบายโค้ด Arduino
13:36 การเลือกบอร์ด ESP32 และพอร์ต COM ใน Arduino IDE
15:18 การสาธิต
18:15 โปรเจกต์: การตรวจจับเส้นพร้อมออด
19:52 โค้ด Arduino สำหรับการตรวจจับเส้นและออด
20:52 การสาธิต
ภาพ
ESP32-20_line-tracking-schemtaic
ESP32-20_line-tracking-wiring
line_track
ESP32-20_line-tracking-schemtaic
ESP32-20_line-tracking-wiring
รหัส
819-ESP32 Tutorial 20/55- Arduino code line tracking
ภาษา: C++
View code
// Set pin number
const int linePin = 14; // The number of the line track module pin
// Variable for storing the line status
int lineState = 0;
void setup() {
Serial.begin(115200);
// Initialize the line track module pin as an input
pinMode(linePin, INPUT);
}
void loop() {
// Read the state of the line track module
lineState = digitalRead(linePin);
if (lineState == HIGH) {
Serial.println("Black");
delay(100);
}
else {
Serial.println("White");
delay(100);
}
}
แหล่งข้อมูลและเอกสารอ้างอิง
ไฟล์📁
ไม่มีไฟล์ที่พร้อมใช้งาน