ESP32 оқулығы 32/55 - Артқа жүру қашықтығы туралы ескерту LCD және дыбыстық сигналмен | SunFounder-дің IoT оқу жиынтығы
Бұл оқулықта біз ESP32 микроконтроллерін, ультрадыбыстық қашықтық сенсорын, LCD дисплейін және дыбыстық сигналды пайдаланып, кері жүруге көмектесетін жүйені жасаймыз. Бұл жоба сізді кері жүру кезінде кедергілерге дейінгі қашықтық туралы ескертеді, ал дыбыстық сигналдың дыбыс жиілігі кедергінің қаншалықты жақын екеніне қарай өзгереді. Сіз компоненттерді қосу, код жазу және жүйенің көлігіңіз үшін тиімді жұмыс істеуін күтуді үйренесіз.
Бұл жобаны жүзеге асырған кезде ESP32 сенсор көрсеткіштерін өңдеп, дыбыстық сигнал мен LCD дисплейін басқарады. Ультрадыбыстық сенсор кез келген кедергілерге дейінгі қашықтықты өлшейді, ал дыбыстық сигнал осы қашықтыққа негізделген дыбыстық кері байланысты қамтамасыз етеді. LCD дисплейі өлшенген қашықтықты көрсетеді, бұл сізге көрсеткіштерді нақты уақытта көруге мүмкіндік береді. Құрылғыны жақсырақ түсіну үшін бейнені міндетті түрде көріңіз (00:00-дегі бейнеде).
Аппараттық құрал түсіндірмесі
Бұл жобаның негізгі компоненттеріне ESP32 микроконтроллері, ультрадыбыстық қашықтық сенсоры, LCD дисплейі және дыбыстық сигнал кіреді. ESP32 - кірістірілген Wi-Fi және Bluetooth мүмкіндіктері бар қуатты микроконтроллер, бұл оны IoT жобалары үшін өте қолайлы етеді. Ультрадыбыстық сенсор дыбыс толқындарын шығарып, жаңғырықтың қайту уақытын есептеу арқылы қашықтықты өлшейді. LCD дисплейі өлшенген қашықтықты көрсетеді, ал дыбыстық сигнал жақындыққа негізделген естілетін ескертулерді қамтамасыз етеді.
Әрбір компонент кері жүруге көмектесетін жүйенің дұрыс жұмыс істеуін қамтамасыз етуде маңызды рөл атқарады. Бұл бөліктердің бірге қалай жұмыс істейтінін түсіну құрастыру процесінде туындауы мүмкін кез келген ақауларды жоюға көмектеседі. Жоба сенсор деректерін басқару және шығыстарды тиімді басқару үшін ESP32 өңдеу қуатын пайдаланады.
Деректер парағының мәліметтері
| Өндіруші | Espressif Systems |
|---|---|
| Бөлшек нөмірі | ESP32 |
| Логика/IO кернеуі | 3.3 В |
| Қоректендіру кернеуі | 5 В (макс.) |
| Шығыс тогы (арнаға) | 40 мА |
| Ең жоғары ток (арнаға) | 160 мА |
| PWM жиілігі бойынша нұсқаулық | 1 кГц - 40 кГц |
| Кіріс логикалық шектері | 0.3 VCC (төмен), 0.7 VCC (жоғары) |
| Кернеудің төмендеуі / RDS(on) / қанығу | 0.2 В (тип.) |
| Жылулық шектеулер | Жұмыс температурасы: -40°C - 85°C |
| Қаптама | QFN48 |
| Ескертулер / нұсқалар | Әртүрлі ESP32 модульдері қолжетімді |
- Зақымдануды болдырмау үшін дұрыс қоректендіруді қамтамасыз етіңіз.
- Токты шектеу үшін дыбыстық сигналмен резисторды пайдаланыңыз.
- Кедергілерді азайту үшін сигнал сымдарын қысқа ұстаңыз.
- Қажет болса, цифрлық кірістер үшін жоғары тарту резисторларын пайдаланыңыз.
- Ультрадыбыстық сенсордың максималды диапазонына абай болыңыз.
Сымды қосу нұсқаулары

