กระโดดไปยัง:
บทเรียน ESP32 1/55 - แนะนำชุดเรียนรู้ IoT ESP32 ของ SunFounder ซอฟต์แวร์และ Arduino IDE บทช่วยสอน ESP32 2/55 - ESP32 คืออะไร, บอร์ดขยายกล้อง, แกะกล่องชุด IoT ESP32 ของ SunFounder ESP32 บทเรียนที่ 3/55 - โครงการตัวต้านทาน, LED, Breadboard: สวัสดี LED - ชุดเรียนรู้ IoT ESP32 บทเรียน 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 บทเรียน 13/55 - Arduino ส่งเสียงบี๊บด้วย Active Buzzer | ชุดเรียนรู้ IoT ESP32 ของ SunFounder
ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีควบคุมออดแบบแอคทีฟ (active buzzer) โดยใช้ไมโครคอนโทรลเลอร์ ESP32 และทรานซิสเตอร์ โปรเจกต์นี้เกี่ยวข้องกับการเปิดและปิดออด เพื่อสร้างเสียงบี๊บ ด้วยความสามารถ Wi-Fi และ Bluetooth ในตัวของ ESP32 คุณสามารถขยายโปรเจกต์นี้ไปสู่แอปพลิเคชัน IoT ที่ซับซ้อนมากขึ้นได้ในอนาคต
ส่วนประกอบที่เราจะใช้ประกอบด้วยบอร์ด ESP32 ออดแบบแอคทีฟ ทรานซิสเตอร์ (S8050) และตัวต้านทาน โดยการต่อวงจรส่วนประกอบเหล่านี้อย่างถูกต้อง เราจะสามารถควบคุมเสียงของออดผ่าน ESP32 ได้ นอกจากนี้ เราจะให้ภาพรวมโดยย่อของการเดินสายไฟและโค้ดที่จำเป็นเพื่อให้โปรเจกต์นี้ทำงานได้ สำหรับคำอธิบายเพิ่มเติม โปรดดูวิดีโอประกอบบทช่วยสอนนี้ (ในวิดีโอที่ 00:00)
ทรานซิสเตอร์ S87050
อธิบายฮาร์ดแวร์
ส่วนประกอบหลักของโปรเจกต์นี้ประกอบด้วยไมโครคอนโทรลเลอร์ ESP32 ออดแบบแอคทีฟ และทรานซิสเตอร์ S8050 ESP32 เป็นไมโครคอนโทรลเลอร์ที่ทรงพลังซึ่งมีทั้ง Wi-Fi และ Bluetooth ทำให้สามารถใช้งานโปรเจกต์ IoT ได้หลากหลาย ออดแบบแอคทีฟจะสร้างเสียงเมื่อมีการจ่ายแรงดันไฟฟ้า ในขณะที่ทรานซิสเตอร์ S8050 ทำหน้าที่เป็นสวิตช์เพื่อควบคุมออดด้วยสัญญาณแรงดันไฟฟ้าต่ำจาก ESP32
ทรานซิสเตอร์มีขา 3 ขา ได้แก่ ขาคอลเลกเตอร์ (collector) ขาเบส (base) และขาอิมิตเตอร์ (emitter) เมื่อมีการจ่ายแรงดันไฟฟ้าไปที่ขาเบสผ่านตัวต้านทาน จะทำให้กระแสไหลจากคอลเลกเตอร์ไปยังอิมิตเตอร์ จึงเป็นการจ่ายไฟให้กับออด การตั้งค่านี้ช่วยให้เราสามารถควบคุมออดได้อย่างปลอดภัยโดยไม่ทำให้ขา GPIO ของ ESP32 รับภาระเกินไป
แผนผังวงจร ESP32-13-buzzer
รายละเอียดจาก Datasheet
ผู้ผลิต
SunFounder
หมายเลขชิ้นส่วน
TMBB 12 A05
แรงดันไฟฟ้าที่ใช้งาน
3–8 V
แรงดันไฟฟ้าที่กำหนด
5 V
กระแสไฟฟ้าสูงสุด
30 mA
ความถี่การสั่น
2700 ± 300 Hz
ใช้ตัวต้านทาน 1 kΩ เพื่อจำกัดกระแสไฟฟ้าที่เข้าสู่ขาเบสของทรานซิสเตอร์
ตรวจสอบให้แน่ใจว่าเชื่อมต่อออดแบบแอคทีฟอย่างถูกต้อง โดยขั้วบวกและขั้วลบต้องตรงกัน
ตรวจสอบการเชื่อมต่อขาอีกครั้งเพื่อป้องกันการลัดวงจร
ใช้เบรดบอร์ดเพื่อให้การเชื่อมต่อและการปรับแต่งง่ายขึ้น
ออดสามารถทำงานได้ทั้งที่ 3.3V และ 5V แต่ควรจ่ายไฟตามความต้องการของวงจรของคุณ
คำแนะนำการเดินสายไฟ
ESP32-13-buzzer-wriing
ในการเดินสายไฟส่วนประกอบ เริ่มต้นโดยเสียบออดแบบแอคทีฟเข้ากับเบรดบอร์ด เชื่อมต่อขั้วบวกของออดเข้ากับขา 3.3V บน ESP32 ขั้วลบของออดควรเชื่อมต่อกับขาคอลเลกเตอร์ของทรานซิสเตอร์ S8050 จากนั้นเสียบทรานซิสเตอร์ S8050 เข้ากับเบรดบอร์ด โดยให้ด้านแบนหันเข้าหาคุณ ขาซ้าย (คอลเลกเตอร์) เชื่อมต่อกับขั้วลบของออด ขากลาง (เบส) เชื่อมต่อกับตัวต้านทาน 1 kΩ และขาขวา (อิมิตเตอร์) เชื่อมต่อกับกราวด์
จากนั้น นำปลายอีกด้านของตัวต้านทาน 1 kΩ ไปเชื่อมต่อกับขา GPIO 14 บน ESP32 สุดท้าย เชื่อมต่อขาอิมิตเตอร์ของทรานซิสเตอร์เข้ากับรางกราวด์บนเบรดบอร์ด ตรวจสอบให้แน่ใจว่าการเชื่อมต่อทั้งหมดแน่นหนา และตรวจสอบการวางตำแหน่งของขาอีกครั้งก่อนจ่ายไฟให้วงจร
ตัวอย่างโค้ดและคำอธิบาย
นี่คือภาพรวมโดยย่อของโค้ดที่ควบคุมออด ขั้นแรก เรากำหนดขาที่เชื่อมต่อกับออด:
const int buzzerPin = 14; // ขาของออด
บรรทัดนี้ตั้งค่าตัวแปร buzzerPin เพื่ออ้างอิงถึงขา 14 บน ESP32 ซึ่งใช้ควบคุมออด
ถัดไป เราตั้งค่าขาของออดเป็นเอาต์พุตในฟังก์ชัน setup():
void setup()
{
pinMode(buzzerPin, OUTPUT); // ตั้งเป็นเอาต์พุต
}
วิธีนี้ช่วยให้ ESP32 รู้ว่าต้องใช้ขา 14 ในการส่งสัญญาณเพื่อเปิดและปิดออด
ในฟังก์ชัน loop() เราสร้างลูป for เพื่อกระตุ้นการทำงานของออดหลายครั้ง:
for (int i = 0; i < 50; i++) // ลูป 50 ครั้งและเล่นเสียงสั้น ๆ ในแต่ละครั้ง
{
digitalWrite(buzzerPin, HIGH); // ตั้งเป็น HIGH เพื่อให้ออดส่งเสียง
delay(3); // หน่วงเวลา 3 มิลลิวินาที
digitalWrite(buzzerPin, LOW); // LOW เพื่อปิดออด
delay(3); //
}
ลูปนี้จะทำให้ออดบี๊บ 50 ครั้ง โดยแต่ละครั้งใช้เวลา 3 มิลลิวินาที หลังจากลูปเสร็จสิ้น จะมีการหน่วงเวลา 1 วินาทีก่อนที่จะทำซ้ำ
การสาธิต / สิ่งที่คาดหวัง
เมื่อเดินสายไฟและโค้ดถูกต้องแล้ว การจ่ายไฟให้ ESP32 ควรกระตุ้นการทำงานของออด ทำให้เกิดเสียงบี๊บเป็นชุด หากออดไม่ส่งเสียง ให้ตรวจสอบการเชื่อมต่อ โดยเฉพาะทิศทางการวางของทรานซิสเตอร์และตัวต้านทาน ตรวจสอบให้แน่ใจว่าใช้ขา GPIO ที่ถูกต้องในโค้ด และแหล่งจ่ายไฟเพียงพอ (ในวิดีโอที่ 01:30)
ไทม์สแตมป์ในวิดีโอ
00:00 เริ่มต้น
1:45 แนะนำโปรแกรมออด
5:57 การเดินสายไฟออดและทรานซิสเตอร์ S8050
9:57 โค้ด Arduino สำหรับ ESP32 Buzzer
12:52 การเลือกบอร์ด ESP32 และพอร์ต COM
14:05 3.1 การสาธิตโปรเจกต์ออด
ภาพ
ESP32-13-buzzer-wriing
ESP32-13-buzzer-schematic
SunFounder-ESP32-Lesson-13-Beep.mp4_snapshot_07.43.463
S87050_transistor
ESP32-13-buzzer-schematic
SunFounder-ESP32-Lesson-13-Beep.mp4_snapshot_07.43.463
รหัส
812-ESP32 Tutorial 13/55- Arduino code for controlling buzzer
ภาษา: C++
ดูโค้ด
const int buzzerPin = 14; // the buzzer pin
void setup()
{
pinMode(buzzerPin, OUTPUT); // Set as output
}
void loop()
{
for (int i = 0; i < 50; i++) // Loop 50 times and play a short tone each time
{
digitalWrite(buzzerPin, HIGH); // Set to HIGH to make the buzzer sound
delay(3); // Wait for 3 milliseconds
digitalWrite(buzzerPin, LOW); // LOW to turn off the buzzer
delay(3); //
}
delay(1000); // Wait for 1s before starting the next loop
}
แหล่งข้อมูลและเอกสารอ้างอิง