Бұл оқулықта біз ESP32 микроконтроллері мен транзисторды қолданып, белсенді дыбыстық сигналды (buzzer) қалай басқаруға болатынын үйренеміз. Жоба дыбыстық сигналды қосу және өшіру арқылы дыбыс шығаруды қамтиды. ESP32 кірістірілген Wi-Fi және Bluetooth мүмкіндіктерінің арқасында бұл жобаны болашақта күрделі IoT қосымшаларына кеңейтуге болады.
Біз қолданатын компоненттерге ESP32 платасы, белсенді дыбыстық сигнал, транзистор (S8050) және резистор кіреді. Бұл компоненттерді дұрыс қосу арқылы біз дыбыстық сигналды ESP32 арқылы басқара аламыз. Сонымен қатар, біз осы жобаны іске қосу үшін қажетті сымдарды қосу және код туралы қысқаша шолу жасаймыз. Қосымша түсініктеме алу үшін осы оқулыққа қоса берілген бейнені міндетті түрде қараңыз (бейнеде 00:00).
S87050_transistor
Аппараттық құрал түсіндірмесі
Бұл жобаның негізгі компоненттеріне ESP32 микроконтроллері, белсенді дыбыстық сигнал және S8050 транзисторы кіреді. ESP32 - бұл Wi-Fi және Bluetooth мүмкіндіктері бар қуатты микроконтроллер, ол IoT жобаларының кең ауқымын қолдауға мүмкіндік береді. Белсенді дыбыстық сигнал кернеу берілгенде дыбыс шығарады, ал S8050 транзисторы ESP32-ден төмен кернеу сигналымен дыбыстық сигналды басқару үшін қосқыш ретінде жұмыс істейді.
Транзистордың үш түйреуіші бар: коллектор, база және эмиттер. База түйреуішіне резистор арқылы кернеу берілгенде, ток коллектордан эмиттерге ағады, осылайша дыбыстық сигналды қуаттандырады. Бұл қондырғы ESP32 GPIO түйреуіштерін шамадан тыс жүктемей, дыбыстық сигналды қауіпсіз басқаруға мүмкіндік береді.
ESP32-13-buzzer-schematic
Деректер парағының мәліметтері
Өндіруші
SunFounder
Бөлшек нөмірі
TMBB 12 A05
Жұмыс кернеуі
3–8 В
Номиналды кернеу
5 В
Максималды ток
30 мА
Тербеліс жиілігі
2700 ± 300 Гц
Транзистордың базасына токты шектеу үшін 1 кΩ резисторды қолданыңыз.
Белсенді дыбыстық сигналдың оң және теріс терминалдарымен дұрыс қосылғанына көз жеткізіңіз.
Қысқа тұйықталуды болдырмау үшін түйреуіш қосылымдарын қайта тексеріңіз.
Оңай қосу және реттеу үшін макеттік тақтаны қолданыңыз.
Дыбыстық сигнал 3.3В және 5В кернеуінде жұмыс істей алады, бірақ оны тізбегіңіздің қажеттілігіне қарай қуаттандырыңыз.
Сымдарды қосу нұсқаулары
ESP32-13-buzzer-wriing
Компоненттерді қосу үшін алдымен белсенді дыбыстық сигналды макеттік тақтаға орнатыңыз. Дыбыстық сигналдың оң терминалын ESP32-дегі 3.3V түйреуішіне қосыңыз. Дыбыстық сигналдың теріс терминалы S8050 транзисторының коллектор түйреуішіне қосылуы керек. Әрі қарай, S8050 транзисторын макеттік тақтаға орнатыңыз, жазық жағы сізге қарап тұрғанына көз жеткізіңіз. Сол жақ түйреуіш (коллектор) дыбыстық сигналдың теріс терминалына, ортаңғы түйреуіш (база) 1 кΩ резисторға, ал оң жақ түйреуіш (эмиттер) жерге қосылады.
Енді 1 кΩ резистордың екінші ұшын 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 Дыбыстық сигнал жобасының демонстрациясы
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
}
Ашықтық: Amazon серіктесі ретінде біз біліктілікке сай сатып алулардан табыс табамыз. Бұл сіз сілтемені басып, сатып алсаңыз, сізге қосымша шығынсыз кішкентай комиссия алатын болуымызды білдіреді.