Search Code

ESP32 ټیوټوریل 13/55 - د فعال بوزر سره د اردوینو بیپ | د سن فاونډر ESP32 IoT زده کړې کټ

ESP32 ټیوټوریل 13/55 - د فعال بوزر سره د اردوینو بیپ | د سن فاونډر ESP32 IoT زده کړې کټ

په دې ټیوټوریل کې به موږ زده کړو چې څنګه د ESP32 مایکروکنټرولر او ټرانزیسټر په کارولو سره فعال بوزر کنټرول کړو. دا پروژه د بوزر چلول او بندول شامل دي، چې د بیپ غږ رامینځته کوي. د ESP32 د جوړ شوي وای-فای او بلوتوت وړتیاو سره، تاسو کولی شئ دا پروژه په راتلونکي کې په ډیرو پیچلو IoT غوښتنلیکونو کې پراخه کړئ.

هغه اجزا چې موږ به یې وکاروو د ESP32 بورډ، یو فعال بوزر، یو ټرانزیسټر (S8050)، او یو رزیسټر شامل دي. د دې اجزاو په سمه توګه تار کولو سره، موږ کولی شو د ESP32 له لارې د بوزر غږ کنټرول کړو. سربیره پردې، موږ به د تار کولو او کوډ لنډه کتنه وړاندې کړو چې د دې پروژې د پیل کولو لپاره اړینه ده. د نورو روښانتیا لپاره، ډاډ ترلاسه کړئ چې د دې ټیوټوریل سره مل ویډیو وګورئ (په ویډیو کې په 00:00).

S87050_transistor

هارډویر تشریح شوی

د دې پروژې اصلي اجزا د ESP32 مایکروکنټرولر، فعال بوزر، او S8050 ټرانزیسټر شامل دي. ESP32 یو پیاوړی مایکروکنټرولر دی چې دواړه وای-فای او بلوتوت لري، چې د IoT پروژو پراخه لړۍ ته اجازه ورکوي. فعال بوزر غږ تولیدوي کله چې ولتاژ پلي شي، پداسې حال کې چې S8050 ټرانزیسټر د سویچ په توګه کار کوي ترڅو د ESP32 څخه د ټیټ ولتاژ سیګنال سره بوزر کنټرول کړي.

ټرانزیسټر درې پنونه لري: کلکټر، بیس، او ایمیټر. کله چې د رزیسټر له لارې بیس پن ته ولتاژ پلي شي، دا اجازه ورکوي چې جریان له کلکټر څخه ایمیټر ته وبهیږي، په دې توګه بوزر ته بریښنا ورکوي. دا ترتیب ډاډ ورکوي چې موږ کولی شو بوزر په خوندي ډول کنټرول کړو پرته له دې چې د ESP32 GPIO پنونه ډیر بار کړو.

ESP32-13-buzzer-schematic

ډیټاشیټ تفصیلات

جوړونکی SunFounder
د پرزې شمېره TMBB 12 A05
د عملیاتي ولتاژ 3–8 V
درجه بندي شوی ولتاژ 5 V
اعظمي جریان 30 mA
د نوسان فریکونسي 2700 ± 300 Hz

 

  • د ټرانزیسټر بیس ته د جریان محدودولو لپاره 1 kΩ رزیسټر وکاروئ.
  • ډاډ ترلاسه کړئ چې فعال بوزر په سمه توګه د مثبت او منفي ترمینلونو سره وصل دی.
  • د شارټ سرکټ مخنیوي لپاره د پن اړیکې دوه ځله وګورئ.
  • د اسانه اړیکو او سمونونو لپاره بریډبورډ وکاروئ.
  • بوزر کولی شي په دواړو 3.3V او 5V کار وکړي، مګر دا د خپل سرکټ اړتیاو سره سم بریښنا کړئ.

د تار کولو لارښوونې

ESP32-13-buzzer-wriing

د اجزاو د تار کولو لپاره، لومړی فعال بوزر په بریډبورډ کې دننه کړئ. د بوزر مثبت ترمینل د ESP32 په 3.3V پن سره وصل کړئ. د بوزر منفي ترمینل باید د S8050 ټرانزیسټر د کلکټر پن سره وصل شي. بیا، S8050 ټرانزیسټر په بریډبورډ کې دننه کړئ، ډاډ ترلاسه کړئ چې فلیټ اړخ ستاسو په لور دی. کیڼ پن (کلکټر) د بوزر منفي ترمینل سره وصل کیږي، منځنی پن (بیس) د 1 kΩ رزیسټر سره وصل کیږي، او ښی پن (ایمیټر) ځمکې (ګراونډ) سره وصل کیږي.

اوس، د 1 kΩ رزیسټر بل پای واخلئ او دا د ESP32 په GPIO پن 14 سره وصل کړئ. په پای کې، د ټرانزیسټر ایمیټر پن د بریډبورډ په ګراونډ ریل سره وصل کړئ. ډاډ ترلاسه کړئ چې ټولې اړیکې خوندي دي او د سرکټ بریښنا کولو دمخه د پنونو سمون دوه ځله وګورئ.

د کوډ مثالونه او لارښود

دلته د کوډ لنډه کتنه ده چې بوزر کنټرولوي. لومړی، موږ د بوزر سره وصل پن تعریف کوو:

const int buzzerPin = 14; // د بوزر پن

دا کرښه د buzzerPin متغیر تنظیموي ترڅو په ESP32 کې پن 14 ته اشاره وکړي، کوم چې د بوزر کنټرول لپاره کارول کیږي.

بیا، موږ د 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 د ESP32 بوزر لپاره د Arduino کوډ
  • 12:52 د ESP32 بورډ او COM پورټ غوره کول
  • 14:05 3.1 د بوزر پروژې ډیمونسټریشن

Images

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
Language: 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
}

Resources & references

Files📁

Datasheet (pdf)