Мазмуну:
- 1 -кадам: Негизги өзгөчөлүктөр
- 2 -кадам: ESP32, ESP8266 жана Arduino R3 ортосундагы салыштыруу
- 3 -кадам: ESP32 түрлөрү
- 4-кадам: WiFi NodeMCU-32S ESP-WROOM-32
- 5 -кадам: Arduino IDEди конфигурациялоо (Windows)
- 6 -кадам: WiFi издөө
- 7 -кадам: Код
- 8 -кадам: Орнотуу
- 9 -кадам: Loop
- 10 -кадам: Файлдар
Video: ESP32ге киришүү: 10 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Бул макалада биз ESP8266дын агасы деп эсептеген ESP32 жөнүндө сөз кылмакчыбыз. Мага бул микроконтроллер абдан жагат, анткени анда WiFi бар. ESP бар болгонго чейин, сизде бир идея бар, эгер сизге WiFi болушу үчүн Arduino керек болсо, Wifi адаптерин сатып алуу үчүн 200 доллардан 300 долларга чейин сарптоого туура келет. Тармак кабелинин адаптери анча кымбат эмес, бирок WiFi үчүн дайыма кымбат болгон жана дагы эле кымбат. Бирок, бактыга жараша, Espressif Systems ESPти ишке киргизип, жашообузду чечүүдө.
Мага USB порту бар ушул форматтагы ESP32 жагат. Бул NodeMCU схемасын иштетүү оңой, анткени ал эч кандай электроникага муктаж эмес. Жөн эле кабелди туташтырып, аппаратты кубаттап, аны программалаңыз. Бул жөн эле Arduino сыяктуу иштейт.
Кандай болбосун, бүгүн биз ESP32нин жалпы аспектилери жана Arduino IDEди ушул типтеги башка түзмөктөрдү программалоо үчүн кантип конфигурациялоо жөнүндө сүйлөшөбүз. Ошондой эле биз тармактарды издеп, кайсынысы күчтүү экенин көрсөтө турган программа түзөбүз.
1 -кадам: Негизги өзгөчөлүктөр
Камтылган WiFi менен чип: стандарттык 802.11 B / G / N, 2,4-2,5 ГГц диапазонунда иштейт
Иштөө режимдери: кардар, кирүү чекити, станция + кирүү чекити
Эки ядролук микропроцессор Tensilica Xtensa 32-бит LX6
80 МГцтен 240 МГцке чейин жөнгө салынуучу саат
Иштөө чыңалуусу: 3.3 VDC
Бул 512KB SRAMге ээ
448KB ROM өзгөчөлүктөрү
Тышкы флэш эси 32 Мб (4 мегабайт)
Пинге максималдуу ток 12мА (6мА колдонуу сунушталат)
Анда 36 GPIO бар
PWM / I2C жана SPI функциялары бар GPIO
Бул Bluetooth v4.2 BR / EDR жана BLE (Bluetooth Low Energy)
2 -кадам: ESP32, ESP8266 жана Arduino R3 ортосундагы салыштыруу
3 -кадам: ESP32 түрлөрү
ESP32 бир туугандары менен төрөлгөн. Бүгүн мен сол тараптан биринчисин колдонуп жатам, Espressif, бирок камтылган Oled дисплейин камтыган бир нече бренддер жана түрлөрү бар. Бирок, айырмачылыктар баары бир чипте: Tensilica LX6, 2 Core.
4-кадам: WiFi NodeMCU-32S ESP-WROOM-32
Бул биз чогултууда колдонуп жаткан ESP диаграммасы. Бул көп кайрылуу жана күчкө ээ болгон чип. Алар санариптик аналог, аналогдук санарип катары иштөөнү каалашабы же жокпу, эшикти санарип катары иштетсе да, сиз тандаган бир нече пинтер.
5 -кадам: Arduino IDEди конфигурациялоо (Windows)
Бул жерде Arduino IDEди кантип конфигурациялоо керек, ошондуктан биз ESP32 үчүн чогулта алабыз:
1. Файлдарды шилтеме аркылуу жүктөп алыңыз:
2. Файлды ачып, мазмунун төмөнкү жолго көчүрүңүз:
C: / Колдонуучулар / [YOUR_USER_NAME] / Документтер / Arduino / аппараттык / espressif / esp32
Эскертүү: "espressif" жана "esp32" каталогдору жок болсо, аларды кадимкидей түзүңүз.
3. Каталогду ачыңыз
C: / Колдонуучулар / [YOUR_USER_NAME] / Документтер / Arduino / аппараттык / espressif / esp32 / куралдар
"Get.exe" файлын иштетиңиз.
4. "get.exe" аяктагандан кийин, ESP32'ди сайыңыз, драйверлердин орнотулушун күтүңүз (же кол менен орнотуңуз).
Даяр, эми жөн эле "куралдар >> тактасынан" ESP32 тактасын тандап, кодуңузду түзүңүз.
6 -кадам: WiFi издөө
Бул жерде ESP-32ге жакын жеткиликтүү WiFi түйүндөрүн кантип издөөнүн мисалы, жана алардын ар биринин сигналынын күчү. Ар бир сканерлөө менен, биз дагы кайсы тармак сигналдын күчтүүрөөк экенин билебиз.
7 -кадам: Код
Биринчиден, "WiFi.h" китепканасын киргизели, биздин түзмөктүн тармак картасы менен иштөөгө уруксат берүү керек болот.
#кош "WiFi.h"
Бул жерде тармактын SSID (аты) жана сигналдын күчүн сактоо үчүн колдонула турган эки өзгөрмө бар.
String networkSSID = ""; int forceSignal = -9999;
8 -кадам: Орнотуу
Setup () функциясында, биз түзмөгүбүздүн WiFi жүрүш режимин аныктайбыз. Бул учурда, максат жеткиликтүү тармактарды издөө болгондуктан, биз түзмөгүбүздү "станция" катары иштей турган кылып конфигурациялайбыз.
void setup () {// Serial Monitor Serial.begin (115200) кирүү үчүн Сериалды инициализациялоо;
// WiFi режимин WiFi.mode (WIFI_STA) катары конфигурациялоо; // WIFI_STA - станция режимин көрсөтүүчү туруктуу
// кирүү чекитинен ажыратуу, эгер буга чейин WiFi кошулган болсо.disconnect (); кечиктирүү (100);
// Serial.println ("Орнотуу бүттү");}
9 -кадам: Loop
Цикл () функциясында биз жеткиликтүү тармактарды издейбиз, андан кийин табылган тармактарда журналды басып чыгарабыз. Бул тармактардын ар бири үчүн биз эң жогорку сигналдык күчкө ээ болгон тармакты табуу үчүн салыштыруу жасайбыз.
void loop () {// Serial.println ("скандоону баштоо"); // жеткиликтүү тармактарды сканерлөөнү аткарат
int n = WiFi.scanNetworks ();
Serial.println ("Скандоо аткарылды");
// эгер сиз (n == 0) {Serial.println ("Тармак табылган жок") кандайдыр бир тармакты тапканыңызды текшериңиз; } else {networkSSID = ""; forceSignal = -9999; Serial.print (n); Serial.println ("тармактар табылды / n"); for (int i = 0; i <n; ++ i) {// Serial.print ("SSID:") табылган тармактардын ар бирин сериялык мониторго басып чыгаруу; Serial.println (WiFi. SSID (i)); // тармактын аталышы (ssid) Serial.print ("SIGNAL:"); Serial.print (WiFi. RSSI (i)); // сигналдын күчү Serial.print ("\ t / tCHANNEL:"); Serial.print ((int) WiFi.channel (i)); Serial.print ("\ t / tMAC:"); Serial.print (WiFi. BSSIDstr (i)); Serial.println ("\ n / n"); if (abs (WiFi. RSSI (i)) <abs (forceSignal)) {forceSignal = WiFi. RSSI (i); networkSSID = WiFi. SSID (i); Serial.print ("ЭҢ МЫКТЫ СИГНАЛ ТАБЫЛГАН ЖЕЛИ: ("); Serial.print (networkSSID); Serial.print (") - SIGNAL: ("); Serial.print (forceSignal); Serial.println (")"); } кечиктирүү (10); }} Serial.println ("\ n ----------------------------------------- ------------------------------------------- / n ");
// 5 секунддук интервал жаңы сканерлөөнү кечиктирүү үчүн (5000); }
"Эгерде (abs (WiFi. RSSI (i))"
Белгилей кетчү нерсе, биз abs () колдонобуз, бул функция абсолюттук маанини (б.а. терс эмес) алат. Биздин учурда биз муну салыштыруунун эң кичине маанисин табуу үчүн жасадык, анткени сигналдын интенсивдүүлүгү терс сан катары берилет жана нөлгө жакын болгон сайын сигнал жакшы болот.
10 -кадам: Файлдар
Менин бардык файлдарымды www.fernandok.com сайтынан жүктөп алыңыз
Сунушталууда:
Ковид коопсуздук туулгасы 1 -бөлүк: Tinkercad микросхемаларына киришүү !: 20 кадам (сүрөттөр менен)
Covid Safety Helmet 1 -бөлүк: Tinkercad микросхемаларына киришүү !: Саламатсызбы, дос! Бул эки бөлүктөн биз Tinkercad схемаларын кантип колдонууну үйрөнөбүз - микросхемалардын кантип иштээрин билүү үчүн кызыктуу, кубаттуу жана билим берүүчү курал! Үйрөнүүнүн эң жакшы жолдорунун бири - бул жасоо. Ошентип, биз адегенде өзүбүздүн жеке долбоорубузду иштеп чыгабыз: th
IR микросхемаларына киришүү: 8 кадам (сүрөттөр менен)
IR схемаларына киришүү: IR - бул татаал технология, бирок аны менен иштөө өтө жөнөкөй. Светодиоддордон же ЛАЗЕРЛЕРДЕН айырмаланып, инфракызыл түстү адамдын көзү менен көрүүгө болбойт. Бул Нускамада мен инфракызылдын 3 түрдүү схема аркылуу колдонулушун көрсөтөм
Оюндар !!! - Киришүү: 5 кадам
Оюндар !!! - Киришүү: Саламатсызбы! Мен силерге code.orgдо үч башка оюнду кантип түзүүнү үйрөтөм. Ар бир оюн үйрөткүчүнүн астында мен видеону көрүп жатканда ремикс кылып, колдоно турган шаблон коём. Мен сизди кызыктуу өткөрөт деп ишенем !! Эгер балдар менин оюндарымды жөн эле көргүсү келсе
GarageBandге киришүү: 9 кадам
GarageBandге киришүү: GarageBand - бул музыканы киргизе турган платформа. Сиз бул платформада дээрлик бардык нерсени жасай аласыз, бул сиздин кыялыңыздагы музыканы жаратуубу же сизге жаккан музыканы кайталообу. Бирок бул эки жагынан тең оңой эмес. Ошон үчүн мен бул жердемин
ST7920 128X64 LCD дисплейи ESP32ге: 3 кадам
ST7920 128X64 LCD дисплейи ESP32ге: Бул Instructables анын сапаты же башка нерселери үчүн байгелерди утуп алары анык эмес! Бул долбоорду баштоодон мурун мен интернеттен карап, бул LCDди ESP32 менен туташтыруу жөнүндө эч нерсе тапкан жокмун, ошондо ийгиликке жеткенде, документтештирилиши керек