Search Code

ESP32 ትምህርት 13/55 - አርዱኢኖ ቢፕ ከአክቲቭ ቡዘር ጋር | SunFounder የESP32 IoT መማሪያ ኪት

ESP32 ትምህርት 13/55 - አርዱኢኖ ቢፕ ከአክቲቭ ቡዘር ጋር | SunFounder የESP32 IoT መማሪያ ኪት

በዚህ ትምህርት ውስጥ፣ ንቁ ቡዘርን (active buzzer) የESP32 ማይክሮ መቆጣጠሪያ እና ትራንዚስተር በመጠቀም እንዴት መቆጣጠር እንደምንችል እንማራለን። ፕሮጀክቱ ቡዘርን ማብራት እና ማጥፋትን ያካትታል፣ ይህም የመጮህ ድምጽ ይፈጥራል። በESP32 አብሮ የተሰራው የWi-Fi እና የብሉቱዝ አቅም ስላለው፣ ይህን ፕሮጀክት ወደ ውስብስብ የኢንተርኔት ኦፍ የቲንግስ (IoT) መተግበሪያዎች ወደፊት ማስፋት ይችላሉ።

የምንጠቀምባቸው ክፍሎች የESP32 ቦርድ፣ ንቁ ቡዘር፣ ትራንዚስተር (S8050) እና ሬዚስተር ያካትታሉ። እነዚህን ክፍሎች በትክክል በማገናኘት፣ የቡዘርን ድምጽ በESP32 መቆጣጠር እንችላለን። በተጨማሪም፣ ይህን ፕሮጀክት ለመጀመር የሚያስፈልጉትን የሽቦ አያያዥ እና ኮድ አጭር መግለጫ እንሰጣለን። ለበለጠ ማብራሪያ፣ ከዚህ ትምህርት ጋር የተያያዘውን ቪዲዮ መመልከትዎን ያረጋግጡ (በቪዲዮው 00:00 ላይ)።

S87050_transistor

የሃርድዌር ማብራሪያ

የዚህ ፕሮጀክት ዋና ክፍሎች የESP32 ማይክሮ መቆጣጠሪያ፣ ንቁ ቡዘር እና የS8050 ትራንዚስተር ያካትታሉ። ESP32 ሁለቱንም Wi-Fi እና ብሉቱዝ የሚያካትት ኃይለኛ ማይክሮ መቆጣጠሪያ ነው፣ ይህም ሰፊ የIoT ፕሮጀክቶችን ለመስራት ያስችላል። ንቁ ቡዘር ቮልቴጅ ሲተገበር ድምጽ ያመነጫል፣ የS8050 ትራንዚስተር ደግሞ ከESP32 ዝቅተኛ የቮልቴጅ ምልክት ጋር ቡዘርን ለመቆጣጠር እንደ መቀየሪያ ይሰራል።

ትራንዚስተሩ ሶስት ፒኖች አሉት፡ ኮሌክተር (collector)፣ ቤዝ (base) እና ኢሚተር (emitter)። በቤዝ ፒን ላይ በሬዚስተር በኩል ቮልቴጅ ሲተገበር፣ ከኮሌክተር ወደ ኢሚተር ጅረት እንዲፈስ ያደርጋል፣ በዚህም ቡዘሩን ያበራል። ይህ ዝግጅት የESP32ን GPIO ፒኖች ሳይጫኑ ቡዘሩን በደህና መቆጣጠር እንድንችል ያረጋግጣል።

ESP32-13-buzzer-schematic

የዳታሼት ዝርዝሮች