Жобаға арналған компоненттерді қосу үшін ультрадыбыстық сенсорды қосудан бастаңыз. Сенсордың VCC түйреуішін 5В қоректендіру желісіне және GND түйреуішін жерге қосыңыз. Trig түйреуіші ESP32-дегі 26 түйреуішіне, ал Echo түйреуіші 25 түйреуішіне қосылуы керек.
Әрі қарай, дыбыстық сигналдың оң ұшын ESP32-дегі 14 түйреуішіне және теріс ұшын жерге қосу арқылы дыбыстық сигналды қосыңыз. LCD үшін VCC түйреуішін 5В желісіне және GND түйреуішін жерге қосыңыз. LCD-дің SDA және SCL түйреуіштері сәйкесінше 21 және 22 түйреуіштеріне қосылуы керек. Жұмыс кезінде үзілістерді болдырмау үшін барлық қосылымдардың сенімді екеніне көз жеткізіңіз.
Код мысалдары және түсіндірме
Кодта сіз ультрадыбыстық сенсордан өлшенген қашықтықты сақтайтын distance сияқты негізгі идентификаторларды табасыз. Бұл айнымалы ағымдағы қашықтықты көрсету үшін циклде үздіксіз жаңартылады. Дыбыстық сигналдың түйреуіші buzzerPin ретінде анықталған, бұл оның күйін оңай басқаруға мүмкіндік береді.
const int triggerPin = 26; // Ультрадыбыстық сенсор үшін триггер түйреуіші
const int echoPin = 25; // Ультрадыбыстық сенсор үшін жаңғырық түйреуіші
const int buzzerPin = 14; // Дыбыстық сигнал түйреуіші
Бұл тұрақтылар анықтық пен реттеу оңайлығы үшін кодтың басында анықталады. Триггер және жаңғырық түйреуіштері ультрадыбыстық сенсормен байланысу үшін қолданылады, ал дыбыстық сигнал түйреуіші дыбыс шығысын басқарады.
void setup() {
pinMode(triggerPin, OUTPUT); // Триггер түйреуішін шығыс ретінде орнату
pinMode(echoPin, INPUT); // Жаңғырық түйреуішін кіріс ретінде орнату
pinMode(buzzerPin, OUTPUT); // Дыбыстық сигнал түйреуішін шығыс ретінде орнату
}
setup() функциясында біз ультрадыбыстық сенсор мен дыбыстық сигнал үшін түйреуіш режимдерін конфигурациялаймыз. Бұл ESP32-нің жұмыс кезінде аппараттық компоненттермен дұрыс әрекеттесуін қамтамасыз етеді.
void loop() {
distance = readDistance(); // Қашықтықты оқу үшін функцияны шақыру
if (distance <= 10) {
beep(100); // Жақын қашықтық үшін жылдам дыбыс
} else if (distance <= 20) {
beep(500); // Орташа қашықтық үшін орташа дыбыс
} else {
beep(2000); // Қауіпсіз қашықтық үшін баяу дыбыс
}
}
loop() функциясы қашықтықты үздіксіз оқып, мәнге байланысты дыбыстық сигналдың жиілігін реттейді. beep() функциясы кедергінің қаншалықты жақын екеніне байланысты әртүрлі аралықтармен шақырылады.
Демонстрация / Не күтуге болады
Барлығы қосылып, код жүктелгеннен кейін, жүйенің кедергіге дейінгі қашықтыққа байланысты әртүрлі аралықтарда дыбыс шығаратынын күтуге болады. Қашықтық 10 см-ден аз болғанда, дыбыстық сигнал жылдам шығады, ал 50 см-ден үлкен қашықтықта баяу дыбыс шығады. Ультрадыбыстық сенсордың алдына қолыңызды қойып, қашықтық көрсеткіштерінің өзгеруін және сәйкес дыбыс жиіліктерін көру үшін жүйені міндетті түрде тексеріңіз (бейнеде 12:30).
Бейне уақыт белгілері
- 00:00 Басталуы
- 2:08 Кіріспе және құжаттар
- 4:12 Сымдарды қосу түсіндірмесі
- 13:17 Arduino коды
- 21:01 Arduino IDE-де ESP32 платасын және COM портын таңдау
- 22:48 Зертханадағы демонстрация
- 24:54 Көліктегі демонстрация
Common Course Links
Common Course Files
Сізге қажет болуы мүмкін нәрселер
-
АмазонкаPurchase LCD1602-I2C from Amazonamzn.to
-
eBayPurchase LCD1602-I2C from eBayebay.us
-
AliExpressPurchase 10pcs LCD1602-I2C from AliExpresss.click.aliexpress.com
-
AliExpressPurchase LCD1602-I2C from AliExpresss.click.aliexpress.com
Ресурстар мен сілтемелер
-
ҚұжаттамаESP32 Tutorial 32/55- SunFounder doc page for reversing aiddocs.sunfounder.com
Файлдар📁
Fritzing файлы
-
LCD2004-I2C
LCD2004-I2C.fzpz0.02 MB