Tìm kiếm mã

Hướng dẫn ESP32 13/55 - Arduino phát tiếng bíp với còi chủ động | Bộ học IoT ESP32 của SunFounder

Hướng dẫn ESP32 13/55 - Arduino phát tiếng bíp với còi chủ động | Bộ học IoT ESP32 của SunFounder

Trong hướng dẫn này, chúng ta sẽ học cách điều khiển còi báo động chủ động bằng vi điều khiển ESP32 và một transistor. Dự án bao gồm việc bật và tắt còi, tạo ra âm thanh bíp. Với khả năng Wi-Fi và Bluetooth tích hợp của ESP32, bạn có thể mở rộng dự án này thành các ứng dụng IoT phức tạp hơn trong tương lai.

Các linh kiện chúng ta sẽ sử dụng bao gồm bo mạch ESP32, còi báo động chủ động, một transistor (S8050) và một điện trở. Bằng cách nối dây các linh kiện này một cách chính xác, chúng ta có thể điều khiển âm thanh của còi thông qua ESP32. Ngoài ra, chúng tôi sẽ cung cấp tổng quan ngắn gọn về cách nối dây và mã cần thiết để khởi động dự án này. Để làm rõ hơn, hãy xem video đi kèm với hướng dẫn này (trong video ở phút 00:00).

Transistor S87050

Giải thích về phần cứng

Các thành phần chính của dự án này bao gồm vi điều khiển ESP32, còi báo động chủ động và transistor S8050. ESP32 là một vi điều khiển mạnh mẽ có cả Wi-Fi và Bluetooth, cho phép thực hiện nhiều dự án IoT. Còi báo động chủ động tạo ra âm thanh khi có điện áp được đặt vào, trong khi transistor S8050 hoạt động như một công tắc để điều khiển còi bằng tín hiệu điện áp thấp từ ESP32.

Transistor có ba chân: cực thu (collector), cực gốc (base) và cực phát (emitter). Khi điện áp được đặt vào chân base thông qua một điện trở, nó cho phép dòng điện chạy từ cực thu đến cực phát, do đó cấp nguồn cho còi. Thiết lập này đảm bảo chúng ta có thể điều khiển còi một cách an toàn mà không làm quá tải các chân GPIO của ESP32.

Sơ đồ mạch ESP32-13-còi

Chi tiết từ bảng dữ liệu

Nhà sản xuất SunFounder
Số hiệu linh kiện TMBB 12 A05
Điện áp hoạt động 3–8 V
Điện áp định mức 5 V
Dòng điện tối đa 30 mA
Tần số dao động 2700 ± 300 Hz

 

  • Sử dụng điện trở 1 kΩ để giới hạn dòng điện đến cực gốc của transistor.
  • Đảm bảo còi báo động chủ động được kết nối đúng với các cực dương và âm.
  • Kiểm tra kỹ các kết nối chân để tránh đoản mạch.
  • Sử dụng bảng mạch breadboard để kết nối và điều chỉnh dễ dàng hơn.
  • Còi có thể hoạt động ở cả 3.3V và 5V, nhưng hãy cấp nguồn theo nhu cầu của mạch của bạn.

Hướng dẫn nối dây

ESP32-13-buzzer-wriing

Để nối dây các linh kiện, hãy bắt đầu bằng cách cắm còi báo động chủ động vào breadboard. Kết nối cực dương của còi với chân 3.3V trên ESP32. Cực âm của còi nên được kết nối với chân cực thu của transistor S8050. Tiếp theo, cắm transistor S8050 vào breadboard, đảm bảo mặt phẳng hướng về phía bạn. Chân bên trái (cực thu) kết nối với cực âm của còi, chân giữa (cực gốc) kết nối với điện trở 1 kΩ, và chân bên phải (cực phát) kết nối với đất.

Bây giờ, lấy đầu còn lại của điện trở 1 kΩ và kết nối nó với chân GPIO 14 trên ESP32. Cuối cùng, kết nối chân cực phát của transistor với thanh nối đất trên breadboard. Đảm bảo tất cả các kết nối được chắc chắn và kiểm tra lại sự thẳng hàng của các chân trước khi cấp nguồn cho mạch.

Ví dụ mã & Hướng dẫn chi tiết

Dưới đây là tổng quan ngắn gọn về mã điều khiển còi. Đầu tiên, chúng ta định nghĩa chân kết nối với còi:

const int buzzerPin = 14; // chân còi

Dòng này thiết lập biến buzzerPin để tham chiếu đến chân 14 trên ESP32, được sử dụng để điều khiển còi.

Tiếp theo, chúng ta đặt chân còi làm đầu ra trong hàm setup():

void setup()
{
  pinMode(buzzerPin, OUTPUT); // Đặt làm đầu ra
}

Điều này đảm bảo ESP32 biết sử dụng chân 14 để gửi tín hiệu bật và tắt còi.

Trong hàm loop(), chúng ta tạo một vòng lặp for để kích hoạt còi nhiều lần:

for (int i = 0; i < 50; i++) // Lặp 50 lần và phát một âm ngắn mỗi lần
{
  digitalWrite(buzzerPin, HIGH); // Đặt HIGH để làm còi kêu
  delay(3); // Chờ 3 mili giây
  digitalWrite(buzzerPin, LOW); // LOW để tắt còi
  delay(3); // 
}

Vòng lặp này sẽ làm còi bíp 50 lần, mỗi lần bíp kéo dài 3 mili giây. Sau khi hoàn thành vòng lặp, có độ trễ 1 giây trước khi lặp lại.

Trình diễn / Điều gì sẽ xảy ra

Khi nối dây và mã được thiết lập chính xác, việc cấp nguồn cho ESP32 sẽ kích hoạt còi, tạo ra một chuỗi các tiếng bíp. Nếu còi không kêu, hãy kiểm tra các kết nối, đặc biệt là hướng của transistor và điện trở. Đảm bảo rằng chân GPIO chính xác đang được sử dụng trong mã và nguồn điện đủ (trong video ở phút 01:30).

Mốc thời gian video

  • 00:00 Bắt đầu
  • 1:45 Giới thiệu chương trình còi
  • 5:57 Nối dây còi và transistor S8050
  • 9:57 Mã Arduino cho còi ESP32
  • 12:52 Chọn bo mạch ESP32 và cổng COM
  • 14:05 3.1 Trình diễn dự án còi

Hình ảnh

ESP32-13-buzzer-wriing
ESP32-13-buzzer-wriing
ESP32-13-buzzer-schematic
ESP32-13-buzzer-schematic
SunFounder-ESP32-Lesson-13-Beep.mp4_snapshot_07.43.463
SunFounder-ESP32-Lesson-13-Beep.mp4_snapshot_07.43.463
S87050_transistor
S87050_transistor
812-ESP32 Tutorial 13/55- Arduino code for controlling buzzer
Ngôn ngữ: 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
}

Tài nguyên & tài liệu tham khảo

Tập tin📁

Bảng dữ liệu (pdf)