አምራች SunFounder
የክፍል ቁጥር TMBB 12 A05
የአሰራር ቮልቴጅ 3–8 ቪ
የተመዘነ ቮልቴጅ 5 ቪ
ከፍተኛ ጅረት 30 ሚኤ
የመወዛወዝ ድግግሞሽ 2700 ± 300 ኸርዝ

 

  • ወደ ትራንዚስተሩ ቤዝ የሚፈሰውን ጅረት ለመገደብ የ1 kΩ ሬዚስተር ይጠቀሙ።
  • ንቁ ቡዘሩ በአዎንታዊ እና አሉታዊ ተርሚናሎች በትክክል መገናኘቱን ያረጋግጡ።
  • አጭር ዑደት (short circuit) ለመከላከል የፒን ግንኙነቶችን በድጋሚ ያረጋግጡ።
  • ለቀላል ግንኙነት እና ማስተካከያ ብሬድቦርድ ይጠቀሙ።
  • ቡዘሩ በሁለቱም 3.3V እና 5V መስራት ይችላል፣ ነገር ግን በወረዳዎ ፍላጎት መሰረት ያብሩት።

የሽቦ አያያዥ መመሪያዎች

ESP32-13-buzzer-wriing

ክፍሎቹን ለማገናኘት፣ ንቁ ቡዘሩን በብሬድቦርዱ ላይ በማስገባት ይጀምሩ። የቡዘሩን አዎንታዊ ተርሚናል ከESP32 ላይ ካለው 3.3V ፒን ጋር ያገናኙ። የቡዘሩ አሉታዊ ተርሚናል ከS8050 ትራንዚስተር ኮሌክተር ፒን ጋር መገናኘት አለበት። በመቀጠል፣ የS8050 ትራንዚስተሩን በብሬድቦርዱ ላይ ያስገቡ፣ ጠፍጣፋው ጎን ወደ እርስዎ መታየቱን ያረጋግጡ። የግራ ፒን (ኮሌክተር) ከቡዘሩ አሉታዊ ተርሚናል ጋር ይገናኛል፣ የመሃል ፒን (ቤዝ) ከ1 kΩ ሬዚስተር ጋር ይገናኛል፣ እና የቀኝ ፒን (ኢሚተር) ከመሬት (ground) ጋር ይገናኛል።

አሁን፣ የ1 kΩ ሬዚስተሩን ሌላኛውን ጫፍ ይውሰዱ እና በESP32 ላይ ካለው GPIO ፒን 14 ጋር ያገናኙት። በመጨረሻም፣ የትራንዚስተሩን ኢሚተር ፒን በብሬድቦርዱ ላይ ካለው የመሬት መስመር ጋር ያገናኙ። ሁሉም ግንኙነቶች ደህንነታቸው የተጠበቀ መሆኑን ያረጋግጡ እና ወረዳውን ከማብራትዎ በፊት የፒኖቹን አሰላለፍ በድጋሚ ያረጋግጡ።

የኮድ ምሳሌዎች እና ማብራሪያ

ቡዘሩን የሚቆጣጠረው ኮድ አጭር መግለጫ እነሆ። በመጀመሪያ፣ ከቡዘሩ ጋር የተገናኘውን ፒን እንገልፃለን፦

const int buzzerPin = 14; // የቡዘር ፒን

ይህ መስመር ቡዘሩን ለመቆጣጠር የሚያገለግለውን በESP32 ላይ ያለውን ፒን 14 ለማመልከት buzzerPin የሚባል ተለዋዋጭ ያዘጋጃል።

በመቀጠል፣ የቡዘር ፒኑን በsetup() ተግባር ውስጥ እንደ ውፅዓት (output) እናዘጋጃለን፦

void setup()
{
  pinMode(buzzerPin, OUTPUT); // እንደ ውፅዓት አዘጋጅ
}

ይህ ቡዘሩን ለማብራት እና ለማጥፋት ምልክቶችን ለመላክ ፒን 14ን ለመጠቀም ESP32 እንዲያውቅ ያደርጋል።

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 የቡዘር ፕሮጀክት ማሳያ

ምስሎች

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
ቋንቋ: 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
}

ምንጮች እና ምንጮች

ፋይሎች📁

የዳታ ማዕከል (pdf)