กระโดดไปยัง:
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 4/55 - ชนิดข้อมูล การกำหนดตัวแปร Int, bool, char, Serial Monitor - ชุด IoT ESP32 บทเรียน ESP32 5/55 - การหรี่แสง LED, ควบคุมความสว่างของ LED - ชุดเรียนรู้ IoT ESP32 บทช่วยสอน ESP32 6/55 - การใช้โปรเจกต์ RGB LED 2.3 - ชุดเรียนรู้ IoT ESP32 ของ SunFounder บทเรียน 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 23/55 - การอ่านแรงดันไฟฟ้าของโพเทนชิโอมิเตอร์โดยใช้ ESP32 | ชุด IoT ESP32 ของ SunFounder 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 บทเรียน 30/55 - ควบคุมเซอร์โวผ่านเว็บโดยใช้ MQTT ผ่านบริการ Adafruit IO | ชุดเรียนรู้ IoT ESP32 ของ SunFounder 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 45/55 - เซิร์ฟเวอร์สตรีมมิงแบบกำหนดเองพร้อมการควบคุม LED CAM-3 l ชุดเรียนรู้ ESP32 ของ SunFounder บทช่วยสอน ESP32 46/55 - การตรวจวัดอุณหภูมิระยะไกลโดยใช้ HiveMQ MQTT | ชุด ESP32 ของ SunFounder บทเรียน ESP32 47/55 - WS2812 CheerLights โดยใช้ MQTT ผ่านอินเทอร์เน็ต | ชุด IoT ESP32 ของ SunFounder บทช่วยสอน ESP32 48/55 - การตรวจวัดอุณหภูมิระยะไกลและการควบคุม LED ด้วย MQTT | ชุด IoT ESP32 ของ SunFounder บทช่วยสอน ESP32 49/55 - ควบคุมมอเตอร์ DC ผ่านอินเทอร์เน็ตโดยใช้ Adafruit IoT | ชุด ESP32 ของ SunFounder 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 บทเรียน 19/55 - การตรวจจับสิ่งกีดขวางโดยใช้เซนเซอร์อินฟราเรด | ชุดเรียนรู้ IoT ESP32 ของ SunFounder
ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีใช้เซนเซอร์ตรวจจับสิ่งกีดขวางอินฟราเรดร่วมกับโมดูล ESP32 เพื่อตรวจจับสิ่งกีดขวาง โปรเจกต์นี้จะสาธิตวิธีที่เซนเซอร์สามารถสั่งให้ออดส่งเสียงเมื่อตรวจพบสิ่งกีดขวาง การตั้งค่านี้จะแสดงสถานะการตรวจจับบนซีเรียลมอนิเตอร์ด้วย ซึ่งเป็นวิธีที่ชัดเจนและโต้ตอบได้ในการสังเกตการทำงานของเซนเซอร์
เราจะทำงานร่วมกับชุดเรียนรู้ IoT ESP32 ของ SunFounder ซึ่งประกอบด้วยไมโครคอนโทรลเลอร์ ESP32 ที่มาพร้อมความสามารถ Wi-Fi และบลูทูธ เซนเซอร์อินฟราเรดทำงานโดยการส่งแสงอินฟราเรดออกไป ซึ่งจะสะท้อนกลับจากสิ่งกีดขวางที่อยู่ใกล้เคียง เมื่อแสงสะท้อนกลับมา เซนเซอร์จะส่งสัญญาณเอาต์พุตที่เราจะอ่านในโค้ดของเรา เราจะรวมออดที่ทำงานเมื่อตรวจพบสิ่งกีดขวาง เพื่อให้มีสัญญาณเตือนที่ได้ยิน
อธิบายฮาร์ดแวร์
ส่วนประกอบหลักของโปรเจกต์นี้ประกอบด้วยโมดูล ESP32 เซนเซอร์ตรวจจับสิ่งกีดขวางอินฟราเรด และออด โมดูล ESP32 ทำหน้าที่เป็นหน่วยประมวลผลกลาง จัดการอินพุตจากเซนเซอร์และควบคุมเอาต์พุต สามารถจ่ายไฟด้วยแบตเตอรี่ลิเธียม ทำให้พกพาสะดวกและยืดหยุ่นสำหรับการใช้งานต่างๆ
เซนเซอร์ตรวจจับสิ่งกีดขวางอินฟราเรดประกอบด้วยตัวส่งและตัวรับ ตัวส่งจะปล่อยแสงอินฟราเรด ในขณะที่ตัวรับจะตรวจจับแสงที่สะท้อนจากวัตถุใกล้เคียง เมื่อมีสิ่งกีดขวาง ขาพินเอาต์พุตของเซนเซอร์จะเปลี่ยนเป็นสถานะต่ำ ส่งสัญญาณให้ ESP32 ดำเนินการ เช่น เปิดออด
รายละเอียดจากดาต้าชีต
ผู้ผลิต SunFounder
หมายเลขชิ้นส่วน เซนเซอร์ตรวจจับสิ่งกีดขวางอินฟราเรด
แรงดันไฟฟ้าที่ใช้งาน 3.3 V - 5 V
ประเภทเอาต์พุต ดิจิทัล (ต่ำเมื่อตรวจพบสิ่งกีดขวาง)
ระยะการตรวจจับ สูงสุด 20 ซม.
เวลาตอบสนอง น้อยกว่า 10 มิลลิวินาที
แพ็คเกจ โมดูล
แหล่งจ่ายไฟ: 3.3 V ถึง 5 V สำหรับการทำงาน
สัญญาณเอาต์พุตเปลี่ยนเป็นต่ำเมื่อตรวจพบสิ่งกีดขวาง
ปรับความไวได้ผ่านโพเทนชิโอมิเตอร์
ระยะการตรวจจับทั่วไปสูงสุด 20 ซม.
เวลาตอบสนองรวดเร็วต่ำกว่า 10 มิลลิวินาที
คำแนะนำการเดินสายไฟ
ESP32-19-obstacle_voide-wiring
ในการเดินสายไฟเซนเซอร์ตรวจจับสิ่งกีดขวางอินฟราเรดเข้ากับ ESP32 ให้เริ่มต้นโดยเชื่อมต่อขา VCC ของเซนเซอร์เข้ากับขา 5V บน ESP32 จากนั้นเชื่อมต่อขา GND ของเซนเซอร์เข้ากับขา GND ขาใดขาหนึ่งบน ESP32 สุดท้าย เชื่อมต่อขา OUT ของเซนเซอร์เข้ากับขา GPIO 14 บน ESP32
สำหรับออด ให้เชื่อมต่อขั้วลบเข้ากับ GND และขั้วบวกเข้ากับขา GPIO 27 ตรวจสอบให้แน่ใจว่าการเชื่อมต่อทั้งหมดแน่นหนาและเซนเซอร์ได้รับไฟอย่างถูกต้อง การเดินสายไฟควรตรงไปตรงมา เนื่องจากเซนเซอร์และออดต้องการเพียงการเชื่อมต่อไฟและสัญญาณอย่างง่าย
ตัวอย่างโค้ดและคำอธิบาย
ในโค้ด อันดับแรกเรากำหนดขาที่เชื่อมต่อกับเซนเซอร์ตรวจจับสิ่งกีดขวาง โดยใช้ตัวระบุ avoidPin ตั้งค่าเป็น 14 เรายังประกาศตัวแปร avoidState เพื่อเก็บสถานะเอาต์พุตของเซนเซอร์
const int avoidPin = 14; // หมายเลขขาของโมดูลหลีกเลี่ยง
int avoidState = 0;
ในฟังก์ชัน setup เราจะเริ่มต้นการสื่อสารซีเรียลและตั้งค่า avoidPin เป็นอินพุต ซึ่งช่วยให้ ESP32 อ่านสถานะเอาต์พุตของเซนเซอร์ได้
void setup() {
Serial.begin(115200);
pinMode(avoidPin, INPUT);
}
ภายในฟังก์ชัน loop เราจะอ่านเอาต์พุตของเซนเซอร์อย่างต่อเนื่องโดยใช้ digitalRead(avoidPin) และเก็บผลลัพธ์ไว้ใน avoidState ค่านี้จะถูกพิมพ์ไปยังซีเรียลมอนิเตอร์ ทำให้เราเห็นเมื่อตรวจพบสิ่งกีดขวาง (เอาต์พุตจะเป็น 0) หรือไม่พบ (เอาต์พุตจะเป็น 1)
void loop() {
avoidState = digitalRead(avoidPin);
Serial.println(avoidState);
}
สำหรับโค้ดเต็ม โปรดดูส่วนการโหลดด้านล่างบทความ
การสาธิต / สิ่งที่คาดหวัง
เมื่อการตั้งค่าเสร็จสมบูรณ์และอัปโหลดโค้ดแล้ว คุณควรเห็นซีเรียลมอนิเตอร์แสดง 0 หรือ 1 ขึ้นอยู่กับว่าตรวจพบสิ่งกีดขวางหรือไม่ เมื่อมีสิ่งกีดขวางอยู่ในระยะการตรวจจับ เอาต์พุตจะอ่านค่าเป็น 0 และออดจะดังขึ้น หากนำสิ่งกีดขวางออก เอาต์พุตจะอ่านค่าเป็น 1 และออดจะหยุด ฟังก์ชันนี้สาธิตในวิดีโอ (ในวิดีโอที่เวลา 12:30)
ปัญหาทั่วไปอาจรวมถึงการเดินสายไฟที่ไม่ถูกต้อง ซึ่งอาจทำให้เซนเซอร์ทำงานไม่ถูกต้อง หรืออัตราบอดไม่ตรงกันในซีเรียลมอนิเตอร์ ทำให้ข้อมูลไม่แสดงอย่างถูกต้อง ตรวจสอบประเด็นเหล่านี้หากคุณพบปัญหา
ไทม์สแตมป์วิดีโอ
00:00 เริ่มต้น
1:57 แนะนำโปรเจกต์
4:33 การเดินสายไฟเซนเซอร์หลีกเลี่ยงสิ่งกีดขวาง
5:55 โค้ด Arduino สำหรับการหลีกเลี่ยงสิ่งกีดขวาง
7:36 การเลือกบอร์ด ESP32 และพอร์ต COM ใน Arduino IDE
9:18 การสาธิตโปรเจกต์
10:42 การปรับความไวเพิ่มระยะ
12:39 การดำเนินการเมื่อตรวจพบสิ่งกีดขวาง
14:24 การใช้ออดเมื่อตรวจพบสิ่งกีดขวาง
ภาพ
ESP32-19-obstacle_voide-schematic
ESP32-19-obstacle_voide-wiring
ESP32-19-obstacle_voide-schematic
ESP32-19-obstacle_voide-wiring
รหัส
818-ESP32 Tutorial 19/55- Arduino code for obstacle avoidance module
ภาษา: C++
View code
// set pin
const int avoidPin = 14; // the number of the avoid avoid module pin
// variable for storing the avoid status
int avoidState = 0;
void setup() {
Serial.begin(115200);
// initialize the avoid pin as an input
pinMode(avoidPin, INPUT);
}
void loop() {
// read the state of the avoid value
avoidState = digitalRead(avoidPin);
Serial.println(avoidState);
}
แหล่งข้อมูลและเอกสารอ้างอิง
ไฟล์📁
ไม่มีไฟล์ที่พร้อมใช้งาน