ЕСП32 Басиц Стартер
Кит
Листа паковања
ЕСП32 Увод
Нови сте на ЕСП32? Почните овде! ЕСП32 је серија јефтиних микроконтролера система на чипу (СоЦ) које је развио Еспрессиф који укључују Ви-Фи и Блуетоотх бежичне могућности и процесор са два језгра. Ако сте упознати са ЕСП8266, ЕСП32 је његов наследник, пун пуно нових функција.ЕСП32 Спецификације
Ако желите да будете мало технички и конкретнији, можете погледати следеће детаљне спецификације ЕСП32 (извор: http://esp32.net/)—за више детаља, проверите лист са подацима):
- Бежично повезивање ВиФи: 150.0 Мбпс брзина података са ХТ40
- Блуетоотх: БЛЕ (Блуетоотх Лов Енерги) и Блуетоотх Цлассиц
- Процесор: Тенсилица Кстенса Дуал-Цоре 32-бит ЛКС6 микропроцесор, ради на 160 или 240 МХз
- Меморија:
- РОМ: 448 КБ (за покретање и основне функције)
- СРАМ: 520 КБ (за податке и упутства)
- РТЦ фас СРАМ: 8 КБ (за складиштење података и главни ЦПУ током РТЦ покретања из режима дубоког спавања)
- РТЦ спор СРАМ: 8КБ (за приступ копроцесору током режима дубоког спавања) еФусе: 1 Кбит (од чега се 256 бита користи за систем (МАЦ адреса и конфигурација чипа), а преосталих 768 бита је резервисано за корисничке апликације, укључујући Фласх-Енцриптион и Цхип-ИД)
Уграђени блиц: блиц повезан интерно преко ИО16, ИО17, СД_ЦМД, СД_ЦЛК, СД_ДАТА_0 и СД_ДАТА_1 на ЕСП32-Д2ВД и ЕСП32-ПИЦО-Д4.
- 0 миБ (ЕСП32-Д0ВДК6, ЕСП32-Д0ВД и ЕСП32-С0ВД чипови)
- 2 МиБ (ЕСП32-Д2ВД чип)
- 4 МиБ (ЕСП32-ПИЦО-Д4 СиП модул)
Мала снага: осигурава да и даље можете користити АДЦ конверзије, нпрampле, током дубоког сна.
Периферни улаз/излаз:
- периферни интерфејс са ДМА који укључује капацитивни додир
- АДЦ (аналогно-дигитални претварач)
- ДАЦ (дигитално-аналогни претварач)
- И²Ц (међу-интегрисано коло)
- УАРТ (универзални асинхрони пријемник/предајник)
- СПИ (серијски периферни интерфејс)
- И²С (Интегрисани интерчип звук)
- РМИИ (Смањени интерфејс независни од медија)
- ПВМ (Пулсно-ширинска модулација)
безбедност: хардверски акцелератори за АЕС и ССЛ/ТЛС
ЕСП32 развојне плоче
ЕСП32 се односи на голи ЕСП32 чип. Међутим, термин „ЕСП32“ се такође користи за означавање ЕСП32 развојних плоча. Коришћење ЕСП32 голих чипова није лако нити практично, посебно када се учи, тестира и прави прототип. Већину времена ћете желети да користите ЕСП32 развојну плочу.
Користићемо ЕСП32 ДЕВКИТ В1 плочу као референцу. На слици испод приказана је ЕСП32 ДЕВКИТ В1 плоча, верзија са 30 ГПИО пинова.Спецификације – ЕСП32 ДЕВКИТ В1
Следећа табела приказује резиме карактеристика и спецификација плоче ЕСП32 ДЕВКИТ В1 ДОИТ:
Број језгара | 2 (двојезгарни) |
Ви-Фи | 2.4 ГХз до 150 Мбит/с |
Блуетоотх | БЛЕ (Блуетоотх Лов Енерги) и стари Блуетоотх |
Архитектура | 32 бита |
Фреквенција такта | До 240 МХз |
РАМ | 512 КБ |
Пинс | 30 (у зависности од модела) |
Периферије | Капацитивни додир, АДЦ (аналогно-дигитални претварач), ДАЦ (дигитално-аналогни претварач), 12Ц (међу-интегрисано коло), УАРТ (универзални асинхрони пријемник/предајник), ЦАН 2.0 (мрежа контролера), СПИ (серијски периферни интерфејс), 12С (интегрисани Звук), РМИИ (Смањени интерфејс независан од медија), ПВМ (ширина импулсне модулације) и још много тога. |
Уграђена дугмад | Дугмад РЕСЕТ и БООТ |
Уграђене ЛЕД диоде | уграђени плави ЛЕД повезан на ГПИО2; уграђени црвени ЛЕД који показује да се плоча напаја |
УСБ на УАРТ мост |
ЦП2102 |
Долази са мицроУСБ интерфејсом који можете да користите за повезивање плоче са рачунаром да бисте отпремили код или применили напајање.
Користи ЦП2102 чип (УСБ на УАРТ) за комуникацију са вашим рачунаром преко ЦОМ порта користећи серијски интерфејс. Још један популаран чип је ЦХ340. Проверите који је конвертор УСБ у УАРТ чип на вашој плочи јер ћете морати да инсталирате потребне драјвере да би ваш рачунар могао да комуницира са плочом (више информација о томе касније у овом водичу).
Ова плоча такође долази са дугметом РЕСЕТ (може бити означено са ЕН) за поновно покретање плоче и дугметом БООТ за постављање плоче у режим трептања (доступно за примање кода). Имајте на уму да неке плоче можда немају дугме БООТ.
Такође долази са уграђеном плавом ЛЕД диодом која је интерно повезана са ГПИО 2. Ова ЛЕД је корисна за отклањање грешака да би дала неку врсту визуелног физичког излаза. Ту је и црвена ЛЕД која светли када напајате плочу.ЕСП32 Пиноут
ЕСП32 периферне јединице укључују:
- 18 канала аналогно-дигиталног претварача (АДЦ).
- 3 СПИ интерфејса
- 3 УАРТ интерфејса
- 2 И2Ц интерфејса
- 16 ПВМ излазна канала
- 2 дигитално-аналогна претварача (ДАЦ)
- 2 И2С интерфејса
- 10 ГПИО са капацитивним сензором
Карактеристике АДЦ (аналогно-дигитални претварач) и ДАЦ (дигитално-аналогни претварач) су додељене одређеним статичким пиновима. Међутим, можете одлучити који су пинови УАРТ, И2Ц, СПИ, ПВМ, итд - само их требате додијелити у коду. Ово је могуће због функције мултиплексирања ЕСП32 чипа.
Иако можете да дефинишете својства пинова у софтверу, постоје пинови који су подразумевано додељени као што је приказано на следећој слициПоред тога, постоје игле са специфичним карактеристикама које их чине погодним или не за одређени пројекат. Следећа табела показује које пинове је најбоље користити као улазе, излазе и на које морате бити опрезни.
Игле означене зеленом бојом су у реду за употребу. Оне означене жутом бојом су у реду за употребу, али морате обратити пажњу јер могу имати неочекивано понашање углавном при покретању. Пинови означени црвеном бојом се не препоручују за употребу као улазе или излазе.
ГП ИО | Инпут | Излаз | Напомене |
0 | повукао горе | OK | емитује ПВМ сигнал при покретању, мора бити ЛОВ да уђе у режим трептања |
1 | ТКС пин | OK | излаз за отклањање грешака при покретању |
2 | OK | OK | повезан на уграђену ЛЕД диоду, мора бити остављен да плута или ЛОВ да би ушао у трепћући режим |
3 | OK | РКС пин | ВИСОКО при покретању |
4 | OK | OK | |
5 | OK | OK | излази ПВМ сигнал при покретању, игла за везивање |
12 | OK | OK | чизма не успе ако се повуче високо, игла за везивање |
13 | OK | OK | |
14 | OK | OK | емитује ПВМ сигнал при покретању |
15 | OK | OK | излази ПВМ сигнал при покретању, игла за везивање |
16 | OK | OK | |
17 | OK | OK | |
18 | OK | OK | |
19 | OK | OK | |
21 | OK | OK | |
22 | OK | OK | |
23 | OK | OK | |
25 | OK | OK | |
26 | OK | OK | |
27 | OK | OK | |
32 | OK | OK | |
33 | OK | OK | |
34 | OK | само унос | |
35 | OK | само унос | |
36 | OK | само унос | |
39 | OK | само унос |
Наставите са читањем за детаљнију и детаљнију анализу ЕСП32 ГПИО-а и његових функција.
Унесите само пинове
ГПИО 34 до 39 су ГПИ – пинови само за унос. Ови пинови немају унутрашње пулл-уп или пулл-довн отпорнике. Они се не могу користити као излази, па користите ове пинове само као улазе:
- ГПИО 34
- ГПИО 35
- ГПИО 36
- ГПИО 39
СПИ блиц интегрисан на ЕСП-ВРООМ-32
ГПИО 6 до ГПИО 11 су изложени на неким ЕСП32 развојним плочама. Међутим, ови пинови су повезани на интегрисани СПИ флеш на ЕСП-ВРООМ-32 чипу и не препоручују се за другу употребу. Дакле, немојте користити ове игле у својим пројектима:
- ГПИО 6 (СЦК/ЦЛК)
- ГПИО 7 (СДО/СД0)
- ГПИО 8 (СДИ/СД1)
- ГПИО 9 (СХД/СД2)
- ГПИО 10 (СВП/СД3)
- ГПИО 11 (ЦСЦ/ЦМД)
Капацитивни додирни ГПИО
ЕСП32 има 10 интерних капацитивних сензора додира. Они могу осетити варијације у свему што има електрични набој, попут људске коже. Тако да могу да открију варијације изазване додиром ГПИО-а прстом. Ове игле се лако могу интегрисати у капацитивне јастучиће и заменити механичка дугмад. Капацитивни додирни пинови се такође могу користити за буђење ЕСП32 из дубоког сна. Ови унутрашњи сензори додира су повезани са овим ГПИО:
- Т0 (ГПИО 4)
- Т1 (ГПИО 0)
- Т2 (ГПИО 2)
- Т3 (ГПИО 15)
- Т4 (ГПИО 13)
- Т5 (ГПИО 12)
- Т6 (ГПИО 14)
- Т7 (ГПИО 27)
- Т8 (ГПИО 33)
- Т9 (ГПИО 32)
Аналогно-дигитални претварач (АДЦ)
ЕСП32 има 18 к 12 бита АДЦ улазне канале (док ЕСП8266 има само 1 к 10 бита АДЦ). Ово су ГПИО-ови који се могу користити као АДЦ и одговарајући канали:
- АДЦ1_ЦХ0 (ГПИО 36)
- АДЦ1_ЦХ1 (ГПИО 37)
- АДЦ1_ЦХ2 (ГПИО 38)
- АДЦ1_ЦХ3 (ГПИО 39)
- АДЦ1_ЦХ4 (ГПИО 32)
- АДЦ1_ЦХ5 (ГПИО 33)
- АДЦ1_ЦХ6 (ГПИО 34)
- АДЦ1_ЦХ7 (ГПИО 35)
- АДЦ2_ЦХ0 (ГПИО 4)
- АДЦ2_ЦХ1 (ГПИО 0)
- АДЦ2_ЦХ2 (ГПИО 2)
- АДЦ2_ЦХ3 (ГПИО 15)
- АДЦ2_ЦХ4 (ГПИО 13)
- АДЦ2_ЦХ5 (ГПИО 12)
- АДЦ2_ЦХ6 (ГПИО 14)
- АДЦ2_ЦХ7 (ГПИО 27)
- АДЦ2_ЦХ8 (ГПИО 25)
- АДЦ2_ЦХ9 (ГПИО 26)
Напомена: АДЦ2 пинови се не могу користити када се користи Ви-Фи. Дакле, ако користите Ви-Фи и имате проблема да добијете вредност од АДЦ2 ГПИО, можете размислити о коришћењу АДЦ1 ГПИО уместо тога. То би требало да реши ваш проблем.
АДЦ улазни канали имају 12-битну резолуцију. То значи да можете добити аналогна очитавања у распону од 0 до 4095, у којима 0 одговара 0В, а 4095 до 3.3В. Такође можете подесити резолуцију ваших канала на коду и опсегу АДЦ-а.
ЕСП32 АДЦ пинови немају линеарно понашање. Вероватно нећете моћи да разликујете 0 и 0.1В, или између 3.2 и 3.3В. Морате то имати на уму када користите АДЦ пинове. Добићете понашање слично оном приказаном на следећој слици.Дигитално аналогни претварач (ДАЦ)
Постоје 2 к 8 бита ДАЦ канала на ЕСП32 за претварање дигиталних сигнала у аналогни волtagе излазе сигнала. Ово су ДАЦ канали:
- ДАЦ1 (ГПИО25)
- ДАЦ2 (ГПИО26)
РТЦ ГПИОс
На ЕСП32 постоји подршка за РТЦ ГПИО. ГПИО-ови усмерени на РТЦ подсистем мале снаге могу се користити када је ЕСП32 у дубоком спавању. Ови РТЦ ГПИО се могу користити за буђење ЕСП32 из дубоког сна када је Ултра Лов
Повер (УЛП) копроцесор ради. Следећи ГПИО се могу користити као екстерни извор буђења.
- РТЦ_ГПИО0 (ГПИО36)
- РТЦ_ГПИО3 (ГПИО39)
- РТЦ_ГПИО4 (ГПИО34)
- РТЦ_ГПИО5 (ГПИО35)
- РТЦ_ГПИО6 (ГПИО25)
- РТЦ_ГПИО7 (ГПИО26)
- РТЦ_ГПИО8 (ГПИО33)
- РТЦ_ГПИО9 (ГПИО32)
- РТЦ_ГПИО10 (ГПИО4)
- РТЦ_ГПИО11 (ГПИО0)
- РТЦ_ГПИО12 (ГПИО2)
- РТЦ_ГПИО13 (ГПИО15)
- РТЦ_ГПИО14 (ГПИО13)
- РТЦ_ГПИО15 (ГПИО12)
- РТЦ_ГПИО16 (ГПИО14)
- РТЦ_ГПИО17 (ГПИО27)
ПВМ
ЕСП32 ЛЕД ПВМ контролер има 16 независних канала који се могу конфигурисати за генерисање ПВМ сигнала са различитим својствима. Сви пинови који могу да делују као излази могу се користити као ПВМ пинови (ГПИО 34 до 39 не могу да генеришу ПВМ).
Да бисте подесили ПВМ сигнал, потребно је да дефинишете ове параметре у коду:
- Фреквенција сигнала;
- Дутицицле;
- ПВМ канал;
- ГПИО где желите да емитујете сигнал.
И2Ц
ЕСП32 има два И2Ц канала и било који пин се може подесити као СДА или СЦЛ. Када користите ЕСП32 са Ардуино ИДЕ, подразумевани И2Ц пинови су:
- ГПИО 21 (СДА)
- ГПИО 22 (СЦЛ)
Ако желите да користите друге пинове када користите библиотеку жице, само треба да позовете:
Вире.бегин(СДА, СЦЛ);
СПИ
Подразумевано, мапирање пинова за СПИ је:
СПИ | МОСИ | МИСО | ЦЛК | CS |
ВСПИ | ГПИО 23 | ГПИО 19 | ГПИО 18 | ГПИО 5 |
ХСПИ | ГПИО 13 | ГПИО 12 | ГПИО 14 | ГПИО 15 |
Прекиди
Сви ГПИО-ови се могу конфигурисати као прекиди.
Страппинг Пинс
ЕСП32 чип има следеће игле за везивање:
- ГПИО 0 (мора бити ЛОВ да уђете у режим покретања)
- ГПИО 2 (мора бити плутајући или ЛОВ током покретања)
- ГПИО 4
- ГПИО 5 (мора бити ХИГХ током покретања)
- ГПИО 12 (мора бити ЛОВ током покретања)
- ГПИО 15 (мора бити ХИГХ током покретања)
Они се користе за стављање ЕСП32 у режим покретања или треперења. На већини развојних плоча са уграђеним УСБ/Сериал, не морате да бринете о стању ових пинова. Плоча поставља пинове у право стање за трептање или режим покретања. Више информација о избору ЕСП32 режима покретања можете пронаћи овде.
Међутим, ако имате периферне уређаје повезане са тим пиновима, можда ћете имати проблема са покушајем да отпремите нови код, флешујете ЕСП32 новим фирмвером или ресетујете плочу. Ако имате неке периферне уређаје повезане на игле за везивање и имате проблема са отпремањем кода или флешовањем ЕСП32, то може бити зато што те периферије спречавају ЕСП32 да уђе у прави режим. Прочитајте документацију за избор режима покретања која ће вас упутити у правом смеру. Након ресетовања, трептања или покретања, ти пинови раде како се очекује.
Пинс ХИГХ ат Боот
Неки ГПИО мењају своје стање у ХИГХ или излазе ПВМ сигнале при покретању или ресетовању.
То значи да ако имате излазе повезане са овим ГПИО-овима, можете добити неочекиване резултате када се ЕСП32 ресетује или покрене.
- ГПИО 1
- ГПИО 3
- ГПИО 5
- ГПИО 6 до ГПИО 11 (повезан на ЕСП32 интегрисану СПИ флеш меморију – не препоручује се употреба).
- ГПИО 14
- ГПИО 15
Омогући (ЕН)
Енабле (ЕН) је пин за омогућавање регулатора од 3.3 В. Повучен је, па се повежите са земљом да бисте онемогућили регулатор од 3.3 В. То значи да можете користити овај пин повезан са дугметом да поново покренете свој ЕСП32, на примерampле.
ГПИО струја повучена
Апсолутна максимална струја повучена по ГПИО је 40мА према одељку „Препоручени радни услови“ у ЕСП32 таблици са подацима.
ЕСП32 Уграђени Хол ефект сензор
ЕСП32 такође има уграђени сензор са ефектом Хола који детектује промене у магнетном пољу у свом окружењу
ЕСП32 Ардуино ИДЕ
Постоји додатак за Ардуино ИДЕ који вам омогућава да програмирате ЕСП32 користећи Ардуино ИДЕ и његов програмски језик. У овом водичу ћемо вам показати како да инсталирате ЕСП32 плочу у Ардуино ИДЕ без обзира да ли користите Виндовс, Мац ОС Кс или Линук.
Предуслови: Инсталиран Ардуино ИДЕ
Пре него што започнете ову процедуру инсталације, потребно је да имате Ардуино ИДЕ инсталиран на вашем рачунару. Постоје две верзије Ардуино ИДЕ које можете инсталирати: верзија 1 и верзија 2.
Ардуино ИДЕ можете преузети и инсталирати кликом на следећу везу: ардуино.цц/ен/Маин/Софтваре
Коју Ардуино ИДЕ верзију препоручујемо? Тренутно их има plugins за ЕСП32 (као што је СПИФФС Fileсистемски додатак за отпремање) који још увек нису подржани на Ардуину 2. Дакле, ако намеравате да користите СПИФФС додатак у будућности, препоручујемо да инсталирате застарелу верзију 1.8.Кс. Само треба да се померите надоле на Ардуино софтверској страници да бисте је пронашли.
Инсталирање ЕСП32 додатка у Ардуино ИДЕ
Да бисте инсталирали ЕСП32 плочу у свој Ардуино ИДЕ, пратите следећа упутства:
- У вашем Ардуино ИДЕ, идите на File> Поставке
- Унесите следеће у „Аддитионал Боард Манагер URLс” поље:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Затим кликните на дугме „ОК“:Напомена: ако већ имате ЕСП8266 плоче URL, можете одвојити URLс са зарезом на следећи начин:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json,
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Отворите Менаџер плоча. Идите на Тоолс > Боард > Боардс Манагер…Тражи ESP32 and press install button for the “ESP32 by Espressif Systems“:
То је то. Требало би да се инсталира након неколико секунди.
Отпремите тестни код
Прикључите ЕСП32 плочу на рачунар. Када је ваш Ардуино ИДЕ отворен, следите ове кораке:
- Изаберите своју плочу у менију Тоолс > Боард (у мом случају то је ЕСП32 ДЕВ модул)
- Изаберите порт (ако не видите ЦОМ порт у вашем Ардуино ИДЕ, потребно је да инсталирате ЦП210к УСБ на УАРТ Бридге ВЦП драјвере):
- Отворите следећи прampле ундер File > Прampлес > ВиФи
(ЕСП32) > ВиФиСцан - Нова скица се отвара у вашем Ардуино ИДЕ:
- Притисните дугме Уплоад у Ардуино ИДЕ. Сачекајте неколико секунди док се код компајлира и отпреми на вашу плочу.
- Ако је све прошло како сте очекивали, требало би да видите „Отпремање је завршено“. порука.
- Отворите Ардуино ИДЕ серијски монитор брзином преноса од 115200:
- Притисните дугме за укључење ЕСП32 на плочи и требало би да видите мреже доступне у близини вашег ЕСП32:
Решавање проблема
Ако покушате да отпремите нову скицу на свој ЕСП32 и добијете ову поруку о грешци „Догодила се фатална грешка: Повезивање са ЕСП32 није успело: Истекло је време… Повезивање…“. То значи да ваш ЕСП32 није у режиму трептања/учитавања.
Када изаберете прави назив плоче и ЦОМ пор, следите ове кораке:
Држите притиснуто дугме „БООТ“ на вашој ЕСП32 плочи
- Притисните дугме „Учитај“ у Ардуино ИДЕ да бисте отпремили своју скицу:
- Након што видите „Повезивање…“ поруку у вашем Ардуино ИДЕ, отпустите прст са дугмета „БООТ“:
- Након тога, требало би да видите поруку „Завршено отпремање“.
То је то. Ваш ЕСП32 би требало да има покренуту нову скицу. Притисните дугме „ЕНАБЛЕ“ да поново покренете ЕСП32 и покренете нову отпремљену скицу.
Такође ћете морати да поновите ту секвенцу дугмади сваки пут када желите да отпремите нову скицу.
Пројекат 1 ЕСП32 Улази Излази
У овом водичу за почетак ћете научити како да читате дигиталне улазе као што је прекидач са дугметом и да контролишете дигиталне излазе као што је ЛЕД помоћу ЕСП32 са Ардуино ИДЕ.
Предуслови
Програмираћемо ЕСП32 користећи Ардуино ИДЕ. Дакле, уверите се да имате инсталиран додатак за ЕСП32 плоче пре него што наставите:
- Инсталирање ЕСП32 додатка у Ардуино ИДЕ
ЕСП32 Контролише дигиталне излазе
Прво, морате да подесите ГПИО који желите да контролишете као ИЗЛАЗ. Користите функцију пинМоде() на следећи начин:
пинМоде(ГПИО, ОУТПУТ);
Да бисте контролисали дигитални излаз, потребно је само да користите функцију дигиталВрите(), која прихвата као аргументе ГПИО (инт број) на који се позивате и стање, било ХИГХ или ЛОВ.
дигиталВрите(ГПИО, СТАТЕ);
Сви ГПИО се могу користити као излази осим ГПИО 6 до 11 (повезани на интегрисани СПИ флеш) и ГПИО 34, 35, 36 и 39 (улаз само ГПИО);
Сазнајте више о ЕСП32 ГПИО: Референтни водич за ЕСП32 ГПИО
ЕСП32 Читање дигиталних улаза
Прво подесите ГПИО који желите да прочитате као ИНПУТ, користећи функцију пинМоде() на следећи начин:
пинМоде(ГПИО, ИНПУТ);
Да бисте прочитали дигитални улаз, попут дугмета, користите функцију дигиталРеад(), која прихвата као аргумент ГПИО (инт број) на који се позивате.
дигиталРеад(ГПИО);
Сви ЕСП32 ГПИО се могу користити као улази, осим ГПИО 6 до 11 (повезани на интегрисани СПИ блиц).
Сазнајте више о ЕСП32 ГПИО: Референтни водич за ЕСП32 ГПИО
Пројецт Екample
Да бисмо вам показали како да користите дигиталне улазе и дигиталне излазе, направићемо једноставан пројекат нпрampле са дугметом и ЛЕД диодом. Прочитаћемо стање дугмета и упалити ЛЕД у складу са тим као што је илустровано на следећој слици.
Партс Рекуиред
Ево листе делова који су вам потребни за изградњу кола:
- ЕСП32 ДЕВКИТ В1
- 5 мм ЛЕД
- Отпор 220 Охма
- Тастер
- 10к Охм отпорник
- Бреадбоард
- Јумпер жице
Шематски дијаграм
Пре него што наставите, потребно је да саставите коло са ЛЕД диодом и дугметом.
Повежићемо ЛЕД на ГПИО 5, а дугме на ГПИО 4.Код
Отворите код Пројецт_1_ЕСП32_Инпутс_Оутпутс.ино у ардуино ИДЕКако Кодекс функционише
У следећа два реда креирате променљиве за додељивање пинова:
Дугме је повезано са ГПИО 4, а ЛЕД је повезано са ГПИО 5. Када користите Ардуино ИДЕ са ЕСП32, 4 одговара ГПИО 4, а 5 одговара ГПИО 5.
Затим креирате променљиву која ће задржати стање дугмета. Подразумевано је 0 (није притиснут).
инт буттонСтате = 0;
У сетуп() иницијализујете дугме као ИНПУТ, а ЛЕД као ИЗЛАЗ.
За то користите функцију пинМоде() која прихвата пин на који се позивате и режим: ИНПУТ или ОУТПУТ.
пинМоде(буттонПин, ИНПУТ);
пинМоде(ледПин, ОУТПУТ);
У петљи() читате стање дугмета и у складу с тим подешавате ЛЕД.
У следећем реду читате стање дугмета и чувате га у променљивој буттонСтате.
Као што смо раније видели, користите функцију дигиталРеад().
буттонСтате = дигиталРеад(буттонПин);
Следећа иф наредба проверава да ли је стање дугмета ХИГХ. Ако јесте, укључује ЛЕД помоћу функције дигиталВрите() која прихвата као аргумент ЛЕДПин и стање ХИГХ.
иф (буттонСтате == ВИСОКО)Ако стање дугмета није ВИСОКО, искључите ЛЕД диоду. Само поставите ЛОВ као други аргумент у функцији дигиталВрите().
Отпремање кода
Пре него што кликнете на дугме за отпремање, идите на Тоолс > Боард и изаберите плочу :ДОИТ ЕСП32 ДЕВКИТ В1.
Идите на Тоолс > Порт и изаберите ЦОМ порт на који је ЕСП32 повезан. Затим притисните дугме за отпремање и сачекајте поруку „Завршено отпремање“.Напомена: Ако видите много тачака (повезивање…__…__) у прозору за отклањање грешака и поруку „Неуспешно повезивање са ЕСП32: Истекло је време чекања на заглавље пакета“, то значи да морате да притиснете дугме ЕСП32 на плочи након тачака
почети да се појављује.Решавање проблема
Демонстрација
Након учитавања кода, тестирајте своје коло. Ваша ЛЕД лампица би требало да се упали када притиснете дугме:И искључите га када га пустите:
Пројект 2 ЕСП32 аналогни улази
Овај пројекат показује како читати аналогне улазе са ЕСП32 користећи Ардуино ИДЕ.
Аналогно читање је корисно за читање вредности са променљивих отпорника као што су потенциометри или аналогни сензори.
Аналогни улази (АДЦ)
Читање аналогне вредности помоћу ЕСП32 значи да можете мерити различите запреминеtagе нивои између 0 В и 3.3 В.
ВолtagИзмерено е се затим додељује вредности између 0 и 4095, у којој 0 В одговара 0, а 3.3 В одговара 4095. Било која запреминаtagе између 0 В и 3.3 В добиће одговарајућу вредност између.АДЦ је нелинеаран
У идеалном случају, очекивали бисте линеарно понашање када користите ЕСП32 АДЦ пинове.
Међутим, то се не дешава. Оно што ћете добити је понашање као што је приказано на следећем графикону:Ово понашање значи да ваш ЕСП32 није у стању да разликује 3.3 В од 3.2 В.
Добићете исту вредност за оба волtagес: 4095.
Исто се дешава за веома ниску волtagе вредности: за 0 В и 0.1 В добићете исту вредност: 0. Ово морате имати на уму када користите ЕСП32 АДЦ пинове.
Функција аналогРеад().
Читање аналогног улаза са ЕСП32 помоћу Ардуино ИДЕ је једноставно као коришћење функције аналогРеад(). Као аргумент прихвата ГПИО који желите да прочитате:
аналогРеад(ГПИО);
Само 15 је доступно у ДЕВКИТ В1 плочи (верзија са 30 ГПИО).
Узмите пиноут своје ЕСП32 плоче и пронађите пинове АДЦ-а. Они су означени црвеном ивицом на слици испод.Ови аналогни улазни пинови имају 12-битну резолуцију. То значи да када читате аналогни улаз, његов опсег може да варира од 0 до 4095.
Напомена: АДЦ2 пинови се не могу користити када се користи Ви-Фи. Дакле, ако користите Ви-Фи и имате проблема да добијете вредност од АДЦ2 ГПИО, можете размислити о коришћењу АДЦ1 ГПИО уместо тога, то би требало да реши ваш проблем.
Да видимо како се све повезује, направићемо једноставну бившуampле за очитавање аналогне вредности са потенциометра.
Партс Рекуиред
За овај прampле, потребни су вам следећи делови:
- ЕСП32 ДЕВКИТ В1 плоча
- Потенциометар
- Бреадбоард
- Јумпер жице
Шематски
Повежите потенциометар са вашим ЕСП32. Средњи пин потенциометра треба да буде повезан на ГПИО 4. Можете користити следећи шематски дијаграм као референцу.Код
Програмираћемо ЕСП32 користећи Ардуино ИДЕ, па се уверите да имате инсталиран додатак ЕСП32 пре него што наставите: (Ако сте већ урадили овај корак, можете да пређете на следећи корак.)
Инсталирање ЕСП32 додатка у Ардуино ИДЕ
Отворите код Пројецт_2_ЕСП32_Инпутс_Оутпутс.ино у ардуино ИДЕОвај код једноставно чита вредности са потенциометра и штампа те вредности у серијском монитору.
У коду почињете тако што ћете дефинисати ГПИО на који је потенциометар повезан. У овом екampле, ГПИО 4.У сетуп(), иницијализујте серијску комуникацију брзином од 115200.
У лооп(), користите функцију аналогРеад() да прочитате аналогни улаз са потПин-а.
На крају, одштампајте вредности очитане са потенциометра у серијском монитору.
Отпремите добијени код на свој ЕСП32. Уверите се да сте изабрали праву плочу и ЦОМ порт у менију Алатке.
Тестирање Екample
Након што учитате код и притиснете дугме за ресетовање ЕСП32, отворите серијски монитор брзином преноса од 115200. Окрените потенциометар и видите да се вредности мењају.Максимална вредност коју ћете добити је 4095, а минимална вредност је 0.
Враппинг Уп
У овом чланку сте научили како да читате аналогне улазе користећи ЕСП32 са Ардуино ИДЕ. Укратко:
- ЕСП32 ДЕВКИТ В1 ДОИТ плоча (верзија са 30 пинова) има 15 АДЦ пинова које можете користити за читање аналогних улаза.
- Ови пинови имају резолуцију од 12 бита, што значи да можете добити вредности од 0 до 4095.
- Да бисте прочитали вредност у Ардуино ИДЕ, једноставно користите функцију аналогРеад().
- ЕСП32 АДЦ пинови немају линеарно понашање. Вероватно нећете моћи да разликујете 0 и 0.1В, или између 3.2 и 3.3В. Морате то имати на уму када користите АДЦ пинове.
Пројецт 3 ЕСП32 ПВМ (аналогни излаз)
У овом водичу ћемо вам показати како да генеришете ПВМ сигнале са ЕСП32 користећи Ардуино ИДЕ. Као бившиampНаправићемо једноставно коло које затамњује ЛЕД помоћу ЛЕД ПВМ контролера ЕСП32.ЕСП32 ЛЕД ПВМ контролер
ЕСП32 има ЛЕД ПВМ контролер са 16 независних канала који се могу конфигурисати да генеришу ПВМ сигнале са различитим својствима.
Ево корака које ћете морати да пратите да бисте пригушили ЛЕД са ПВМ-ом користећи Ардуино ИДЕ:
- Прво морате да изаберете ПВМ канал. Постоји 16 канала од 0 до 15.
- Затим морате подесити фреквенцију ПВМ сигнала. За ЛЕД, фреквенцију од 5000 Хз је добро користити.
- Такође морате да подесите резолуцију радног циклуса сигнала: имате резолуције од 1 до 16 бита. Користићемо 8-битну резолуцију, што значи да можете да контролишете осветљеност ЛЕД-а користећи вредност од 0 до 255.
- Затим морате одредити на којим ГПИО или ГПИО-овима ће се сигнал појавити. За то ћете користити следећу функцију:
ледцАттацхПин(ГПИО, канал)
Ова функција прихвата два аргумента. Први је ГПИО који ће емитовати сигнал, а други је канал који ће генерисати сигнал. - Коначно, да бисте контролисали осветљеност ЛЕД-а помоћу ПВМ-а, користите следећу функцију:
ледцВрите(канал, радни циклус)
Ова функција прихвата као аргументе канал који генерише ПВМ сигнал и радни циклус.
Партс Рекуиред
Да бисте пратили овај водич, потребни су вам ови делови:
- ЕСП32 ДЕВКИТ В1 плоча
- 5мм ЛЕД
- Отпор 220 Охма
- Бреадбоард
- Јумпер жице
Шематски
Повежите ЛЕД на свој ЕСП32 као на следећем шематском дијаграму. ЛЕД треба да буде повезан на ГПИО 4.Напомена: можете користити било који пин који желите, све док може да делује као излаз. Сви пинови који могу деловати као излази могу се користити као ПВМ пинови. За више информација о ЕСП32 ГПИО, прочитајте: Референца за ЕСП32 Пиноут: Које ГПИО пинове треба да користите?
Код
Програмираћемо ЕСП32 користећи Ардуино ИДЕ, па се уверите да имате инсталиран додатак ЕСП32 пре него што наставите: (Ако сте већ урадили овај корак, можете да пређете на следећи корак.)
Инсталирање ЕСП32 додатка у Ардуино ИДЕ
Отворите код Пројецт_3_ЕСП32_ПВМ.ино у ардуино ИДЕПочињете тако што ћете дефинисати пин на који је ЛЕД спојен. У овом случају ЛЕД је прикључен на ГПИО 4.
Затим постављате својства ПВМ сигнала. Дефинишете фреквенцију од 5000 Хз, бирате канал 0 за генерисање сигнала и постављате резолуцију од 8 бита. Можете одабрати друга својства, различита од ових, да бисте генерисали различите ПВМ сигнале.
У сетуп(), потребно је да конфигуришете ЛЕД ПВМ са својствима која сте раније дефинисали користећи ледцСетуп() функцију која прихвата као аргументе, ледЦханнел, фреквенцију и резолуцију, на следећи начин:
Затим морате да изаберете ГПИО са којег ћете добити сигнал. За то користите функцију ледцАттацхПин() која прихвата као аргументе ГПИО где желите да добијете сигнал и канал који генерише сигнал. У овом екampДакле, добићемо сигнал у ЛЕДПин ГПИО, који одговара ГПИО 4. Канал који генерише сигнал је ЛЕДЦханнел, који одговара каналу 0.
У петљи ћете мењати радни циклус између 0 и 255 да бисте повећали осветљеност ЛЕД-а.
А затим, између 255 и 0 да бисте смањили осветљеност.
Да бисте подесили осветљеност ЛЕД-а, потребно је само да користите функцију ледцВрите() која прихвата као аргументе канал који генерише сигнал и радни циклус.
Пошто користимо 8-битну резолуцију, радни циклус ће се контролисати коришћењем вредности од 0 до 255. Имајте на уму да у функцији ледцВрите() користимо канал који генерише сигнал, а не ГПИО.
Тестирање Екample
Отпремите код на свој ЕСП32. Уверите се да сте изабрали праву плочу и ЦОМ порт. Погледајте свој круг. Требало би да имате димер ЛЕД који повећава и смањује осветљеност.
Пројецт 4 ЕСП32 ПИР сензор покрета
Овај пројекат показује како детектовати кретање помоћу ЕСП32 помоћу ПИР сензора покрета. Звучни сигнал ће огласити аларм када се детектује покрет и зауставити аларм када се покрет не детектује током унапред подешеног времена (као што је 4 секунде)
Како функционише сензор покрета ХЦ-СР501
.Принцип рада ХЦ-СР501 сензора заснива се на промени инфрацрвеног зрачења на покретном објекту. Да би га сензор ХЦ-СР501 детектовао, објекат мора да испуни два захтева:
- Објекат емитује инфрацрвени пут.
- Предмет се креће или тресе
дакле:
Ако објекат емитује инфрацрвене зраке, али се НЕ креће (нпр. особа мирује без кретања), сензор га НЕ детектује.
Ако се објекат креће, али НЕ емитује инфрацрвене зраке (нпр. робот или возило), сензор га НЕ детектује.
Представљамо тајмере
У овом екampтакође ћемо увести тајмере. Желимо да ЛЕД остане укључен унапред одређени број секунди након што се открије кретање. Уместо да користимо функцију делаи() која блокира ваш код и не дозвољава вам да урадите било шта друго током одређеног броја секунди, требало би да користимо тајмер.Функција кашњења().
Требало би да сте упознати са функцијом делаи() јер се широко користи. Ова функција је прилично једноставна за коришћење. Прихвата један инт број као аргумент.
Овај број представља време у милисекундама које програм мора да сачека док не пређе на следећи ред кода.Када урадите кашњење (1000) ваш програм се зауставља на тој линији на 1 секунду.
делаи() је функција блокирања. Функције блокирања спречавају програм да ради било шта друго док се тај одређени задатак не заврши. Ако вам је потребно да се више задатака одвија у исто време, не можете користити делаи().
За већину пројеката требало би да избегавате коришћење одлагања и уместо тога користите тајмере.
Функција миллис().
Користећи функцију звану миллис() можете вратити број милисекунди који су прошли од првог покретања програма.Зашто је та функција корисна? Зато што помоћу неке математике можете лако да проверите колико је времена прошло без блокирања кода.
Партс Рекуиред
Да бисте пратили овај водич, потребни су вам следећи делови
- ЕСП32 ДЕВКИТ В1 плоча
- ПИР сензор покрета (ХЦ-СР501)
- Активни зујалица
- Јумпер жице
- Бреадбоард
ШематскиНапомена: Радна волtagе од ХЦ-СР501 је 5В. Користите Вин пин да га напајате.
Код
Пре него што наставите са овим водичем, требало би да имате ЕСП32 додатак инсталиран у вашем Ардуино ИДЕ. Пратите један од следећих туторијала да бисте инсталирали ЕСП32 на Ардуино ИДЕ, ако већ нисте. (Ако сте већ урадили овај корак, можете да пређете на следећи корак.)
Инсталирање ЕСП32 додатка у Ардуино ИДЕ
Отворите код Пројецт_4_ЕСП32_ПИР_Мотион_Сенсор.ино у ардуино ИДЕ.
Демонстрација
Отпремите код на своју ЕСП32 плочу. Уверите се да сте изабрали праву плочу и ЦОМ порт. Пренесите референтне кораке кода.
Отворите серијски монитор са брзином преноса од 115200.Померите руку испред ПИР сензора. Звучни сигнал би требало да се укључи, а порука се штампа на серијском монитору „Откривен покрет! Аларм за зујалицу“.
Након 4 секунде зујалица би се требала искључити.
Пројецт 5 ЕСП32 Свитцх Web Сервер
У овом пројекту ћете направити самосталну web сервер са ЕСП32 који контролише излазе (две ЛЕД диоде) користећи Ардуино ИДЕ програмско окружење. Тхе web сервер је мобилни и може му се приступити са било ког уређаја који је као претраживач на локалној мрежи. Показаћемо вам како да креирате web сервер и како код функционише корак по корак.
Пројецт Оверview
Пре него што пређемо директно на пројекат, важно је навести шта је наше web сервер ће то учинити, тако да је касније лакше пратити кораке.
- Тхе web сервер који ћете изградити контролише две ЛЕД диоде повезане на ЕСП32 ГПИО 26 и ГПИО 27;
- Можете приступити ЕСП32 web сервер укуцавањем ИП адресе ЕСП32 у претраживач у локалној мрежи;
- Кликом на дугмад на вашем web сервер можете одмах променити стање сваке ЛЕД диоде.
Партс Рекуиред
За овај водич ће вам требати следећи делови:
- ЕСП32 ДЕВКИТ В1 плоча
- 2к 5мм ЛЕД
- 2к 200 Охм отпорник
- Бреадбоард
- Јумпер жице
Шематски
Почните са изградњом кола. Повежите две ЛЕД диоде на ЕСП32 као што је приказано на следећем шематском дијаграму – један ЛЕД повезан на ГПИО 26, а други на ГПИО 27.
Напомена: Користимо ЕСП32 ДЕВКИТ ДОИТ плочу са 36 пинова. Пре састављања кола, уверите се да сте проверили пиноут за плочу коју користите.Код
Овде пружамо код који креира ЕСП32 web сервер. Отворите код Пројецт_5_ЕСП32_Свитцх _Web_Сервер.ино у ардуино ИДЕ, али га још увек не постављајте. Морате да унесете неке измене да би то функционисало за вас.
Програмираћемо ЕСП32 користећи Ардуино ИДЕ, па се уверите да имате инсталиран додатак ЕСП32 пре него што наставите: (Ако сте већ урадили овај корак, можете да пређете на следећи корак.)
Инсталирање ЕСП32 додатка у Ардуино ИДЕ
Подешавање мрежних акредитива
Морате да измените следеће редове са вашим мрежним акредитивима: ССИД и лозинка. Код је добро коментарисан о томе где треба да извршите измене.Отпремање кода
Сада можете да отпремите код и и web сервер ће радити одмах.
Пратите следеће кораке да бисте отпремили код у ЕСП32:
- Укључите ЕСП32 плочу у рачунар;
- У Ардуино ИДЕ изаберите своју плочу у Тоолс > Боард (у нашем случају користимо ЕСП32 ДЕВКИТ ДОИТ плочу);
- Изаберите ЦОМ порт у Тоолс > Порт.
- Притисните дугме Уплоад у Ардуино ИДЕ и сачекајте неколико секунди док се код компилира и отпреми на вашу плочу.
- Сачекајте поруку „Завршено отпремање“.
Проналажење ЕСП ИП адресе
Након учитавања кода, отворите серијски монитор брзином преноса од 115200.Притисните дугме ЕСП32 ЕН (ресетујте). ЕСП32 се повезује на Ви-Фи и шаље ЕСП ИП адресу на серијски монитор. Копирајте ту ИП адресу, јер вам је потребна за приступ ЕСП32 web сервер.
Приступ Web Сервер
Да бисте приступили web сервер, отворите свој претраживач, налепите ЕСП32 ИП адресу и видећете следећу страницу.
Напомена: Ваш претраживач и ЕСП32 треба да буду повезани на исту ЛАН мрежу.Ако погледате серијски монитор, можете видети шта се дешава у позадини. ЕСП прима ХТТП захтев од новог клијента (у овом случају, вашег претраживача).
Такође можете видети друге информације о ХТТП захтеву.
Демонстрација
Сада можете тестирати да ли је ваш web сервер ради исправно. Кликните на дугмад да контролишете ЛЕД диоде.У исто време, можете погледати на серијски монитор да видите шта се дешава у позадини. Фор екampда, када кликнете на дугме да бисте укључили ГПИО 26, ЕСП32 прима захтев на /26/он URL.
Када ЕСП32 прими тај захтев, он укључује ЛЕД диоду прикључену на ГПИО 26 и ажурира своје стање на web страница.
Дугме за ГПИО 27 ради на сличан начин. Тестирајте да ли исправно ради.
Како Кодекс функционише
У овом одељку ћемо детаљније погледати код да видимо како функционише.
Прва ствар коју треба да урадите је да укључите ВиФи библиотеку.Као што је раније поменуто, потребно је да уметнете свој ссид и лозинку у следеће редове унутар двоструких наводника.
Затим поставите свој web сервер на порт 80.
Следећи ред креира променљиву за чување заглавља ХТТП захтева:
Затим креирате помоћне варијабле за чување тренутног стања ваших излаза. Ако желите да додате више излаза и сачувате његово стање, потребно је да креирате више променљивих.
Такође морате да доделите ГПИО сваком од ваших излаза. Овде користимо ГПИО 26 и ГПИО 27. Можете користити било који други одговарајући ГПИО.
сетуп()
Сада, идемо у сетуп(). Прво, започињемо серијску комуникацију брзином од 115200 у бауду за потребе отклањања грешака.Такође дефинишете своје ГПИО као ОУТПУТ-ове и постављате их на ЛОВ.
Следећи редови започињу Ви-Фи везу са ВиФи.бегин(ссид, лозинка), сачекајте успешну везу и одштампајте ЕСП ИП адресу у серијском монитору.
петља()
У лооп() програмирамо шта се дешава када нови клијент успостави везу са web сервер.
ЕСП32 увек ослушкује долазне клијенте са следећом линијом:Када добијемо захтев од клијента, сачуваћемо долазне податке. Док петља која следи биће покренута све док клијент остане повезан. Не препоручујемо да мењате следећи део кода осим ако не знате тачно шта радите.
Следећи одељак иф и елсе наредби проверава које је дугме притиснуто у вашем web страницу, и у складу са тим контролише излазе. Као што смо раније видели, постављамо захтев за различите URLс у зависности од притиснутог дугмета.
Фор екampда, ако сте притиснули дугме ГПИО 26 ОН, ЕСП32 прима захтев на /26/ОН URL (можемо да видимо да су те информације у ХТТП заглављу на серијском монитору). Дакле, можемо проверити да ли заглавље садржи израз ГЕТ /26/он. Ако садржи, мењамо променљиву оутпут26стате на ОН, а ЕСП32 укључује ЛЕД.
Ово функционише на сличан начин за остала дугмад. Дакле, ако желите да додате више излаза, требало би да измените овај део кода да бисте их укључили.
Приказ ХТМЛ-а web страница
Следећа ствар коју треба да урадите је креирање web страница. ЕСП32 ће послати одговор вашем претраживачу са неким ХТМЛ кодом за прављење web страница.
Тхе web страница се шаље клијенту помоћу овог изражавајућег клијента.принтлн(). Требало би да унесете оно што желите да пошаљете клијенту као аргумент.
Прва ствар коју треба да пошаљемо је увек следећи ред, који означава да шаљемо ХТМЛ.Затим, следећи ред чини web страница одговара било којој web претраживач.
А следеће се користи за спречавање захтева на фавикону. – Не морате да бринете о овој линији.
Стилинг тхе Web Страница
Затим, имамо неки ЦСС текст за стилизовање дугмади и web изглед странице.
Бирамо Хелветица фонт, дефинишемо садржај који ће бити приказан као блок и поравнат по средини.Ми стилизујемо наше дугмад бојом #4ЦАФ50, без оквира, текст у белој боји и са овим допунама: 16пк 40пк. Такође смо поставили декорацију текста на ништа, дефинисали величину фонта, маргину и курсор на показивач.
Такође дефинишемо стил за друго дугме, са свим својствима дугмета које смо раније дефинисали, али са другом бојом. Ово ће бити стил за дугме за искључивање.
Подешавање Web Први наслов странице
У следећем реду можете поставити први наслов вашег web страница. Овде имамо „ЕСП32 Web Сервер“, али овај текст можете променити у шта год желите.Приказ дугмади и одговарајућег стања
Затим пишете пасус који приказује тренутно стање ГПИО 26. Као што видите, користимо променљиву оутпут26Стате, тако да се стање тренутно ажурира када се ова променљива промени.Затим приказујемо дугме за укључивање или искључивање, у зависности од тренутног стања ГПИО-а. Ако је тренутно стање ГПИО искључено, приказујемо дугме ОН, ако није, приказујемо дугме ОФФ.
Исту процедуру користимо за ГПИО 27.
Затварање везе
Коначно, када се одговор заврши, бришемо променљиву заглавља и прекидамо везу са клијентом помоћу цлиент.стоп().
Враппинг Уп
У овом водичу смо вам показали како да направите а web сервер са ЕСП32. Показали смо вам једноставну бившуampле који контролише две ЛЕД диоде, али идеја је да се те ЛЕД диоде замене релејем или било којим другим излазом који желите да контролишете.
Пројекат 6 РГБ ЛЕД Web Сервер
У овом пројекту ћемо вам показати како да даљински контролишете РГБ ЛЕД са ЕСП32 плочом користећи а web сервер са бирачем боја.
Пројецт Оверview
Пре него што почнемо, да видимо како овај пројекат функционише:
- ЕСП32 web сервер приказује бирач боја.
- Када одаберете боју, ваш претраживач поставља захтев на а URL који садржи Р, Г и Б параметре изабране боје.
- Ваш ЕСП32 прима захтев и дели вредност за сваки параметар боје.
- Затим шаље ПВМ сигнал са одговарајућом вредношћу ГПИО-овима који контролишу РГБ ЛЕД.
Како функционишу РГБ ЛЕД диоде?
У РГБ ЛЕД диоди са заједничком катодом, све три ЛЕД диоде дијеле негативну везу (катоду). Све укључене у комплет су РГБ са заједничком катодом.Како створити различите боје?
Са РГБ ЛЕД-ом можете, наравно, произвести црвену, зелену и плаву светлост, а конфигурисањем интензитета сваког ЛЕД-а можете произвести и друге боје.
Фор екampда бисте произвели чисто плаво светло, поставили бисте плаву ЛЕД диоду на највећи интензитет, а зелену и црвену ЛЕД диоду на најмањи интензитет. За бело светло, поставили бисте све три ЛЕД диоде на највећи интензитет.
Мешање боја
Да бисте произвели друге боје, можете комбиновати три боје у различитим интензитетима. За подешавање интензитета сваке ЛЕД диоде можете користити ПВМ сигнал.
Пошто су ЛЕД диоде веома близу једна другој, наше очи виде резултат комбинације боја, а не три боје појединачно.
Да бисте имали идеју како да комбинујете боје, погледајте следећу табелу.
Ово је најједноставнији дијаграм мешања боја, али вам даје идеју како функционише и како производити различите боје.Партс Рекуиред
За овај пројекат су вам потребни следећи делови:
- ЕСП32 ДЕВКИТ В1 плоча
- РГБ ЛЕД
- 3к 220 охм отпорника
- Јумпер жице
- Бреадбоард
ШематскиКод
Програмираћемо ЕСП32 користећи Ардуино ИДЕ, па се уверите да имате инсталиран додатак ЕСП32 пре него што наставите: (Ако сте већ урадили овај корак, можете да пређете на следећи корак.)
- Инсталирање ЕСП32 додатка у Ардуино ИДЕ
Након састављања кола, отворите код
Пројекат_6_РГБ_ЛЕД_Web_Сервер.ино у ардуино ИДЕ.
Пре него што отпремите код, не заборавите да унесете своје мрежне акредитиве како би се ЕСП могао повезати на вашу локалну мрежу.Како код функционише
ЕСП32 скица користи библиотеку ВиФи.х.Следећи редови дефинишу стринг променљиве које држе Р, Г и Б параметре из захтева.
Следеће четири променљиве се користе за касније декодирање ХТТП захтева.
Креирајте три променљиве за ГПИО које ће контролисати параметре траке Р, Г и Б. У овом случају користимо ГПИО 13, ГПИО 12 и ГПИО 14.
Ови ГПИО морају да емитују ПВМ сигнале, тако да прво морамо да конфигуришемо ПВМ својства. Подесите фреквенцију ПВМ сигнала на 5000 Хз. Затим повежите ПВМ канал за сваку боју
И на крају, подесите резолуцију ПВМ канала на 8-битну
У сетуп(), доделите ПВМ својства ПВМ каналима
Повежите ПВМ канале на одговарајуће ГПИО
Следећи одељак кода приказује бирач боја у вашем web страницу и поставља захтев на основу боје коју сте одабрали.
Када одаберете боју, добијате захтев у следећем формату.
Дакле, морамо да поделимо овај низ да бисмо добили Р, Г и Б параметре. Параметри се чувају у променљивим редСтринг, греенСтринг и блуеСтринг и могу имати вредности између 0 и 255.Да бисте контролисали траку помоћу ЕСП32, користите функцију ледцВрите() да генеришете ПВМ сигнале са вредностима декодираним из ХТТП-а захтев.
Напомена: сазнајте више о ПВМ-у са ЕСП32: Пројекат 3 ЕСП32 ПВМ (аналогни излаз)
Да бисмо контролисали траку са ЕСП8266, само треба да је користимо
функција аналогВрите() за генерисање ПВМ сигнала са вредностима декодираним из ХТПП захтева.
аналогВрите(редПин, редСтринг.тоИнт());
аналогВрите(греенПин, греенСтринг.тоИнт());
аналогВрите(блуеПин, блуеСтринг.тоИнт())
Пошто добијамо вредности у стринг променљивој, морамо да их конвертујемо у целе бројеве помоћу методе тоИнт().
Демонстрација
Након што унесете своје мрежне акредитиве, изаберите праву плочу и ЦОМ порт и отпремите код у свој ЕСП32. Уплоад референтне кораке кода.
Након отпремања, отворите серијски монитор са брзином преноса од 115200 и притисните дугме ЕСП Енабле/Ресет. Требало би да добијете ИП адресу плоче.Отворите претраживач и унесите ЕСП ИП адресу. Сада користите бирач боја да бисте изабрали боју за РГБ ЛЕД.
Затим морате да притиснете дугме „Промени боју“ да би боја ступила на снагу.Да бисте искључили РГБ ЛЕД, изаберите црну боју.
Најјаче боје (на врху бирача боја) су оне које ће дати боље резултате.
Пројекат 7 ЕСП32 Релеј Web Сервер
Коришћење релеја са ЕСП32 је одличан начин за даљинско управљање кућним апаратима на наизменичну струју. Овај водич објашњава како да контролишете релејни модул помоћу ЕСП32.
Погледаћемо како релејни модул ради, како да повежемо релеј са ЕСП32 и направимо web сервер за даљинско управљање релејем.
Представљамо релеје
Релеј је електрични прекидач и као и сваки други прекидач, може се укључити или искључити, пуштајући струју да прође или не. Може се контролисати са малом запреминомtagес, попут 3.3В који обезбеђује ЕСП32 ГПИО и омогућава нам да контролишемо високу јачинуtagе као 12В, 24В или мрежни волtagе (230В у Европи и 120В у САД).На левој страни се налазе два сета од по три утичнице за повезивање високе запреминеtagес, и игле на десној страни (ниска јачинаtagе) повежите се на ЕСП32 ГПИО.
Маинс Волtagе ВезеРелејни модул приказан на претходној фотографији има два конектора, сваки са три утичнице: заједнички (ЦОМ), нормално затворен (НЦ) и нормално отворен (НО).
- ЦОМ: повежите струју коју желите да контролишете (главни волtagи).
- НЦ (Нормално затворен): нормално затворена конфигурација се користи када желите да релеј буде затворен по подразумеваној вредности. НЦ су ЦОМ пинови повезани, што значи да струја тече осим ако не пошаљете сигнал из ЕСП32 у релејни модул да отворите коло и зауставите струјни ток.
- НЕ (Нормално отворен): нормално отворена конфигурација ради обрнуто: нема везе између НО и ЦОМ пинова, тако да је коло прекинуто осим ако не пошаљете сигнал са ЕСП32 да затворите коло.
Цонтрол ПинсТхе лов-волtagНа страни има сет од четири игле и сет од три игле. Први сет се састоји од ВЦЦ и ГНД за напајање модула, и улаза 1 (ИН1) и улаза 2 (ИН2) за контролу доњег и горњег релеја, респективно.
Ако ваш релејни модул има само један канал, имаћете само један ИН пин. Ако имате четири канала, имаћете четири ИН пина и тако даље.
Сигнал који шаљете на ИН пинове, одређује да ли је релеј активан или не. Релеј се активира када улаз падне испод око 2В. То значи да ћете имати следеће сценарије:
- Нормално затворена конфигурација (НЦ):
- ВИСОКИ сигнал – струја тече
- ЛОВ сигнал – струја не тече
- Нормално отворена конфигурација (НЕ):
- ХИГХ сигнал – струја не тече
- ЛОВ сигнал – струја у току
Требало би да користите нормално затворену конфигурацију када би струја требало да тече већину времена, а желите да је зауставите само повремено.
Користите нормално отворену конфигурацију када желите да струја тече повремено (нпрampле, укључи алamp повремено).
Избор напајањаДруги сет пинова се састоји од пинова ГНД, ВЦЦ и ЈД-ВЦЦ.
ЈД-ВЦЦ пин напаја електромагнет релеја. Обратите пажњу да модул има краткоспојник који повезује пинове ВЦЦ и ЈД-ВЦЦ; ова приказана овде је жута, али ваша може бити друге боје.
Када је капа краткоспојника укључена, пинови ВЦЦ и ЈД-ВЦЦ су повезани. То значи да се електромагнет релеја директно напаја са ЕСП32 напојног пина, тако да модул релеја и ЕСП32 кола нису физички изоловани један од другог.
Без капице краткоспојника, потребно је да обезбедите независни извор напајања за напајање електромагнета релеја преко ЈД-ВЦЦ пина. Та конфигурација физички изолује релеје од ЕСП32 са уграђеним оптоспојлером модула, који спречава оштећење ЕСП32 у случају електричних скокова.
ШематскиУпозорење: Употреба високе волtagНапајање може изазвати озбиљне повреде.
Због тога се користе ЛЕД диоде од 5 мм уместо велике количине напајањаtagе сијалице у експерименту. Ако нисте упознати са маинс волtagЗамолите некога ко треба да вам помогне. Док програмирате ЕСП или ожичавате своје коло, уверите се да је све искључено из електричне мрежеtage.Инсталирање библиотеке за ЕСП32
Да изградим ово web сервер, користимо ЕСПАсинцWebСерверска библиотека и АсинцТЦП библиотека.
Инсталирање ЕСПАсинцWebСервер библиотека
Пратите следеће кораке да бисте инсталирали ЕСПАсинцWebСервер библиотека:
- Кликните овде да преузмете ЕСПАсинцWebСервер библиотека. Требао си
.зип фасциклу у фасцикли Преузимања - Распакујте фасциклу .зип и требало би да добијете ЕСПАсинцWebСервер-мастер фолдер
- Преименујте своју фасциклу из ЕСПАсинцWebСервер-мастер за ЕСПАсинцWebСервер
- Померите ЕСПАсинцWebСервер фасцикла у фасциклу Ардуино ИДЕ инсталационих библиотека
Алтернативно, у вашем Ардуино ИДЕ, можете ићи на Скетцх > Инцлуде
Библиотека > Додај .ЗИП библиотеку... и изаберите библиотеку коју сте управо преузели.
Инсталирање АсинцТЦП библиотеке за ЕСП32
Тхе ЕСПАсинцWebСервер библиотека захтева АсинцТЦП библиотека да ради. Пратите
следећи кораци за инсталирање те библиотеке:
- Кликните овде да преузмете АсинцТЦП библиотеку. Требало би да имате .зип фасциклу у фасцикли Преузимања
- Распакујте фасциклу .зип и требало би да добијете АсинцТЦП-мастер фасциклу
1. Преименујте своју фасциклу из АсинцТЦП-мастер у АсинцТЦП
3. Преместите фасциклу АсинцТЦП у фасциклу Ардуино ИДЕ инсталационих библиотека
4. На крају, поново отворите свој Ардуино ИДЕ
Алтернативно, у вашем Ардуино ИДЕ, можете ићи на Скетцх > Инцлуде
Библиотека > Додај .ЗИП библиотеку... и изаберите библиотеку коју сте управо преузели.
Код
Програмираћемо ЕСП32 користећи Ардуино ИДЕ, па се уверите да имате инсталиран додатак ЕСП32 пре него што наставите: (Ако сте већ урадили овај корак, можете да пређете на следећи корак.)
Инсталирање ЕСП32 додатка у Ардуино ИДЕ
Након инсталирања потребних библиотека, отворите код Пројецт_7_ЕСП32_Релаи_Web_Сервер.ино у ардуино ИДЕ.
Пре него што отпремите код, не заборавите да унесете своје мрежне акредитиве како би се ЕСП могао повезати на вашу локалну мрежу.Демонстрација
Након што извршите неопходне измене, отпремите код у свој ЕСП32. Пренесите референтне кораке кода.
Отворите серијски монитор брзином преноса од 115200 и притисните дугме ЕСП32 ЕН да бисте добили његову ИП адресу. Затим отворите претраживач у вашој локалној мрежи и унесите ЕСП32 ИП адресу да бисте добили приступ web сервер.
Отворите серијски монитор брзином преноса од 115200 и притисните дугме ЕСП32 ЕН да бисте добили његову ИП адресу. Затим отворите претраживач у вашој локалној мрежи и унесите ЕСП32 ИП адресу да бисте добили приступ web сервер.Напомена: Ваш претраживач и ЕСП32 треба да буду повезани на исту ЛАН мрежу.
Требало би да добијете нешто као што следи са два дугмета колико је број релеја који сте дефинисали у свом коду.Сада можете да користите дугмад да контролишете своје релеје помоћу паметног телефона.
Пројецт_8_Оутпут_Стате_Синцхронизатион_ Web_Сервер
Овај пројекат показује како да контролишете ЕСП32 или ЕСП8266 излазе користећи а web сервер и физичко дугме истовремено. Стање излаза се ажурира на web страницу да ли се мења преко физичког дугмета или web сервер.
Пројецт Оверview
Хајде да на брзину погледамо како пројекат функционише.ЕСП32 или ЕСП8266 угошћује а web сервер који вам омогућава да контролишете стање излаза;
- Тренутно стање излаза је приказано на web сервер;
- ЕСП је такође повезан са физичким тастером који контролише исти излаз;
- Ако промените стање излаза помоћу физичког дугмета, његово тренутно стање се такође ажурира на web сервер.
Укратко, овај пројекат вам омогућава да контролишете исти излаз користећи а web сервер и дугме истовремено. Кад год се промени стање излаза, web сервер је ажуриран.
Партс Рекуиред
Ево листе делова који су вам потребни за изградњу кола:
- ЕСП32 ДЕВКИТ В1 плоча
- 5 мм ЛЕД
- 220 Охм отпорник
- Тастер
- 10к Охм отпорник
- Бреадбоард
- Јумпер жице
ШематскиИнсталирање библиотеке за ЕСП32
Да изградим ово web сервер, користимо ЕСПАсинцWebСерверска библиотека и АсинцТЦП библиотека. (Ако сте већ урадили овај корак, можете да пређете на следећи корак.)
Инсталирање ЕСПАсинцWebСервер библиотека
Пратите следеће кораке да бисте инсталирали ЕСПАсинцWebСервер библиотека:
- Кликните овде да преузмете ЕСПАсинцWebСервер библиотека. Требао си
.зип фасциклу у фасцикли Преузимања - Распакујте фасциклу .зип и требало би да добијете ЕСПАсинцWebСервер-мастер фолдер
- Преименујте своју фасциклу из ЕСПАсинцWebСервер-мастер за ЕСПАсинцWebСервер
- Померите ЕСПАсинцWebСервер фасцикла у фасциклу Ардуино ИДЕ инсталационих библиотека
Алтернативно, у вашем Ардуино ИДЕ, можете ићи на Скетцх > Инцлуде
Библиотека > Додај .ЗИП библиотеку... и изаберите библиотеку коју сте управо преузели.
Инсталирање АсинцТЦП библиотеке за ЕСП32
Тхе ЕСПАсинцWebСерверска библиотека захтева АсинцТЦП библиотеку да би радила. Пратите следеће кораке да бисте инсталирали ту библиотеку:
- Кликните овде да преузмете АсинцТЦП библиотеку. Требало би да имате .зип фасциклу у фасцикли Преузимања
- Распакујте фасциклу .зип и требало би да добијете АсинцТЦП-мастер фасциклу
- Преименујте своју фасциклу из АсинцТЦП-мастер у АсинцТЦП
- Преместите фасциклу АсинцТЦП у фасциклу Ардуино ИДЕ инсталационих библиотека
- Коначно, поново отворите свој Ардуино ИДЕ
Алтернативно, у вашем Ардуино ИДЕ, можете ићи на Скетцх > Инцлуде
Библиотека > Додај .ЗИП библиотеку... и изаберите библиотеку коју сте управо преузели.
Код
Програмираћемо ЕСП32 користећи Ардуино ИДЕ, па се уверите да имате инсталиран додатак ЕСП32 пре него што наставите: (Ако сте већ урадили овај корак, можете да пређете на следећи корак.)
Инсталирање ЕСП32 додатка у Ардуино ИДЕ
Након инсталирања потребних библиотека, отворите код
Пројецт_8_Оутпут_Стате_Синцхронизатион_Web_Сервер.ино у ардуино ИДЕ.
Пре него што отпремите код, не заборавите да унесете своје мрежне акредитиве како би се ЕСП могао повезати на вашу локалну мрежу.
Како Кодекс функционише
Стање дугмета и стање излаза
Променљива ледСтате држи стање ЛЕД излаза. Подразумевано, када је web сервер се покреће, НИЗАК је.
БуттонСтате и ластБуттонСтате се користе за откривање да ли је дугме притиснуто или не.Дугме (web сервер)
Нисмо укључили ХТМЛ да бисмо направили дугме на променљивој индек_хтмл.
То је зато што желимо да можемо да га променимо у зависности од тренутног ЛЕД стања које се такође може променити помоћу дугмета.
Дакле, направили смо чувар места за дугме %БУТТОНПЛАЦЕХОЛДЕР% који ће бити замењен ХТМЛ текстом да бисмо касније направили дугме у коду (ово се ради у функцији процесора()).процесор()
Процесор() функција замењује све чуваре места у ХТМЛ тексту стварним вредностима. Прво, проверава да ли ХТМЛ текст садржи било шта
чувари места %БУТТОНПЛАЦЕХОЛДЕР%.Затим позовите функцију тхеоутпутСтате() која враћа тренутно стање излаза. Чувамо га у променљивој оутпутСтатеВалуе.
Након тога, користите ту вредност да креирате ХТМЛ текст за приказ дугмета у правом стању:
ХТТП ГЕТ захтев за промену стања излаза (ЈаваСцрипт)
Када притиснете дугме, позива се функција тхетогглеЦхецкбок(). Ова функција ће направити захтев на различитим URLс да бисте укључили или искључили ЛЕД.Да би укључио ЛЕД, поставља захтев на /упдате?стате=1 URL:
У супротном, поставља захтев на /упдате?стате=0 URL.
ХТТП ГЕТ захтев за ажурирање стања (ЈаваСцрипт)
Да би се стање излаза ажурирало на web сервер, позивамо следећу функцију која прави нови захтев на /стате URL сваке секунде.Хандле Рекуестс
Затим, морамо да решимо шта се дешава када ЕСП32 или ЕСП8266 прими захтеве за те URLs.
Када се прими захтев на роот /URL, шаљемо ХТМЛ страницу као и процесор.Следећи редови проверавају да ли сте примили захтев на /упдате?стате=1 или /упдате?стате=0 URL и у складу са тим мења ЛЕДСтате.
Када се прими захтев на /стате URL, шаљемо тренутно стање излаза:
петља()
У лооп() одбијамо дугме и укључујемо или искључујемо ЛЕД у зависности од вредности ЛЕДСтате променљива.Демонстрација
Отпремите код на вашу ЕСП32 плочу. Отпремите референтне кораке кода.
Затим отворите серијски монитор са брзином преноса од 115200. Притисните дугме ЕН/РСТ на плочи да бисте добили ИП адресу.Отворите претраживач на вашој локалној мрежи и унесите ЕСП ИП адресу. Требало би да имате приступ web сервер као што је приказано испод.
Напомена: Ваш претраживач и ЕСП32 треба да буду повезани на исту ЛАН мрежу.Можете пребацити дугме на web сервер да укључи ЛЕД.
Такође можете контролисати исти ЛЕД помоћу физичког дугмета. Његово стање ће се увек аутоматски ажурирати на web сервер.
Пројекат 9 ЕСП32 ДХТ11 Web Сервер
У овом пројекту ћете научити како да направите асинхрони ЕСП32 web сервер са ДХТ11 који приказује температуру и влажност користећи Ардуино ИДЕ.
Предуслови
Тхе web сервер ћемо аутоматски ажурирати очитавања без потребе за освежавањем web страница.
Са овим пројектом ћете научити:
- Како очитати температуру и влажност са ДХТ сензора;
- Изградите асинхрони web сервер који користи ЕСПАсинцWebСервер библиотека;
- Аутоматски ажурирајте очитавања сензора без потребе за освежавањем web страница.
Асинхрони Web Сервер
За изградњу web сервер ћемо користити ЕСПАсинцWebСервер библиотека који пружа једноставан начин за изградњу асинхроног web сервер. Изградња асинхроног web сервер има неколико адванtagкао што је поменуто на ГитХуб страници библиотеке, као што су:
- „Руковање више од једне везе у исто време“;
- „Када пошаљете одговор, одмах сте спремни за руковање другим везама док се сервер брине о слању одговора у позадини“;
- „Једноставна машина за обраду шаблона за руковање шаблонима“;
Партс Рекуиред
Да бисте довршили овај водич, потребни су вам следећи делови:
- ЕСП32 развојна плоча
- ДХТ11 Модуле
- Бреадбоард
- Јумпер жице
ШематскиИнсталирање библиотека
За овај пројекат морате да инсталирате неколико библиотека:
- Тхе ДХТ анд тхе Адафруит Унифиед Сенсор Библиотеке драјвера за читање са ДХТ сензора.
- ЕСПАсинцWebСервер и Асинц ТЦП библиотеке за изградњу асинхроне web сервер.
Пратите следећа упутства да бисте инсталирали те библиотеке:
Инсталирање библиотеке ДХТ сензора
Да бисте читали са ДХТ сензора користећи Ардуино ИДЕ, морате да инсталирате ДХТ библиотека сензора. Пратите следеће кораке да бисте инсталирали библиотеку.
- Кликните овде да преузмете библиотеку ДХТ сензора. Требало би да имате .зип фасциклу у фасцикли Преузимања
- Распакујте фасциклу .зип и требало би да добијете ДХТ-сенсор-либрари-мастер фолдер
- Преименујте своју фасциклу из ДХТ-сенсор-либрари-мастер у ДХТ_сенсор
- Преместите фасциклу ДХТ_сенсор у фасциклу Ардуино ИДЕ инсталационих библиотека
- Коначно, поново отворите свој Ардуино ИДЕ
Инсталирање управљачког програма Адафруит Унифиед Сенсор
Такође морате да инсталирате Библиотека Адафруит Унифиед Сенсор Дривер за рад са ДХТ сензором. Пратите следеће кораке да бисте инсталирали библиотеку.
- Кликните овде да преузмете библиотеку Адафруит Унифиед Сенсор. Требало би да имате .зип фасциклу у фасцикли Преузимања
- Распакујте фасциклу .зип и требало би да добијете Адафруит_сенсор-мастер фасциклу
- Преименујте своју фасциклу из Адафруит_сенсор-мастер у Адафруит_сенсор
- Преместите фасциклу Адафруит_сенсор у фасциклу Ардуино ИДЕ инсталационих библиотека
- Коначно, поново отворите свој Ардуино ИДЕ
Инсталирање ЕСПАсинцWebСервер библиотека
Пратите следеће кораке да бисте инсталирали ЕСПАсинцWebСервер библиотека:
- Кликните овде да преузмете ЕСПАсинцWebСервер библиотека. Требао си
.зип фасциклу у фасцикли Преузимања - Распакујте фасциклу .зип и требало би
набавите ЕСПАсинцWebСервер-мастер фолдер - Преименујте своју фасциклу из ЕСПАсинцWebСервер-мастер за ЕСПАсинцWebСервер
- Померите ЕСПАсинцWebСервер фасцикла у фасциклу Ардуино ИДЕ инсталационих библиотека
Инсталирање Асинц ТЦП библиотеке за ЕСП32
Тхе ЕСПАсинцWebСервер библиотека захтева АсинцТЦП библиотека да ради. Пратите следеће кораке да бисте инсталирали ту библиотеку:
- Кликните овде да преузмете АсинцТЦП библиотеку. Требало би да имате .зип фасциклу у фасцикли Преузимања
- Распакујте фасциклу .зип и требало би да добијете АсинцТЦП-мастер фасциклу
- Преименујте своју фасциклу из АсинцТЦП-мастер у АсинцТЦП
- Преместите фасциклу АсинцТЦП у фасциклу Ардуино ИДЕ инсталационих библиотека
- Коначно, поново отворите свој Ардуино ИДЕ
Код
Програмираћемо ЕСП32 користећи Ардуино ИДЕ, па се уверите да имате инсталиран додатак ЕСП32 пре него што наставите: (Ако сте већ урадили овај корак, можете да пређете на следећи корак.)
Инсталирање ЕСП32 додатка у Ардуино ИДЕ
Након инсталирања потребних библиотека, отворите код
Пројецт_9_ЕСП32_ДХТ11_Web_Сервер.ино у ардуино ИДЕ.
Пре него што отпремите код, не заборавите да унесете своје мрежне акредитиве како би се ЕСП могао повезати на вашу локалну мрежу.Како Кодекс функционише
У следећим параграфима ћемо објаснити како код функционише. Наставите да читате ако желите да сазнате више или пређите на одељак Демонстрација да бисте видели коначни резултат.
Увоз библиотека
Прво увезите потребне библиотеке. ВиФи, ЕСПАсинцWebСервер и ЕСПАсинцТЦП су потребни за изградњу web сервер. Адафруит_Сенсор и ДХТ библиотеке су потребне за читање са ДХТ11 или ДХТ22 сензора.Дефиниција променљивих
Дефинишите ГПИО на који је ДХТ пин за податке повезан. У овом случају, повезан је на ГПИО 4.Затим изаберите тип ДХТ сензора који користите. У нашем бившемampле, ми користимо ДХТ22. Ако користите други тип, само треба да скинете коментар са сензора и коментаришете све остале.
Инстанцирајте ДХТ објекат са типом и пин-ом које смо раније дефинисали.Креирајте АсинцWebОбјекат сервера на порту 80.
Прочитајте функције температуре и влажности
Направили смо две функције: једну за читање температуре Направили смо две функције: једну за читање температуре (реадДХТТемпературе()) и другу за очитавање влажности (реадДХТХумидити()).Добијање очитавања сензора је једноставно као и коришћење. Добијање очитавања сензора је једноставно као коришћење метода реадТемпературе() и реадХумидити() на дхт објекту.
Такође имамо услов који враћа две цртице (–) у случају да сензор не успе да добије очитавања.
Очитавања се враћају као стринг. Да бисте претворили флоат у стринг, користите функцију Стринг().
Подразумевано, очитавамо температуру у Целзијусовим степенима. Да бисте добили температуру у степенима Фаренхајта, коментаришите температуру у Целзијусима и декоментирајте температуру у Фаренхајту, тако да имате следеће:
Отпремите код
Сада отпремите код на свој ЕСП32. Уверите се да сте изабрали праву плочу и ЦОМ порт. Пренесите референтне кораке кода.
Након отпремања, отворите серијски монитор са брзином преноса од 115200. Притисните дугме за ресетовање ЕСП32. ЕСП32 ИП адреса треба да буде одштампана у серији монитор.Демонстрација
Отворите претраживач и унесите ЕСП32 ИП адресу. Твоје web сервер треба да прикаже најновија очитавања сензора.
Напомена: Ваш претраживач и ЕСП32 треба да буду повезани на исту ЛАН мрежу.
Имајте на уму да се очитавања температуре и влажности аутоматски ажурирају без потребе за освежавањем web страница.
Пројецт_10_ЕСП32_ОЛЕД_Дисплаи
Овај пројекат показује како да користите 0.96 инчни ССД1306 ОЛЕД екран са ЕСП32 користећи Ардуино ИДЕ.
Представљамо ОЛЕД екран од 0.96 инча
Тхе ОЛЕД дисплеј који ћемо користити у овом водичу је модел ССД1306: једнобојни екран од 0.96 инча са 128×64 пиксела као што је приказано на следећој слици.ОЛЕД дисплеју није потребно позадинско осветљење, што резултира веома лепим контрастом у мрачним окружењима. Поред тога, његови пиксели троше енергију само када су укључени, тако да ОЛЕД екран троши мање енергије у поређењу са другим екранима.
Пошто ОЛЕД екран користи И2Ц комуникациони протокол, ожичење је веома једноставно. Можете користити следећу табелу као референцу.
ОЛЕД Пин | ЕСПКСНУМКС |
Вин | 3.3В |
ГНД | ГНД |
СЦЛ | ГПИО 22 |
СДА | ГПИО 21 |
ШематскиИнсталирање ССД1306 ОЛЕД библиотеке – ЕСП32
Постоји неколико доступних библиотека за контролу ОЛЕД екрана помоћу ЕСП32.
У овом водичу користићемо две Адафруит библиотеке: Адафруит_ССД1306 библиотека и Адафруит_ГФКС библиотека.
Пратите следеће кораке да бисте инсталирали те библиотеке.
- Отворите свој Ардуино ИДЕ и идите на Скетцх > Инцлуде Либрари > Манаге Либрариес. Управник библиотеке би требало да се отвори.
- Унесите „ССД1306“ у поље за претрагу и инсталирајте библиотеку ССД1306 из Адафруита.
- Након што инсталирате ССД1306 библиотеку из Адафруита, укуцајте „ГФКС“ у поље за претрагу и инсталирајте библиотеку.
- Након инсталирања библиотека, поново покрените Ардуино ИДЕ.
Код
Након инсталирања потребних библиотека, отворите Пројецт_10_ЕСП32_ОЛЕД_Дисплаи.ино у ардуино ИДЕ. код
Програмираћемо ЕСП32 користећи Ардуино ИДЕ, па се уверите да имате инсталиран додатак ЕСП32 пре него што наставите: (Ако сте већ урадили овај корак, можете да пређете на следећи корак.)
Инсталирање ЕСП32 додатка у Ардуино ИДЕКако Кодекс функционише
Увоз библиотека
Прво морате да увезете потребне библиотеке. Библиотека Вире за коришћење И2Ц и Адафруит библиотеке за писање на екран: Адафруит_ГФКС и Адафруит_ССД1306.Иницијализујте ОЛЕД екран
Затим дефинишете своју ОЛЕД ширину и висину. У овом екampДакле, користимо ОЛЕД екран од 128×64. Ако користите друге величине, то можете да промените у променљивим СЦРЕЕН_ВИДТХ и СЦРЕЕН_ХЕИГХТ.Затим иницијализујте објекат за приказ са ширином и висином дефинисаним раније помоћу И2Ц комуникационог протокола (&Вире).
Параметар (-1) значи да ваш ОЛЕД екран нема пин за РЕСЕТ. Ако ваш ОЛЕД екран има пин за РЕСЕТ, требало би да буде повезан на ГПИО. У том случају, требало би да проследите ГПИО број као параметар.
У сетуп(), иницијализујте серијски монитор брзином преноса од 115200 у сврху отклањања грешака.Иницијализујте ОЛЕД екран методом бегин() на следећи начин:
Овај исечак такође штампа поруку на серијском монитору, у случају да не можемо да се повежемо са екраном.
У случају да користите други ОЛЕД екран, можда ћете морати да промените ОЛЕД адресу. У нашем случају, адреса је 0к3Ц.
Након иницијализације екрана, додајте одлагање од две секунде, тако да ОЛЕД има довољно времена да се иницијализује пре писања текста:
Јасан екран, подесите величину фонта, боју и напишите текст
Након иницијализације приказа, обришите бафер приказа помоћу методе цлеарДисплаи():
Пре писања текста, потребно је да подесите величину текста, боју и где ће се текст приказати у ОЛЕД-у.
Подесите величину фонта помоћу методе сетТектСизе():Подесите боју фонта помоћу методе сетТектЦолор():
ВХИТЕ поставља бели фонт и црну позадину.
Дефинишите позицију на којој текст почиње помоћу методе сетЦурсор(к,и). У овом случају, постављамо текст да почиње на (0,0) координатама – у горњем левом углу.Коначно, можете послати текст на екран користећи принтлн() метод, на следећи начин
Затим морате позвати метод дисплаи() да бисте заправо приказали текст на екрану.
Адафруит ОЛЕД библиотека пружа корисне методе за лако померање текста.
- стартсцроллригхт(0к00, 0к0Ф): померање текста с лева на десно
- стартсцролллефт(0к00, 0к0Ф): померање текста с десна на лево
- стартсцроллдиагригхт(0к00, 0к07): померање текста од левог доњег угла до десног горњег угла стартсцроллдиаглефт(0к00, 0к07): померање текста од десног доњег угла до левог горњег угла
Отпремите код
Сада отпремите код у свој ЕСП32. Пренесите референтне кораке кода.
Након учитавања кода, ОЛЕД ће приказати померајући текст.
Документи / Ресурси
![]() |
ЛАФВИН ЕСП32 Основни почетни комплет [пдф] Упутство за употребу ЕСП32 Основни почетни комплет, ЕСП32, Основни почетни комплет, Почетни комплет |