Bincika Lambar

Koyarwar ESP32 14/55 - Kunna Waƙar Kiɗa Na Musamman Ta Amfani Da SunFounder ESP32 IoT Learning Kit

Koyarwar ESP32 14/55 - Kunna Waƙar Kiɗa Na Musamman Ta Amfani Da SunFounder ESP32 IoT Learning Kit

A cikin wannan koyawa, za mu koyi yadda ake amfani da SunFounder ESP32 microcontroller don kunna waƙoƙin kiɗa ta amfani da passive buzzer da transistor. Manufar aikin ita ce nuna yadda ake samar da sauti tare da takamaiman mitoci ta hanyar sarrafa buzzer ta hanyar GPIO pins na ESP32.

Za mu haɗa passive buzzer zuwa ESP32, wanda zai ba mu damar samar da waƙoƙin kiɗa daban-daban bisa ga mitar da muka bayar. Wannan saitin ya haɗa da amfani da transistor don kunna da kashe buzzer cikin sauri, samar da raƙuman sauti waɗanda za mu iya ji. Don ƙarin bayani game da aikin, tabbatar da duba bidiyon (a cikin bidiyo a 00:30).

ESP32-13-buzzer-schematic

Bayanin Kayan Aiki

Babban kayan aikin da aka yi amfani da su a cikin wannan aikin sun haɗa da SunFounder ESP32 microcontroller, passive buzzer, da NPN transistor (2N8050). ESP32 wani kwamiti ne mai ƙarfi wanda ke da Wi-Fi da Bluetooth a cikinsa, yana mai da shi mai amfani ga aikace-aikacen IoT daban-daban. A wannan yanayin, zai samar da sigina don sarrafa buzzer.

Passive buzzer yana aiki ta hanyar samar da sauti lokacin da aka yi amfani da alternating voltage a kai. Ba kamar active buzzers ba, waɗanda ke da oscillator a ciki, passive buzzers suna buƙatar sigina na waje don samar da sauti. Transistor yana aiki azaman maɓalli, yana ba da damar ESP32 don sarrafa buzzer ba tare da kunna shi kai tsaye ba, yana tabbatar da cewa ba a wuce ƙimar halin yanzu na microcontroller ba.

S87050_transistor

Bayanan Datasheet

Mai ƙira SunFounder
Lambar sashi Passive Buzzer
Ƙarfin Aiki 3.3 V - 5 V
Mitar Resonant 2 kHz - 4 kHz
Amfani da Wutar Lantarki ≤ 30 mA
Matakin Matsin Sauti ≥ 70 dB
Kunshin Through-hole
Bayanan kula / bambance-bambance Babu

 

  • Tabbatar da daidaitaccen polarity lokacin haɗa buzzer.
  • Yi amfani da resistor mai iyakance halin yanzu don tushen transistor.
  • Haɗa buzzer zuwa wutar lantarki mai dacewa da ƙimar ƙarfinsa.
  • Yi hattara don kada ku wuce ƙimar halin yanzu mafi girma na transistor.
  • Kiyaye wayoyi cikin tsari don guje wa gajerun kewayawa.
  • Gwada kewayawa kafin loda lambar don guje wa lalacewar kayan aiki.
  • Yi amfani da breadboard don sauƙin haɗin kayan aiki.
  • Tabbatar da cire debounce daga shigarwa idan kuna amfani da maɓallai.
  • Yi la'akari da ƙara heat sink ga transistor idan an yi amfani da shi a babban halin yanzu.

Umarnin Haɗin Waya

ESP32-13-buzzer-wriing

Don haɗa kayan aikin, fara da haɗa madaidaicin tasha na passive buzzer zuwa 3.3V pin akan ESP32. Madaidaicin tasha mara kyau na buzzer ya kamata ya haɗa zuwa collector na NPN transistor. Emitter pin na transistor ya kamata a haɗa shi zuwa ƙasa (GND) na ESP32.

Na gaba, haɗa resistor na 1 kΩ daga tushen transistor zuwa GPIO pin 14 akan ESP32. Wannan resistor yana iyakance halin yanzu da ke shiga tushen transistor. A ƙarshe, tabbatar da cewa duk haɗin ƙasa an haɗa su tare don samar da maƙasudi gama gari don kewayawa.

Misalan Lamba & Bayani

const int buzzerPin = 14; // the buzzer pin

void setup()
{
  pinMode(buzzerPin, OUTPUT); // Set as output
}

A cikin lambar, muna ayyana maɓallin buzzerPin wanda aka saita zuwa 14, yana nuna GPIO pin da aka haɗa zuwa tushen transistor. A cikin aikin setup(), muna saita wannan pin azaman OUTPUT, yana ba da damar ESP32 don sarrafa buzzer.

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
}

Aikin loop() ya ƙunshi for-loop wanda ke gudana sau 50. Kowane juzu'i yana kunna da kashe buzzer da sauri, samar da sauti. Jinkirin na 3 milliseconds yana sarrafa tsawon lokacin da aka kunna da kashe buzzer, yayin da jinkirin na 1 daƙiƙa a ƙarshen loop yana ba da hutu kafin maimaitawa.

Nuni / Abin da za ku yi tsammani

Da zarar an gama haɗin waya kuma an loda lambar, ya kamata ku ji jerin gajerun sautuka da buzzer ke samarwa. Idan buzzer baya yin sauti, duba haɗin ku, musamman yanayin transistor da ƙimar resistor. Tabbatar da cewa an yi amfani da daidaitaccen pin a cikin lambar kuma ESP32 yana da wutar lantarki mai kyau.

Yayin nuni, idan kun fuskanci matsala, yana iya zama saboda kuskuren haɗin waya ko amfani da pin mara kyau don buzzer. Duba haɗin waya bisa ga umarnin kuma tabbatar da cewa wutar lantarki ta isa (a cikin bidiyo a 08:15).

Lokutan Bidiyo

  • 00:00 Fara
  • 1:52 Gabatarwa ga aikin
  • 4:11 Bayanin Haɗin Waya
  • 8:11 Zaɓin kwamitin ESP32 da tashar COM akan Arduino IDE
  • 9:53 Bayanin lambar Arduino
  • 13:17 Nuni na aikin
  • 13:58 Lambar aiki na 2 da nuni

Hotuna

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
813-ESP32 Tutorial 14/55- Arduino code for custom music tone
Harshe: C++
const int buzzerPin = 14; //buzzer pin
const int resolution = 8; 

// Frequencies of the 7 musical notes (in Hz)
int frequencies[] = {262, 294, 330, 349, 392, 440, 494};


// Function to play a frequency on the buzzer for a given duration
void playFrequency(int frequency, int duration) {
  ledcWriteTone(buzzerPin, frequency); // Start the tone
  delay(duration); // Wait for the specified duration
  ledcWriteTone(buzzerPin, 0); // Stop the buzzer
}

void setup() {
  ledcAttach(buzzerPin, 2000, 8); // Set up the PWM pin
}

void loop() {
  for (int i = 0; i < 7; i++) {
    playFrequency(frequencies[i], 300); // Play each note for 300ms
    delay(50); // Add a brief pause between the notes
  }
  delay(1000); // Wait for 1 second before replaying the sequence
}

Albarkatun da kuma shafukan da za a duba

Fayiloli📁

Takardar bayanai (pdf)