ESP32 बेसिक स्टार्टर
किट
पॅकिंग यादी
ESP32 परिचय
ESP32 मध्ये नवीन आहात का? येथून सुरुवात करा! ESP32 ही Espressif ने विकसित केलेल्या कमी किमतीच्या आणि कमी पॉवर असलेल्या सिस्टम ऑन अ चिप (SoC) मायक्रोकंट्रोलर्सची मालिका आहे ज्यामध्ये वाय-फाय आणि ब्लूटूथ वायरलेस क्षमता आणि ड्युअल-कोर प्रोसेसर समाविष्ट आहे. जर तुम्हाला ESP8266 ची माहिती असेल, तर ESP32 हा त्याचा उत्तराधिकारी आहे, ज्यामध्ये अनेक नवीन वैशिष्ट्ये आहेत.ESP32 तपशील
जर तुम्हाला थोडे अधिक तांत्रिक आणि विशिष्ट माहिती हवी असेल, तर तुम्ही ESP32 च्या खालील तपशीलवार वैशिष्ट्यांवर एक नजर टाकू शकता (स्रोत:). http://esp32.net/)—अधिक माहितीसाठी, डेटाशीट तपासा):
- वायरलेस कनेक्टिव्हिटी वायफाय: HT40 सह 150.0 Mbps डेटा रेट
- ब्लूटूथ: BLE (ब्लूटूथ लो एनर्जी) आणि ब्लूटूथ क्लासिक
- प्रोसेसर: टेन्सिलिका एक्सटेन्सा ड्युअल-कोर ३२-बिट LX6 मायक्रोप्रोसेसर, १६० किंवा २४० मेगाहर्ट्झवर चालणारा
- मेमरी:
- रॉम: ४४८ केबी (बूटिंग आणि कोर फंक्शन्ससाठी)
- एसआरएएम: ५२० केबी (डेटा आणि सूचनांसाठी)
- आरटीसी फास एसआरएएम: ८ केबी (डीप-स्लीप मोडमधून आरटीसी बूट दरम्यान डेटा स्टोरेज आणि मुख्य सीपीयूसाठी)
- आरटीसी स्लो एसआरएएम: ८ केबी (डीप-स्लीप मोड दरम्यान को-प्रोसेसर अॅक्सेसिंगसाठी) ईफ्यूज: १ केबीआयटी (ज्यापैकी २५६ बिट्स सिस्टमसाठी वापरले जातात (एमएसी अॅड्रेस आणि चिप कॉन्फिगरेशन) आणि उर्वरित ७६८ बिट्स फ्लॅश-एन्क्रिप्शन आणि चिप-आयडीसह ग्राहक अनुप्रयोगांसाठी राखीव आहेत)
एम्बेडेड फ्लॅश: ESP32-D2WD आणि ESP32-PICO-D4 वर IO16, IO17, SD_CMD, SD_CLK, SD_DATA_0 आणि SD_DATA_1 द्वारे अंतर्गत कनेक्ट केलेला फ्लॅश.
- ० MiB (ESP32-D0WDQ6, ESP32-D0WD, आणि ESP32-S0WD चिप्स)
- २ MiB (ESP32-D2WD चिप)
- ४ MiB (ESP32-PICO-D4 SiP मॉड्यूल)
कमी पॉवर: तुम्ही अजूनही ADC रूपांतरणे वापरू शकता याची खात्री करते, उदा.ampले, गाढ झोपेच्या वेळी.
परिधीय इनपुट/आउटपुट:
- कॅपेसिटिव्ह टचसह डीएमएसह परिधीय इंटरफेस
- एडीसी (अॅनालॉग-टू-डिजिटल कन्व्हर्टर)
- डीएसी (डिजिटल-टू-अॅनालॉग कनव्हर्टर)
- I²C (आंतर-एकात्मिक सर्किट)
- UART (युनिव्हर्सल असिंक्रोनस रिसीव्हर/ट्रान्समीटर)
- SPI (सिरियल पेरिफेरल इंटरफेस)
- I²S (इंटिग्रेटेड इंटरचिप साउंड)
- RMII (कमी मीडिया-स्वतंत्र इंटरफेस)
- पीडब्ल्यूएम (पल्स-विड्थ मॉड्युलेशन)
सुरक्षा: AES आणि SSL/TLS साठी हार्डवेअर अॅक्सिलरेटर
ESP32 डेव्हलपमेंट बोर्ड
ESP32 म्हणजे बेअर ESP32 चिप. तथापि, “ESP32” हा शब्द ESP32 डेव्हलपमेंट बोर्डसाठी देखील वापरला जातो. ESP32 बेअर चिप्स वापरणे सोपे किंवा व्यावहारिक नाही, विशेषतः शिकताना, चाचणी करताना आणि प्रोटोटाइप करताना. बहुतेक वेळा, तुम्हाला ESP32 डेव्हलपमेंट बोर्ड वापरावासा वाटेल.
आम्ही संदर्भ म्हणून ESP32 DEVKIT V1 बोर्ड वापरणार आहोत. खालील चित्रात ESP32 DEVKIT V1 बोर्ड दाखवला आहे, ज्याची आवृत्ती 30 GPIO पिन आहे.तपशील - ESP32 DEVKIT V1
खालील तक्त्यामध्ये ESP32 DEVKIT V1 DOIT बोर्डची वैशिष्ट्ये आणि तपशीलांचा सारांश दाखवला आहे:
कोरची संख्या | २ (ड्युअल कोर) |
वाय-फाय | २.४ GHz ते १५० Mbits/s पर्यंत |
ब्लूटूथ | BLE (ब्लूटूथ लो एनर्जी) आणि लेगसी ब्लूटूथ |
आर्किटेक्चर | 32 बिट |
घड्याळ वारंवारता | 240 MHz पर्यंत |
रॅम | 512 KB |
पिन | ३० (मॉडेलवर अवलंबून) |
गौण | कॅपेसिटिव्ह टच, एडीसी (अॅनालॉग ते डिजिटल कन्व्हर्टर), डीएसी (डिजिटल ते अॅनालॉग कन्व्हर्टर), १२सी (इंटर-इंटिग्रेटेड सर्किट), यूएआरटी (युनिव्हर्सल असिंक्रोनस रिसीव्हर/ट्रान्समीटर), कॅन २.० (कंट्रोलर एरिया नेटवर्क), एसपीआय (सिरियल पेरिफेरल इंटरफेस), १२एस (इंटिग्रेटेड इंटर-आयसी) ध्वनी), RMII (कमी मीडिया-स्वतंत्र इंटरफेस), PWM (पल्स रुंदी मॉड्युलेशन), आणि बरेच काही. |
अंगभूत बटणे | रीसेट आणि बूट बटणे |
अंगभूत LEDs | GPIO2 शी जोडलेला बिल्ट-इन निळा LED; बोर्ड चालू असल्याचे दर्शविणारा बिल्ट-इन लाल LED |
यूएसबी ते यूएआरटी पूल |
CP2102 |
हे एका मायक्रोयूएसबी इंटरफेससह येते ज्याचा वापर करून तुम्ही कोड अपलोड करण्यासाठी किंवा पॉवर लागू करण्यासाठी बोर्ड तुमच्या संगणकाशी कनेक्ट करू शकता.
ते CP2102 चिप (USB ते UART) वापरून तुमच्या संगणकाशी सिरीयल इंटरफेस वापरून COM पोर्टद्वारे संवाद साधते. आणखी एक लोकप्रिय चिप म्हणजे CH340. तुमच्या बोर्डवर USB ते UART चिप कन्व्हर्टर काय आहे ते तपासा कारण तुम्हाला आवश्यक असलेले ड्रायव्हर्स इन्स्टॉल करावे लागतील जेणेकरून तुमचा संगणक बोर्डशी संवाद साधू शकेल (याबद्दल अधिक माहिती या मार्गदर्शकामध्ये नंतर).
या बोर्डमध्ये बोर्ड रीस्टार्ट करण्यासाठी RESET बटण (EN लेबल केले जाऊ शकते) आणि बोर्ड फ्लॅशिंग मोडमध्ये ठेवण्यासाठी BOOT बटण (कोड प्राप्त करण्यासाठी उपलब्ध) देखील येते. लक्षात ठेवा की काही बोर्डमध्ये BOOT बटण नसू शकते.
यात बिल्ट-इन निळा एलईडी देखील येतो जो GPIO 2 शी अंतर्गत जोडलेला असतो. हा एलईडी काही प्रकारचे व्हिज्युअल फिजिकल आउटपुट देण्यासाठी डीबगिंगसाठी उपयुक्त आहे. बोर्डला पॉवर दिल्यावर एक लाल एलईडी देखील आहे जो उजळतो.ESP32 पिनआउट
ESP32 पेरिफेरल्समध्ये हे समाविष्ट आहे:
- १८ अॅनालॉग-टू-डिजिटल कन्व्हर्टर (ADC) चॅनेल
- ३ एसपीआय इंटरफेस
- 3 UART इंटरफेस
- २ I2C इंटरफेस
- 16 PWM आउटपुट चॅनेल
- २ डिजिटल-टू-अॅनालॉग कन्व्हर्टर (DAC)
- २ I2S इंटरफेस
- १० कॅपेसिटिव्ह सेन्सिंग GPIOs
ADC (अॅनालॉग टू डिजिटल कन्व्हर्टर) आणि DAC (डिजिटल टू अॅनालॉग कन्व्हर्टर) वैशिष्ट्ये विशिष्ट स्टॅटिक पिनना नियुक्त केली आहेत. तथापि, तुम्ही UART, I2C, SPI, PWM, इत्यादी कोणते पिन आहेत हे ठरवू शकता - तुम्हाला फक्त त्यांना कोडमध्ये नियुक्त करावे लागेल. ESP32 चिपच्या मल्टीप्लेक्सिंग वैशिष्ट्यामुळे हे शक्य आहे.
जरी तुम्ही सॉफ्टवेअरवर पिन गुणधर्म परिभाषित करू शकता, तरी खालील आकृतीमध्ये दाखवल्याप्रमाणे डिफॉल्टनुसार पिन नियुक्त केले आहेत.याव्यतिरिक्त, विशिष्ट वैशिष्ट्यांसह पिन आहेत जे त्यांना विशिष्ट प्रकल्पासाठी योग्य बनवतात किंवा नाही. खालील तक्त्यामध्ये इनपुट, आउटपुट म्हणून कोणते पिन वापरणे सर्वोत्तम आहे आणि कोणत्या पिनची तुम्हाला काळजी घ्यावी लागेल हे दाखवले आहे.
हिरव्या रंगात हायलाइट केलेले पिन वापरण्यास योग्य आहेत. पिवळ्या रंगात हायलाइट केलेले पिन वापरण्यास योग्य आहेत, परंतु तुम्हाला लक्ष देणे आवश्यक आहे कारण त्यांचे बूट करताना अनपेक्षित वर्तन असू शकते. लाल रंगात हायलाइट केलेले पिन इनपुट किंवा आउटपुट म्हणून वापरण्याची शिफारस केलेली नाही.
जीपी आयओ | इनपुट | आउटपुट | नोट्स |
0 | वर खेचले | OK | बूट करताना PWM सिग्नल आउटपुट करतो, फ्लॅशिंग मोडमध्ये प्रवेश करण्यासाठी कमी असणे आवश्यक आहे |
1 | TX पिन | OK | बूट करताना आउटपुट डीबग करा |
2 | OK | OK | ऑन-बोर्ड LED शी जोडलेले, फ्लॅशिंग मोडमध्ये प्रवेश करण्यासाठी ते तरंगते किंवा कमी सोडले पाहिजे |
3 | OK | आरएक्स पिन | बूट करताना उच्च |
4 | OK | OK | |
5 | OK | OK | बूट करताना PWM सिग्नल आउटपुट करतो, स्ट्रॅपिंग पिन |
12 | OK | OK | उंच ओढल्यास बूट निकामी होतो, स्ट्रॅपिंग पिन |
13 | OK | OK | |
14 | OK | OK | बूट करताना PWM सिग्नल आउटपुट करतो |
15 | OK | OK | बूट करताना PWM सिग्नल आउटपुट करतो, स्ट्रॅपिंग पिन |
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 | फक्त इनपुट |
ESP32 GPIOs आणि त्यांच्या कार्यांचे अधिक तपशीलवार आणि सखोल विश्लेषण वाचत रहा.
फक्त पिन इनपुट करा
GPIOs 34 ते 39 हे GPIs आहेत - फक्त इनपुट पिन. या पिनमध्ये अंतर्गत पुल-अप किंवा पुल-डाउन रेझिस्टर नाहीत. ते आउटपुट म्हणून वापरले जाऊ शकत नाहीत, म्हणून या पिन फक्त इनपुट म्हणून वापरा:
- GPIO 34
- GPIO 35
- GPIO 36
- GPIO 39
ESP-WROOM-32 वर SPI फ्लॅश इंटिग्रेटेड
काही ESP32 डेव्हलपमेंट बोर्डमध्ये GPIO 6 ते GPIO 11 उघडे असतात. तथापि, हे पिन ESP-WROOM-32 चिपवरील एकात्मिक SPI फ्लॅशशी जोडलेले असतात आणि इतर वापरांसाठी त्यांची शिफारस केलेली नाही. म्हणून, तुमच्या प्रोजेक्टमध्ये हे पिन वापरू नका:
- जीपीआयओ ६ (एससीके/सीएलके)
- जीपीआयओ ७ (एसडीओ/एसडी०)
- जीपीआयओ ८ (एसडीआय/एसडी१)
- जीपीआयओ ९ (एसएचडी/एसडी२)
- जीपीआयओ १० (एसडब्ल्यूपी/एसडी३)
- जीपीआयओ ११ (सीएससी/सीएमडी)
कॅपेसिटिव्ह टच GPIOs
ESP32 मध्ये 10 अंतर्गत कॅपेसिटिव्ह टच सेन्सर आहेत. हे मानवी त्वचेसारख्या विद्युत चार्ज असलेल्या कोणत्याही गोष्टीतील फरक ओळखू शकतात. म्हणून ते बोटाने GPIO ला स्पर्श करताना होणारे फरक ओळखू शकतात. हे पिन सहजपणे कॅपेसिटिव्ह पॅडमध्ये एकत्रित केले जाऊ शकतात आणि यांत्रिक बटणे बदलू शकतात. ESP32 ला गाढ झोपेतून जागे करण्यासाठी कॅपेसिटिव्ह टच पिन देखील वापरता येतात. ते अंतर्गत टच सेन्सर या GPIO शी जोडलेले आहेत:
- टी० (जीपीआयओ ४)
- टी० (जीपीआयओ ४)
- टी० (जीपीआयओ ४)
- टी० (जीपीआयओ ४)
- टी० (जीपीआयओ ४)
- टी० (जीपीआयओ ४)
- टी० (जीपीआयओ ४)
- टी० (जीपीआयओ ४)
- टी० (जीपीआयओ ४)
- टी० (जीपीआयओ ४)
डिजिटल कनव्हर्टर करण्यासाठी एनालॉग (एडीसी)
ESP32 मध्ये 18 x 12 बिट्स ADC इनपुट चॅनेल आहेत (तर ESP8266 मध्ये फक्त 1x 10 बिट्स ADC आहेत). हे GPIO आहेत जे ADC आणि संबंधित चॅनेल म्हणून वापरले जाऊ शकतात:
- ADC1_CH0 (GPIO 36)
- ADC1_CH1 (GPIO 37)
- ADC1_CH2 (GPIO 38)
- ADC1_CH3 (GPIO 39)
- ADC1_CH4 (GPIO 32)
- ADC1_CH5 (GPIO 33)
- ADC1_CH6 (GPIO 34)
- ADC1_CH7 (GPIO 35)
- ADC2_CH0 (GPIO 4)
- ADC2_CH1 (GPIO 0)
- ADC2_CH2 (GPIO 2)
- ADC2_CH3 (GPIO 15)
- ADC2_CH4 (GPIO 13)
- ADC2_CH5 (GPIO 12)
- ADC2_CH6 (GPIO 14)
- ADC2_CH7 (GPIO 27)
- ADC2_CH8 (GPIO 25)
- ADC2_CH9 (GPIO 26)
टीप: वाय-फाय वापरताना ADC2 पिन वापरता येत नाहीत. म्हणून, जर तुम्ही वाय-फाय वापरत असाल आणि तुम्हाला ADC2 GPIO कडून मूल्य मिळविण्यात अडचण येत असेल, तर तुम्ही त्याऐवजी ADC1 GPIO वापरण्याचा विचार करू शकता. त्यामुळे तुमची समस्या सुटेल.
ADC इनपुट चॅनेल्सचे रिझोल्यूशन १२-बिट असते. याचा अर्थ असा की तुम्हाला ० ते ४०९५ पर्यंतचे अॅनालॉग रीडिंग मिळू शकते, ज्यामध्ये ० ०V शी आणि ४०९५ ते ३.३V शी जुळते. तुम्ही तुमच्या चॅनेल्सचे रिझोल्यूशन कोड आणि ADC रेंजवर देखील सेट करू शकता.
ESP32 ADC पिनमध्ये रेषीय वर्तन नसते. तुम्हाला कदाचित 0 आणि 0.1V किंवा 3.2 आणि 3.3V मधील फरक ओळखता येणार नाही. ADC पिन वापरताना तुम्हाला हे लक्षात ठेवावे लागेल. तुम्हाला खालील आकृतीमध्ये दाखवल्याप्रमाणे वर्तन मिळेल.डिजिटल ते ॲनालॉग कनव्हर्टर (डीएसी)
डिजिटल सिग्नलना अॅनालॉग व्हॉल्यूममध्ये रूपांतरित करण्यासाठी ESP32 वर 2 x 8 बिट्स DAC चॅनेल आहेत.tagई सिग्नल आउटपुट. हे डीएसी चॅनेल आहेत:
- डीएसी१ (जीपीआयओ२५)
- डीएसी१ (जीपीआयओ२५)
आरटीसी जीपीआयओ
ESP32 वर RTC GPIO सपोर्ट आहे. ESP32 डीप स्लीपमध्ये असताना RTC लो-पॉवर सबसिस्टमला रूट केलेले GPIO वापरले जाऊ शकतात. अल्ट्रा लो असताना डीप स्लीपमधून ESP32 जागे करण्यासाठी हे RTC GPIO वापरले जाऊ शकतात.
पॉवर (ULP) को-प्रोसेसर चालू आहे. खालील GPIOs बाह्य वेक अप स्रोत म्हणून वापरले जाऊ शकतात.
- आरटीसी_जीपीआयओ० (जीपीआयओ३६)
- आरटीसी_जीपीआयओ० (जीपीआयओ३६)
- आरटीसी_जीपीआयओ० (जीपीआयओ३६)
- आरटीसी_जीपीआयओ० (जीपीआयओ३६)
- आरटीसी_जीपीआयओ० (जीपीआयओ३६)
- आरटीसी_जीपीआयओ० (जीपीआयओ३६)
- आरटीसी_जीपीआयओ० (जीपीआयओ३६)
- आरटीसी_जीपीआयओ० (जीपीआयओ३६)
- आरटीसी_जीपीआयओ० (जीपीआयओ३६)
- आरटीसी_जीपीआयओ० (जीपीआयओ३६)
- आरटीसी_जीपीआयओ० (जीपीआयओ३६)
- आरटीसी_जीपीआयओ० (जीपीआयओ३६)
- आरटीसी_जीपीआयओ० (जीपीआयओ३६)
- आरटीसी_जीपीआयओ० (जीपीआयओ३६)
- आरटीसी_जीपीआयओ० (जीपीआयओ३६)
- आरटीसी_जीपीआयओ० (जीपीआयओ३६)
PWM
ESP32 LED PWM कंट्रोलरमध्ये 16 स्वतंत्र चॅनेल आहेत जे वेगवेगळ्या गुणधर्मांसह PWM सिग्नल जनरेट करण्यासाठी कॉन्फिगर केले जाऊ शकतात. आउटपुट म्हणून काम करू शकणारे सर्व पिन PWM पिन म्हणून वापरले जाऊ शकतात (GPIOs 34 ते 39 PWM जनरेट करू शकत नाहीत).
PWM सिग्नल सेट करण्यासाठी, तुम्हाला कोडमध्ये हे पॅरामीटर्स परिभाषित करावे लागतील:
- सिग्नलची वारंवारता;
- कर्तव्य चक्र;
- पीडब्ल्यूएम चॅनेल;
- GPIO जिथे तुम्हाला सिग्नल आउटपुट करायचा आहे.
I2C
ESP32 मध्ये दोन I2C चॅनेल आहेत आणि कोणताही पिन SDA किंवा SCL म्हणून सेट केला जाऊ शकतो. Arduino IDE सह ESP32 वापरताना, डीफॉल्ट I2C पिन आहेत:
- GPIO 21 (SDA)
- GPIO 22 (SCL)
जर तुम्हाला वायर लायब्ररी वापरताना इतर पिन वापरायच्या असतील तर तुम्हाला फक्त कॉल करावा लागेल:
वायर.बिगिन(एसडीए, एससीएल);
SPI
डीफॉल्टनुसार, SPI साठी पिन मॅपिंग असे आहे:
SPI | मोसी | मिसो | सीएलके | CS |
VSPI | GPIO 23 | GPIO 19 | GPIO 18 | GPIO 5 |
HSPI | GPIO 13 | GPIO 12 | GPIO 14 | GPIO 15 |
व्यत्यय
सर्व GPIOs इंटरप्ट म्हणून कॉन्फिगर केले जाऊ शकतात.
स्ट्रॅपिंग पिन
ESP32 चिपमध्ये खालील स्ट्रॅपिंग पिन आहेत:
- GPIO 0 (बूट मोडमध्ये प्रवेश करण्यासाठी कमी असणे आवश्यक आहे)
- GPIO 2 (बूट करताना तरंगणारा किंवा कमी असावा)
- GPIO 4
- GPIO 5 (बूट दरम्यान उच्च असणे आवश्यक आहे)
- GPIO 12 (बूट दरम्यान कमी असणे आवश्यक आहे)
- GPIO 15 (बूट दरम्यान उच्च असणे आवश्यक आहे)
हे ESP32 ला बूटलोडर किंवा फ्लॅशिंग मोडमध्ये ठेवण्यासाठी वापरले जातात. बिल्ट-इन USB/सिरीयल असलेल्या बहुतेक डेव्हलपमेंट बोर्डवर, तुम्हाला या पिनच्या स्थितीबद्दल काळजी करण्याची आवश्यकता नाही. बोर्ड पिन फ्लॅशिंग किंवा बूट मोडसाठी योग्य स्थितीत ठेवतो. ESP32 बूट मोड निवडीबद्दल अधिक माहिती येथे मिळू शकते.
तथापि, जर तुमच्याकडे त्या पिनशी पेरिफेरल्स जोडलेले असतील, तर तुम्हाला नवीन कोड अपलोड करण्याचा प्रयत्न करताना, नवीन फर्मवेअरसह ESP32 फ्लॅश करताना किंवा बोर्ड रीसेट करताना समस्या येऊ शकतात. जर तुमच्याकडे स्ट्रॅपिंग पिनशी काही पेरिफेरल्स जोडलेले असतील आणि तुम्हाला कोड अपलोड करण्यात किंवा ESP32 फ्लॅश करण्यात समस्या येत असेल, तर कदाचित ते पेरिफेरल्स ESP32 ला योग्य मोडमध्ये प्रवेश करण्यापासून रोखत असल्याने असू शकते. योग्य दिशेने मार्गदर्शन करण्यासाठी बूट मोड सिलेक्शन दस्तऐवजीकरण वाचा. रीसेट केल्यानंतर, फ्लॅशिंग केल्यानंतर किंवा बूट केल्यानंतर, ते पिन अपेक्षेप्रमाणे काम करतात.
बूट करताना उच्च पिन
काही GPIO त्यांची स्थिती HIGH मध्ये बदलतात किंवा बूट किंवा रीसेट करताना PWM सिग्नल आउटपुट करतात.
याचा अर्थ असा की जर तुमचे आउटपुट या GPIO शी जोडलेले असतील तर ESP32 रीसेट झाल्यावर किंवा बूट झाल्यावर तुम्हाला अनपेक्षित परिणाम मिळू शकतात.
- GPIO 1
- GPIO 3
- GPIO 5
- GPIO 6 ते GPIO 11 (ESP32 इंटिग्रेटेड SPI फ्लॅश मेमरीला जोडलेले - वापरण्याची शिफारस केलेली नाही).
- GPIO 14
- GPIO 15
सक्षम करा (EN)
Enable (EN) हा ३.३V रेग्युलेटरचा Enable पिन आहे. तो वर खेचला आहे, म्हणून ३.३V रेग्युलेटर बंद करण्यासाठी ग्राउंडशी कनेक्ट करा. याचा अर्थ असा की तुम्ही तुमचा ESP32 रीस्टार्ट करण्यासाठी पुशबटनशी कनेक्ट केलेला हा पिन वापरू शकता, उदाहरणार्थampले
GPIO प्रवाह काढला
ESP32 डेटाशीटमधील "शिफारस केलेल्या ऑपरेटिंग अटी" विभागानुसार, प्रति GPIO काढलेला परिपूर्ण कमाल प्रवाह 40mA आहे.
ESP32 बिल्ट-इन हॉल इफेक्ट सेन्सर
ESP32 मध्ये एक बिल्ट-इन हॉल इफेक्ट सेन्सर देखील आहे जो त्याच्या सभोवतालच्या चुंबकीय क्षेत्रात होणारे बदल ओळखतो.
ESP32 Arduino IDE
Arduino IDE मध्ये एक अॅड-ऑन आहे जो तुम्हाला Arduino IDE आणि त्याच्या प्रोग्रामिंग भाषेचा वापर करून ESP32 प्रोग्राम करण्याची परवानगी देतो. या ट्युटोरियलमध्ये आम्ही तुम्हाला Arduino IDE मध्ये ESP32 बोर्ड कसे इंस्टॉल करायचे ते दाखवू, मग तुम्ही Windows, Mac OS X किंवा Linux वापरत असाल.
पूर्व-आवश्यकता: Arduino IDE स्थापित केले आहे
ही स्थापना प्रक्रिया सुरू करण्यापूर्वी, तुमच्या संगणकावर Arduino IDE स्थापित असणे आवश्यक आहे. Arduino IDE चे दोन आवृत्त्या तुम्ही स्थापित करू शकता: आवृत्ती १ आणि आवृत्ती २.
खालील लिंकवर क्लिक करून तुम्ही Arduino IDE डाउनलोड आणि इन्स्टॉल करू शकता: arduino.cc/en/मुख्य/सॉफ्टवेअर
आम्ही कोणत्या Arduino IDE आवृत्तीची शिफारस करू? सध्या, काही आहेत plugins ESP32 साठी (SPIFFS प्रमाणे) Fileसिस्टम अपलोडर प्लगइन) जे अद्याप Arduino 2 वर समर्थित नाहीत. म्हणून, जर तुम्ही भविष्यात SPIFFS प्लगइन वापरण्याचा विचार करत असाल, तर आम्ही लेगसी आवृत्ती 1.8.X स्थापित करण्याची शिफारस करतो. ते शोधण्यासाठी तुम्हाला फक्त Arduino सॉफ्टवेअर पृष्ठावर खाली स्क्रोल करावे लागेल.
Arduino IDE मध्ये ESP32 अॅड-ऑन स्थापित करणे
तुमच्या Arduino IDE मध्ये ESP32 बोर्ड स्थापित करण्यासाठी, पुढील सूचनांचे अनुसरण करा:
- तुमच्या Arduino IDE मध्ये, येथे जा File> प्राधान्ये
- "अतिरिक्त बोर्ड व्यवस्थापक" मध्ये खालील गोष्टी प्रविष्ट करा. URLs" फील्ड:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
नंतर, "ओके" बटणावर क्लिक करा:टीप: जर तुमच्याकडे आधीच ESP8266 बोर्ड असतील तर URL, आपण वेगळे करू शकता URLs खालीलप्रमाणे स्वल्पविरामाने:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json,
http://arduino.esp8266.com/stable/package_esp8266com_index.json
बोर्ड मॅनेजर उघडा. टूल्स > बोर्ड > बोर्ड मॅनेजर वर जा...साठी शोधा ESP32 दाबा आणि “ESP32 by Espressif Systems” साठी इंस्टॉल बटण दाबा:
बस्स. काही सेकंदांनी ते इंस्टॉल होईल.
चाचणी कोड अपलोड करा
तुमच्या संगणकाला ESP32 बोर्ड प्लग करा. तुमचा Arduino IDE उघडा असताना, या चरणांचे अनुसरण करा:
- टूल्स > बोर्ड मेनूमध्ये तुमचा बोर्ड निवडा (माझ्या बाबतीत ते ESP32 DEV मॉड्यूल आहे)
- पोर्ट निवडा (जर तुम्हाला तुमच्या Arduino IDE मध्ये COM पोर्ट दिसत नसेल, तर तुम्हाला CP210x USB ते UART Bridge VCP ड्राइव्हर्स स्थापित करावे लागतील):
- खालील एक्स उघडाampले अंडर File > माजीampकमी > वायफाय
(ESP32) > वायफायस्कॅन - तुमच्या Arduino IDE मध्ये एक नवीन स्केच उघडेल:
- Arduino IDE मधील अपलोड बटण दाबा. कोड कंपाइल होईपर्यंत आणि तुमच्या बोर्डवर अपलोड होईपर्यंत काही सेकंद थांबा.
- जर सर्वकाही अपेक्षेप्रमाणे झाले, तर तुम्हाला "अपलोडिंग पूर्ण झाले" असा संदेश दिसेल.
- ११५२०० च्या बॉड रेटने Arduino IDE सिरीयल मॉनिटर उघडा:
- ESP32 ऑन-बोर्ड सक्षम करा बटण दाबा आणि तुम्हाला तुमच्या ESP32 जवळ उपलब्ध नेटवर्क दिसतील:
समस्यानिवारण
जर तुम्ही तुमच्या ESP32 वर नवीन स्केच अपलोड करण्याचा प्रयत्न केला आणि तुम्हाला "एक गंभीर त्रुटी आली: ESP32 शी कनेक्ट करण्यात अयशस्वी: वेळ संपली... कनेक्ट होत आहे..." असा त्रुटी संदेश मिळाला. तर याचा अर्थ असा की तुमचा ESP32 फ्लॅशिंग/अपलोडिंग मोडमध्ये नाही.
योग्य बोर्ड नाव आणि COM por निवडल्यानंतर, या चरणांचे अनुसरण करा:
तुमच्या ESP32 बोर्डमधील "BOOT" बटण दाबून ठेवा.
- तुमचे स्केच अपलोड करण्यासाठी Arduino IDE मधील "अपलोड" बटण दाबा:
- तुमच्या Arduino IDE मध्ये “Connecting…” असा मेसेज दिसल्यानंतर, “BOOT” बटणावरून बोट सोडा:
- त्यानंतर, तुम्हाला "अपलोडिंग पूर्ण झाले" असा संदेश दिसेल.
बस्स झालं. तुमच्या ESP32 मध्ये नवीन स्केच चालू असायला हवा. ESP32 रीस्टार्ट करण्यासाठी आणि नवीन अपलोड केलेले स्केच चालविण्यासाठी “ENABLE” बटण दाबा.
तुम्हाला नवीन स्केच अपलोड करायचा असेल तेव्हा तुम्हाला तो बटण क्रम पुन्हा करावा लागेल.
प्रकल्प १ ESP32 इनपुट आउटपुट
या सुरुवातीच्या मार्गदर्शकामध्ये तुम्ही Arduino IDE सह ESP32 वापरून बटण स्विचसारखे डिजिटल इनपुट कसे वाचायचे आणि LED सारखे डिजिटल आउटपुट कसे नियंत्रित करायचे ते शिकाल.
पूर्वतयारी
आपण Arduino IDE वापरून ESP32 प्रोग्राम करू. म्हणून, पुढे जाण्यापूर्वी ESP32 बोर्ड अॅड-ऑन स्थापित केले आहेत याची खात्री करा:
- Arduino IDE मध्ये ESP32 अॅड-ऑन स्थापित करणे
ESP32 डिजिटल आउटपुट नियंत्रित करते
प्रथम, तुम्हाला नियंत्रित करायचा असलेला GPIO OUTPUT म्हणून सेट करावा लागेल. pinMode() फंक्शन खालीलप्रमाणे वापरा:
पिनमोड(GPIO, आउटपुट);
डिजिटल आउटपुट नियंत्रित करण्यासाठी तुम्हाला फक्त digitalWrite() फंक्शन वापरावे लागेल, जे आर्ग्युमेंट्स म्हणून स्वीकारते, तुम्ही ज्या GPIO (int क्रमांकाचा) संदर्भ देत आहात आणि स्थिती, एकतर HIGH किंवा LOW.
डिजिटलराइट(जीपीआयओ, स्टेट);
GPIOs 6 ते 11 (इंटिग्रेटेड SPI फ्लॅशशी जोडलेले) आणि GPIOs 34, 35, 36 आणि 39 (फक्त इनपुट GPIOs) वगळता सर्व GPIOs आउटपुट म्हणून वापरले जाऊ शकतात;
ESP32 GPIO बद्दल अधिक जाणून घ्या: ESP32 GPIO संदर्भ मार्गदर्शक
ESP32 डिजिटल इनपुट वाचा
प्रथम, pinMode() फंक्शन वापरून, तुम्हाला वाचायचा असलेला GPIO INPUT म्हणून सेट करा:
पिनमोड(GPIO, इनपुट);
डिजिटल इनपुट वाचण्यासाठी, जसे की बटण, तुम्ही digitalRead() फंक्शन वापरता, जे तुम्ही ज्या GPIO (int क्रमांकाचा) संदर्भ देत आहात तो argument म्हणून स्वीकारते.
डिजिटल रीड(GPIO);
सर्व ESP32 GPIOs इनपुट म्हणून वापरले जाऊ शकतात, GPIOs 6 ते 11 (इंटिग्रेटेड SPI फ्लॅशशी जोडलेले) वगळता.
ESP32 GPIO बद्दल अधिक जाणून घ्या: ESP32 GPIO संदर्भ मार्गदर्शक
प्रकल्प माजीample
डिजिटल इनपुट आणि डिजिटल आउटपुट कसे वापरायचे हे दाखवण्यासाठी, आम्ही एक सोपा प्रकल्प तयार करू, उदाहरणार्थampपुशबटन आणि एलईडीसह. आपण पुशबटनची स्थिती वाचू आणि खालील आकृतीमध्ये दाखवल्याप्रमाणे त्यानुसार एलईडी पेटवू.
आवश्यक भाग
सर्किट तयार करण्यासाठी आवश्यक असलेल्या भागांची यादी येथे आहे:
- ESP32 DEVKIT V1
- 5 मिमी एलईडी
- 220 ओम रेझिस्टर
- बटन दाब
- 10k ओम रेझिस्टर
- ब्रेडबोर्ड
- जम्पर वायर्स
योजनाबद्ध आकृती
पुढे जाण्यापूर्वी, तुम्हाला LED आणि पुशबटन असलेले सर्किट एकत्र करावे लागेल.
आपण LED ला GPIO 5 ला आणि पुशबटन ला GPIO ला जोडू. 4.कोड
arduino IDE मध्ये Project_1_ESP32_Inputs_Outputs.ino हा कोड उघडा.कोड कसा काम करतो
खालील दोन ओळींमध्ये, तुम्ही पिन नियुक्त करण्यासाठी व्हेरिएबल्स तयार करता:
बटण GPIO 4 शी जोडलेले आहे आणि LED GPIO 5 शी जोडलेले आहे. ESP32 सह Arduino IDE वापरताना, 4 GPIO 4 शी संबंधित आहे आणि 5 GPIO 5 शी संबंधित आहे.
पुढे, तुम्ही बटणाची स्थिती धरून ठेवण्यासाठी एक व्हेरिएबल तयार करता. डिफॉल्टनुसार, ते 0 असते (दाबलेले नाही).
int buttonState = 0;
सेटअप() मध्ये, तुम्ही बटण इनपुट म्हणून आणि LED आउटपुट म्हणून इनिशियलाइज करता.
त्यासाठी, तुम्ही pinMode() फंक्शन वापरता जे तुम्ही ज्या पिनचा संदर्भ देत आहात तो स्वीकारते आणि मोड: INPUT किंवा OUTPUT.
पिनमोड(बटणपिन, इनपुट);
पिनमोड(लेडपिन, आउटपुट);
लूप() मध्ये तुम्ही बटणाची स्थिती वाचता आणि त्यानुसार LED सेट करता.
पुढील ओळीत, तुम्ही बटणाची स्थिती वाचता आणि ती बटणस्टेट व्हेरिएबलमध्ये सेव्ह करता.
जसे आपण आधी पाहिले आहे, तुम्ही digitalRead() फंक्शन वापरता.
buttonState = digitalRead(buttonPin);
खालील if स्टेटमेंट, बटणाची स्थिती HIGH आहे की नाही ते तपासते. जर ती असेल, तर ते digitalWrite() फंक्शन वापरून LED चालू करते जे ledPin ला आर्ग्युमेंट म्हणून स्वीकारते आणि HIGH ला स्टेट देते.
जर (बटनस्टेट == उच्च)जर बटणाची स्थिती जास्त नसेल, तर तुम्ही LED बंद करा. digitalWrite() फंक्शनमध्ये दुसरा अर्ग्युमेंट म्हणून LOW सेट करा.
कोड अपलोड करत आहे
अपलोड बटणावर क्लिक करण्यापूर्वी, टूल्स > बोर्ड वर जा आणि बोर्ड निवडा :DOIT ESP32 DEVKIT V1 बोर्ड.
टूल्स > पोर्ट वर जा आणि ESP32 ज्या COM पोर्टशी जोडलेला आहे तो निवडा. नंतर, अपलोड बटण दाबा आणि “अपलोडिंग पूर्ण झाले” संदेशाची वाट पहा.टीप: जर तुम्हाला डीबगिंग विंडोवर बरेच ठिपके (कनेक्ट होत आहे…__…__) दिसले आणि “ESP32 शी कनेक्ट करण्यात अयशस्वी: पॅकेट हेडरची वाट पाहण्याचा वेळ संपला” असा संदेश दिसला, तर तुम्हाला ठिपक्यांनंतर ESP32 ऑन-बोर्ड BOOT बटण दाबावे लागेल.
दिसायला सुरुवात करा. समस्यानिवारण
प्रात्यक्षिक
कोड अपलोड केल्यानंतर, तुमच्या सर्किटची चाचणी घ्या. तुम्ही पुशबटण दाबताच तुमचा LED उजळला पाहिजे:आणि जेव्हा तुम्ही ते सोडता तेव्हा बंद करा:
प्रोजेक्ट २ ESP32 अॅनालॉग इनपुट
हा प्रकल्प Arduino IDE वापरून ESP32 सह अॅनालॉग इनपुट कसे वाचायचे ते दाखवतो.
पोटेंशियोमीटर किंवा अॅनालॉग सेन्सर सारख्या व्हेरिएबल रेझिस्टर्समधून मूल्ये वाचण्यासाठी अॅनालॉग रीडिंग उपयुक्त आहे.
अॅनालॉग इनपुट (ADC)
ESP32 सह अॅनालॉग व्हॅल्यू वाचणे म्हणजे तुम्ही वेगवेगळे व्हॉल्यूम मोजू शकताtag० व्ही आणि ३.३ व्ही दरम्यान ई पातळी.
खंडtagनंतर मोजलेले e हे 0 आणि 4095 मधील मूल्याला दिले जाते, ज्यामध्ये 0 V 0 शी संबंधित आहे आणि 3.3 V 4095 शी संबंधित आहे. कोणताही खंडtag० व्ही आणि ३.३ व्ही दरम्यानच्या e ला त्यामधील संबंधित मूल्य दिले जाईल.ADC नॉन-लिनियर आहे
आदर्शपणे, ESP32 ADC पिन वापरताना तुम्हाला रेषीय वर्तनाची अपेक्षा असेल.
तथापि, तसे होत नाही. तुम्हाला खालील चार्टमध्ये दाखवल्याप्रमाणे वर्तन मिळेल:या वर्तनाचा अर्थ असा आहे की तुमचा ESP32 3.3 V आणि 3.2 V मध्ये फरक करू शकत नाही.
तुम्हाला दोन्ही व्हॉल्यूमसाठी समान मूल्य मिळेलtagक्रमांक: ४०९५.
खूप कमी व्हॉल्यूमसाठीही असेच घडते.tage व्हॅल्यूज: 0 V आणि 0.1 V साठी तुम्हाला समान व्हॅल्यू मिळेल: 0. ESP32 ADC पिन वापरताना तुम्हाला हे लक्षात ठेवावे लागेल.
analogRead() फंक्शन
Arduino IDE वापरून ESP32 सह अॅनालॉग इनपुट वाचणे हे analogRead() फंक्शन वापरण्याइतकेच सोपे आहे. ते तुम्हाला वाचायचे असलेले GPIO, युक्तिवाद म्हणून स्वीकारते:
अॅनालॉग रीड(GPIO);
DEVKIT V1board मध्ये (३० GPIOs असलेली आवृत्ती) फक्त १५ उपलब्ध आहेत.
तुमचा ESP32 बोर्ड पिनआउट घ्या आणि ADC पिन शोधा. खालील आकृतीमध्ये हे लाल बॉर्डरने हायलाइट केले आहेत.या अॅनालॉग इनपुट पिनमध्ये १२-बिट रिझोल्यूशन असते. याचा अर्थ असा की जेव्हा तुम्ही अॅनालॉग इनपुट वाचता तेव्हा त्याची श्रेणी ० ते ४०९५ पर्यंत बदलू शकते.
टीप: वाय-फाय वापरताना ADC2 पिन वापरता येत नाहीत. म्हणून, जर तुम्ही वाय-फाय वापरत असाल आणि तुम्हाला ADC2 GPIO कडून मूल्य मिळविण्यात अडचण येत असेल, तर तुम्ही त्याऐवजी ADC1 GPIO वापरण्याचा विचार करू शकता, त्यामुळे तुमची समस्या सुटेल.
सर्वकाही कसे एकत्र येते हे पाहण्यासाठी, आपण एक साधी एक्स बनवू.ampपोटेंशियोमीटरवरून अॅनालॉग मूल्य वाचण्यासाठी le.
आवश्यक भाग
यासाठी माजीampबरं, तुम्हाला खालील भागांची आवश्यकता आहे:
- ESP32 DEVKIT V1 बोर्ड
- पोटेंटीमीटर
- ब्रेडबोर्ड
- जम्पर वायर्स
योजनाबद्ध
तुमच्या ESP32 ला एक पोटेंशियोमीटर वायर लावा. पोटेंशियोमीटरचा मधला पिन GPIO 4 शी जोडलेला असावा. तुम्ही खालील स्कीमॅटिक आकृती संदर्भ म्हणून वापरू शकता.कोड
आपण Arduino IDE वापरून ESP32 प्रोग्राम करू, म्हणून पुढे जाण्यापूर्वी ESP32 अॅड-ऑन इन्स्टॉल केले आहे याची खात्री करा: (जर तुम्ही ही पायरी आधीच केली असेल, तर तुम्ही पुढील पायरीवर जाऊ शकता.)
Arduino IDE मध्ये ESP32 अॅड-ऑन स्थापित करणे
arduino IDE मध्ये Project_2_ESP32_Inputs_Outputs.ino हा कोड उघडा.हा कोड फक्त पोटेंशियोमीटरमधील मूल्ये वाचतो आणि ती मूल्ये सिरीयल मॉनिटरमध्ये प्रिंट करतो.
कोडमध्ये, तुम्ही पोटेंशियोमीटर ज्या GPIO ला जोडलेला आहे ते परिभाषित करून सुरुवात करता. या उदाहरणातampले, जीपीआयओ ४.सेटअप() मध्ये, ११५२०० च्या बॉड रेटने सिरीयल कम्युनिकेशन सुरू करा.
लूप() मध्ये, पॉटपिन मधील अॅनालॉग इनपुट वाचण्यासाठी analogRead() फंक्शन वापरा.
शेवटी, सिरीयल मॉनिटरमध्ये पोटेंशियोमीटरमधून वाचलेले मूल्ये प्रिंट करा.
तुमच्या ESP32 वर दिलेला कोड अपलोड करा. टूल्स मेनूमध्ये योग्य बोर्ड आणि COM पोर्ट निवडला आहे याची खात्री करा.
एक्स चाचणी करणेample
कोड अपलोड केल्यानंतर आणि ESP32 रीसेट बटण दाबल्यानंतर, ११५२०० च्या बॉड रेटने सिरीयल मॉनिटर उघडा. पोटेंशियोमीटर फिरवा आणि व्हॅल्यूज बदलताना पहा.तुम्हाला मिळणारे कमाल मूल्य ४०९५ आहे आणि किमान मूल्य ० आहे.
गुंडाळणे
या लेखात तुम्ही Arduino IDE सह ESP32 वापरून अॅनालॉग इनपुट कसे वाचायचे ते शिकलात. थोडक्यात:
- ESP32 DEVKIT V1 DOIT बोर्ड (30 पिनसह आवृत्ती) मध्ये 15 ADC पिन आहेत ज्यांचा वापर तुम्ही अॅनालॉग इनपुट वाचण्यासाठी करू शकता.
- या पिनचे रिझोल्यूशन १२ बिट्स आहे, म्हणजेच तुम्हाला ० ते ४०९५ पर्यंतचे मूल्य मिळू शकते.
- Arduino IDE मधील व्हॅल्यू वाचण्यासाठी, तुम्ही फक्त analogRead() फंक्शन वापरा.
- ESP32 ADC पिनमध्ये रेषीय वर्तन नसते. तुम्हाला कदाचित 0 आणि 0.1V किंवा 3.2 आणि 3.3V मधील फरक ओळखता येणार नाही. ADC पिन वापरताना तुम्हाला हे लक्षात ठेवावे लागेल.
प्रोजेक्ट ३ ESP32 PWM (अॅनालॉग आउटपुट)
या ट्युटोरियलमध्ये आपण Arduino IDE वापरून ESP32 सह PWM सिग्नल कसे जनरेट करायचे ते दाखवू. उदाहरणार्थampआपण ESP32 च्या LED PWM कंट्रोलरचा वापर करून LED मंद करणारा एक साधा सर्किट तयार करू.ESP32 LED PWM कंट्रोलर
ESP32 मध्ये 16 स्वतंत्र चॅनेलसह एक LED PWM कंट्रोलर आहे जो वेगवेगळ्या गुणधर्मांसह PWM सिग्नल जनरेट करण्यासाठी कॉन्फिगर केला जाऊ शकतो.
Arduino IDE वापरून PWM वापरून LED मंद करण्यासाठी तुम्हाला खालील पायऱ्या फॉलो कराव्या लागतील:
- प्रथम, तुम्हाला एक PWM चॅनेल निवडावे लागेल. ० ते १५ पर्यंत १६ चॅनेल आहेत.
- त्यानंतर, तुम्हाला PWM सिग्नल फ्रिक्वेन्सी सेट करावी लागेल. LED साठी, 5000 Hz ची फ्रिक्वेन्सी वापरणे योग्य आहे.
- तुम्हाला सिग्नलचे ड्युटी सायकल रिझोल्यूशन देखील सेट करावे लागेल: तुमचे रिझोल्यूशन १ ते १६ बिट्स पर्यंत आहे. आम्ही ८-बिट रिझोल्यूशन वापरू, याचा अर्थ तुम्ही ० ते २५५ पर्यंतच्या मूल्याचा वापर करून LED ब्राइटनेस नियंत्रित करू शकता.
- पुढे, तुम्हाला सिग्नल कोणत्या GPIO किंवा GPIOs वर दिसेल हे निर्दिष्ट करावे लागेल. त्यासाठी तुम्ही खालील फंक्शन वापराल:
ledcअटॅचपिन(GPIO, चॅनेल)
हे फंक्शन दोन वितर्क स्वीकारते. पहिले म्हणजे GPIO जे सिग्नल आउटपुट करेल आणि दुसरे म्हणजे चॅनेल जे सिग्नल जनरेट करेल. - शेवटी, PWM वापरून LED ब्राइटनेस नियंत्रित करण्यासाठी, तुम्ही खालील फंक्शन वापरता:
ledcWrite(चॅनेल, ड्युटीसायकल)
हे फंक्शन PWM सिग्नल जनरेट करणारे चॅनेल आणि ड्युटी सायकल यांना आर्ग्युमेंट म्हणून स्वीकारते.
आवश्यक भाग
या ट्युटोरियलचे अनुसरण करण्यासाठी तुम्हाला हे भाग आवश्यक आहेत:
- ESP32 DEVKIT V1 बोर्ड
- 5 मिमी एलईडी
- 220 ओम रेझिस्टर
- ब्रेडबोर्ड
- जम्पर वायर्स
योजनाबद्ध
खालील स्कीमॅटिक डायग्रामप्रमाणे तुमच्या ESP32 ला एक LED वायर करा. LED GPIO शी जोडलेला असावा. 4.टीप: तुम्हाला हवा असलेला कोणताही पिन तुम्ही वापरू शकता, जोपर्यंत तो आउटपुट म्हणून काम करू शकतो. आउटपुट म्हणून काम करू शकणारे सर्व पिन PWM पिन म्हणून वापरले जाऊ शकतात. ESP32 GPIO बद्दल अधिक माहितीसाठी, वाचा: ESP32 पिनआउट संदर्भ: तुम्ही कोणते GPIO पिन वापरावे?
कोड
आपण Arduino IDE वापरून ESP32 प्रोग्राम करू, म्हणून पुढे जाण्यापूर्वी ESP32 अॅड-ऑन इन्स्टॉल केले आहे याची खात्री करा: (जर तुम्ही ही पायरी आधीच केली असेल, तर तुम्ही पुढील पायरीवर जाऊ शकता.)
Arduino IDE मध्ये ESP32 अॅड-ऑन स्थापित करणे
arduino IDE मध्ये Project_3_ESP32_PWM.ino हा कोड उघडा.तुम्ही LED कोणत्या पिनला जोडलेला आहे ते ठरवून सुरुवात करा. या प्रकरणात LED GPIO 4 ला जोडलेला आहे.
नंतर, तुम्ही PWM सिग्नल गुणधर्म सेट करता. तुम्ही 5000 Hz ची वारंवारता परिभाषित करता, सिग्नल जनरेट करण्यासाठी चॅनेल 0 निवडा आणि 8 बिट्सचे रिझोल्यूशन सेट करता. वेगवेगळे PWM सिग्नल जनरेट करण्यासाठी तुम्ही यापेक्षा वेगळे इतर गुणधर्म निवडू शकता.
सेटअप() मध्ये, तुम्हाला LED PWM ला तुम्ही आधी परिभाषित केलेल्या गुणधर्मांसह कॉन्फिगर करावे लागेल, ledcSetup() फंक्शन वापरून जे आर्ग्युमेंट्स, ledChannel, फ्रिक्वेन्सी आणि रिझोल्यूशन खालीलप्रमाणे स्वीकारते:
पुढे, तुम्हाला सिग्नल कोणत्या GPIO मधून मिळेल ते निवडावे लागेल. त्यासाठी ledcAttachPin() फंक्शन वापरा जे तुम्हाला सिग्नल मिळवायचा आहे त्या GPIO ला आणि सिग्नल जनरेट करणाऱ्या चॅनेलला आर्ग्युमेंट म्हणून स्वीकारते. या उदाहरणातampतर, आपल्याला ledPin GPIO मध्ये सिग्नल मिळेल, जो GPIO 4 शी संबंधित आहे. सिग्नल जनरेट करणारा चॅनेल म्हणजे ledChannel, जो चॅनेल 0 शी संबंधित आहे.
लूपमध्ये, तुम्ही LED ब्राइटनेस वाढवण्यासाठी ड्युटी सायकल 0 आणि 255 दरम्यान बदलाल.
आणि नंतर, चमक कमी करण्यासाठी २५५ आणि ० दरम्यान.
LED ची ब्राइटनेस सेट करण्यासाठी, तुम्हाला फक्त ledcWrite() फंक्शन वापरावे लागेल जे सिग्नल जनरेट करणाऱ्या चॅनेल आणि ड्युटी सायकलला आर्ग्युमेंट म्हणून स्वीकारते.
आपण ८-बिट रिझोल्यूशन वापरत असल्याने, ड्युटी सायकल ० ते २५५ पर्यंतच्या व्हॅल्यू वापरून नियंत्रित केली जाईल. लक्षात ठेवा की ledcWrite() फंक्शनमध्ये आपण सिग्नल जनरेट करणाऱ्या चॅनेलचा वापर करतो, GPIO चा नाही.
एक्स चाचणी करणेample
तुमच्या ESP32 वर कोड अपलोड करा. तुम्ही योग्य बोर्ड आणि COM पोर्ट निवडला आहे याची खात्री करा. तुमच्या सर्किटकडे पहा. तुमच्याकडे एक मंद LED असावा जो ब्राइटनेस वाढवतो आणि कमी करतो.
प्रोजेक्ट ४ ESP32 PIR मोशन सेन्सर
हा प्रकल्प PIR मोशन सेन्सर वापरून ESP32 वापरून गती कशी ओळखायची ते दाखवतो. हालचाल आढळल्यास बझर अलार्म वाजवेल आणि प्रीसेट वेळेसाठी (जसे की 4 सेकंद) कोणतीही हालचाल आढळली नाही तर अलार्म थांबवेल.
HC-SR501 मोशन सेन्सर कसे कार्य करते
.HC-SR501 सेन्सरचे कार्य तत्व हलत्या वस्तूवरील इन्फ्रारेड रेडिएशनच्या बदलावर आधारित आहे. HC-SR501 सेन्सरद्वारे शोधले जाण्यासाठी, वस्तूने दोन आवश्यकता पूर्ण केल्या पाहिजेत:
- ती वस्तू इन्फ्रारेड मार्गाने उत्सर्जित करत आहे.
- वस्तू हालत आहे किंवा थरथरत आहे
त्यामुळे:
जर एखादी वस्तू इन्फ्रारेड किरण उत्सर्जित करत असेल पण NoT हालचाल करत असेल (उदा., एखादी व्यक्ती हालचाल न करता स्थिर उभी असेल), तर सेन्सरद्वारे ते NoT शोधले जाते.
जर एखादी वस्तू हालचाल करत असेल पण NoT इन्फ्रारेड किरण उत्सर्जित करत असेल (उदा. रोबोट किंवा वाहन), तर ती वस्तू सेन्सरला आढळत नाही.
टायमर सादर करत आहोत
यामध्ये माजीampआम्ही टायमर देखील सादर करू. गती आढळल्यानंतर LED पूर्वनिर्धारित सेकंदांसाठी चालू राहावे अशी आमची इच्छा आहे. तुमचा कोड ब्लॉक करणारे आणि तुम्हाला निश्चित सेकंदांसाठी दुसरे काहीही करण्याची परवानगी न देणारे delay() फंक्शन वापरण्याऐवजी, आपण टाइमर वापरला पाहिजे.विलंब () फंक्शन
तुम्हाला delay() फंक्शनची माहिती असली पाहिजे कारण ते मोठ्या प्रमाणात वापरले जाते. हे फंक्शन वापरण्यास अगदी सोपे आहे. ते एकच int नंबर एक argument म्हणून स्वीकारते.
ही संख्या प्रोग्रामला कोडच्या पुढील ओळीवर जाण्यासाठी वाट पाहण्याचा मिलिसेकंदांमध्ये लागणारा वेळ दर्शवते.जेव्हा तुम्ही delay(1000) करता तेव्हा तुमचा प्रोग्राम त्या ओळीवर 1 सेकंदासाठी थांबतो.
delay() हे ब्लॉकिंग फंक्शन आहे. ब्लॉकिंग फंक्शन्स प्रोग्रामला ते विशिष्ट काम पूर्ण होईपर्यंत दुसरे काहीही करण्यापासून रोखतात. जर तुम्हाला एकाच वेळी अनेक कामे करायची असतील, तर तुम्ही delay() वापरू शकत नाही.
बहुतेक प्रकल्पांसाठी तुम्ही विलंब टाळावा आणि त्याऐवजी टायमर वापरावे.
मिलिस() फंक्शन
मिलिस() नावाच्या फंक्शनचा वापर करून तुम्ही प्रोग्राम सुरू झाल्यापासून गेलेल्या मिलिसेकंदांची संख्या परत करू शकता.ते फंक्शन का उपयुक्त आहे? कारण काही गणित वापरून, तुम्ही तुमचा कोड ब्लॉक न करता किती वेळ गेला आहे हे सहजपणे सत्यापित करू शकता.
आवश्यक भाग
या ट्युटोरियलचे अनुसरण करण्यासाठी तुम्हाला खालील भागांची आवश्यकता आहे.
- ESP32 DEVKIT V1 बोर्ड
- पीआयआर मोशन सेन्सर (एचसी-एसआर५०१)
- अॅक्टिव्ह बजर
- जम्पर वायर्स
- ब्रेडबोर्ड
योजनाबद्धटीप: कार्यरत खंडtagHC-SR501 चा e 5V आहे. त्याला पॉवर देण्यासाठी Vin पिन वापरा.
कोड
या ट्युटोरियलमध्ये जाण्यापूर्वी तुमच्या Arduino IDE मध्ये ESP32 अॅड-ऑन इन्स्टॉल केलेले असणे आवश्यक आहे. जर तुम्ही आधीच Arduino IDE वर ESP32 इन्स्टॉल केले नसेल तर खालील ट्युटोरियलपैकी एक फॉलो करा. (जर तुम्ही ही पायरी आधीच केली असेल, तर तुम्ही पुढील पायरीवर जाऊ शकता.)
Arduino IDE मध्ये ESP32 अॅड-ऑन स्थापित करणे
arduino IDE मध्ये Project_4_ESP32_PIR_Motion_Sensor.ino हा कोड उघडा.
प्रात्यक्षिक
तुमच्या ESP32 बोर्डवर कोड अपलोड करा. तुम्ही योग्य बोर्ड आणि COM पोर्ट निवडला आहे याची खात्री करा. कोड संदर्भ चरण अपलोड करा.
११५२०० च्या बॉड रेटने सिरीयल मॉनिटर उघडा.तुमचा हात पीआयआर सेन्सरसमोर हलवा. बजर चालू झाला पाहिजे आणि सिरीयल मॉनिटरमध्ये "मोशन डिटेक्टेड! बजर अलार्म" असा संदेश छापला जाईल.
४ सेकंदांनंतर बजर बंद झाला पाहिजे.
प्रोजेक्ट ५ ESP32 स्विच Web सर्व्हर
या प्रकल्पात तुम्ही एक स्वतंत्र तयार कराल web Arduino IDE प्रोग्रामिंग वातावरण वापरून आउटपुट (दोन LEDs) नियंत्रित करणारा ESP32 असलेला सर्व्हर. web सर्व्हर मोबाईल रिस्पॉन्सिव्ह आहे आणि स्थानिक नेटवर्कवरील ब्राउझर म्हणून कोणत्याही डिव्हाइसवरून तो अॅक्सेस करता येतो. आम्ही तुम्हाला कसे तयार करायचे ते दाखवू web सर्व्हर आणि कोड कसा काम करतो ते चरण-दर-चरण.
प्रकल्प संपलाview
प्रकल्पाकडे थेट जाण्यापूर्वी, आपल्या web सर्व्हर करेल, जेणेकरून नंतर पायऱ्या फॉलो करणे सोपे होईल.
- द web तुम्ही तयार कराल तो सर्व्हर ESP32 GPIO 26 आणि GPIO 27 शी जोडलेले दोन LED नियंत्रित करतो;
- तुम्ही ESP32 मध्ये प्रवेश करू शकता web स्थानिक नेटवर्कमधील ब्राउझरवर ESP32 IP पत्ता टाइप करून सर्व्हर;
- तुमच्या वरील बटणांवर क्लिक करून web सर्व्हर वापरून तुम्ही प्रत्येक LED ची स्थिती त्वरित बदलू शकता.
आवश्यक भाग
या ट्युटोरियलसाठी तुम्हाला खालील भागांची आवश्यकता असेल:
- ESP32 DEVKIT V1 बोर्ड
- २x ५ मिमी एलईडी
- 2x 200 ओम रेझिस्टर
- ब्रेडबोर्ड
- जम्पर वायर्स
योजनाबद्ध
सर्किट बनवून सुरुवात करा. खालील स्कीमॅटिक डायग्राममध्ये दाखवल्याप्रमाणे दोन LEDs ESP32 ला जोडा - एक LED GPIO 26 ला जोडलेला आहे आणि दुसरा GPIO 27 ला जोडलेला आहे.
टीप: आम्ही ३६ पिन असलेला ESP32 DEVKIT DOIT बोर्ड वापरत आहोत. सर्किट असेंबल करण्यापूर्वी, तुम्ही वापरत असलेल्या बोर्डचा पिनआउट तपासा.कोड
येथे आम्ही ESP32 तयार करणारा कोड प्रदान करतो. web सर्व्हर. Project_5_ESP32_Switch _ हा कोड उघडा.Webarduino IDE मध्ये _Server.ino आहे, पण अजून अपलोड करू नका. ते तुमच्यासाठी काम करण्यासाठी तुम्हाला काही बदल करावे लागतील.
आपण Arduino IDE वापरून ESP32 प्रोग्राम करू, म्हणून पुढे जाण्यापूर्वी ESP32 अॅड-ऑन इन्स्टॉल केले आहे याची खात्री करा: (जर तुम्ही ही पायरी आधीच केली असेल, तर तुम्ही पुढील पायरीवर जाऊ शकता.)
Arduino IDE मध्ये ESP32 अॅड-ऑन स्थापित करणे
तुमचे नेटवर्क क्रेडेन्शियल्स सेट करणे
तुमच्या नेटवर्क क्रेडेन्शियल्ससह तुम्हाला खालील ओळींमध्ये बदल करावे लागतील: SSID आणि पासवर्ड. तुम्ही कुठे बदल करावेत यावर कोडमध्ये चांगले भाष्य केले आहे.कोड अपलोड करत आहे
आता, तुम्ही कोड अपलोड करू शकता आणि web सर्व्हर लगेच काम करेल.
ESP32 वर कोड अपलोड करण्यासाठी पुढील चरणांचे अनुसरण करा:
- तुमचा ESP32 बोर्ड तुमच्या संगणकात प्लग करा;
- Arduino IDE मध्ये Tools > Board मध्ये तुमचा बोर्ड निवडा (आमच्या बाबतीत आम्ही ESP32 DEVKIT DOIT बोर्ड वापरत आहोत);
- टूल्स > पोर्ट मध्ये COM पोर्ट निवडा.
- Arduino IDE मधील अपलोड बटण दाबा आणि कोड कंपाइल होईपर्यंत आणि तुमच्या बोर्डवर अपलोड होईपर्यंत काही सेकंद वाट पहा.
- "अपलोडिंग पूर्ण झाले" संदेशाची वाट पहा.
ESP IP पत्ता शोधणे
कोड अपलोड केल्यानंतर, ११५२०० च्या बॉड रेटने सिरीयल मॉनिटर उघडा.ESP32 EN बटण दाबा (रीसेट करा). ESP32 वाय-फायशी कनेक्ट होते आणि सिरीयल मॉनिटरवर ESP IP पत्ता आउटपुट करते. तो IP पत्ता कॉपी करा, कारण तुम्हाला ESP32 मध्ये प्रवेश करण्यासाठी त्याची आवश्यकता आहे. web सर्व्हर
मध्ये प्रवेश करणे Web सर्व्हर
मध्ये प्रवेश करण्यासाठी web सर्व्हरवर जा, तुमचा ब्राउझर उघडा, ESP32 IP पत्ता पेस्ट करा आणि तुम्हाला खालील पृष्ठ दिसेल.
टीप: तुमचा ब्राउझर आणि ESP32 एकाच LAN शी जोडलेले असले पाहिजेत.जर तुम्ही सिरीयल मॉनिटरवर एक नजर टाकली तर तुम्हाला पार्श्वभूमीत काय चालले आहे ते दिसेल. ESP ला एका नवीन क्लायंटकडून (या प्रकरणात, तुमचा ब्राउझर) HTTP विनंती प्राप्त होते.
तुम्ही HTTP विनंतीबद्दल इतर माहिती देखील पाहू शकता.
प्रात्यक्षिक
आता तुम्ही चाचणी करू शकता की तुमचे web सर्व्हर व्यवस्थित काम करत आहे. LEDs नियंत्रित करण्यासाठी बटणांवर क्लिक करा.त्याच वेळी, तुम्ही पार्श्वभूमीत काय चालले आहे ते पाहण्यासाठी सिरीयल मॉनिटरवर एक नजर टाकू शकता. उदा.ampआणि, जेव्हा तुम्ही GPIO 26 चालू करण्यासाठी बटणावर क्लिक करता, तेव्हा ESP32 ला /26/on वर विनंती प्राप्त होते. URL.
जेव्हा ESP32 ला ती विनंती मिळते, तेव्हा ते GPIO 26 शी जोडलेले LED चालू करते आणि त्याची स्थिती अपडेट करते web पृष्ठ
GPIO 27 चे बटण देखील अशाच प्रकारे काम करते. ते योग्यरित्या काम करत आहे का ते तपासा.
कोड कसा काम करतो
या विभागात आपण कोड कसा काम करतो ते जवळून पाहू.
तुम्हाला सर्वप्रथम वायफाय लायब्ररी समाविष्ट करावी लागेल.आधी सांगितल्याप्रमाणे, तुम्हाला तुमचा ssid आणि पासवर्ड खालील ओळींमध्ये डबल कोट्समध्ये टाकावा लागेल.
मग, तुम्ही तुमचे सेट करा web सर्व्हरला पोर्ट ८० वर नेले.
खालील ओळ HTTP विनंतीचे शीर्षलेख संग्रहित करण्यासाठी एक चल तयार करते:
पुढे, तुम्ही तुमच्या आउटपुटची सद्यस्थिती साठवण्यासाठी ऑक्झिलियर व्हेरिअबल्स तयार करता. जर तुम्हाला अधिक आउटपुट जोडायचे असतील आणि त्यांची स्थिती जतन करायची असेल, तर तुम्हाला अधिक व्हेरिअबल्स तयार करावे लागतील.
तुम्हाला तुमच्या प्रत्येक आउटपुटला एक GPIO देखील नियुक्त करावा लागेल. येथे आपण GPIO 26 आणि GPIO 27 वापरत आहोत. तुम्ही इतर कोणतेही योग्य GPIO वापरू शकता.
सेटअप ()
आता, सेटअप() मध्ये जाऊया. प्रथम, आपण डीबगिंगसाठी ११५२०० च्या बॉड रेटने सिरीयल कम्युनिकेशन सुरू करू.तुम्ही तुमचे GPIOs OUTPUTs म्हणून देखील परिभाषित करता आणि त्यांना LOW वर सेट करता.
खालील ओळी WiFi.begin(ssid, पासवर्ड) ने Wi-Fi कनेक्शन सुरू करतात, यशस्वी कनेक्शनची वाट पाहतात आणि सिरीयल मॉनिटरमध्ये ESP IP पत्ता प्रिंट करतात.
लूप()
लूप() मध्ये आपण प्रोग्राम करतो की जेव्हा एखादा नवीन क्लायंट सोबत कनेक्शन स्थापित करतो तेव्हा काय होते web सर्व्हर
ESP32 नेहमी येणाऱ्या क्लायंटसाठी खालील ओळीसह ऐकत असतो:जेव्हा क्लायंटकडून विनंती प्राप्त होते, तेव्हा आम्ही येणारा डेटा सेव्ह करू. जोपर्यंत क्लायंट कनेक्टेड राहील तोपर्यंत त्यानंतर येणारा while लूप चालू राहील. तुम्ही काय करत आहात हे तुम्हाला नक्की माहित नसल्यास आम्ही कोडचा पुढील भाग बदलण्याची शिफारस करत नाही.
if आणि else स्टेटमेंटचा पुढील भाग तुमच्या मध्ये कोणते बटण दाबले गेले ते तपासतो web पृष्ठ, आणि त्यानुसार आउटपुट नियंत्रित करते. जसे आपण आधी पाहिले आहे, आपण वेगवेगळ्या URLदाबलेल्या बटणावर अवलंबून.
उदाampजर तुम्ही GPIO 26 ON बटण दाबले असेल, तर ESP32 ला /26/ON वर विनंती प्राप्त होते. URL (आपण सिरीयल मॉनिटरवरील HTTP हेडरवर ती माहिती पाहू शकतो). तर, आपण हेडरमध्ये GET /26/on हा शब्दप्रयोग आहे का ते तपासू शकतो. जर त्यात असेल, तर आपण output26state व्हेरिएबल ON मध्ये बदलतो आणि ESP32 LED चालू करतो.
हे इतर बटणांसाठीही असेच काम करते. म्हणून, जर तुम्हाला अधिक आउटपुट जोडायचे असतील, तर तुम्ही कोडच्या या भागात ते समाविष्ट करण्यासाठी बदल करावेत.
HTML प्रदर्शित करत आहे web पृष्ठ
तुम्हाला पुढील गोष्ट करायची आहे, ती म्हणजे तयार करणे web पृष्ठ. ESP32 तुमच्या ब्राउझरला काही HTML कोडसह प्रतिसाद पाठवेल जेणेकरून web पृष्ठ
द web client.println() या एक्सप्रेसिंग वापरून पेज क्लायंटला पाठवले जाते. तुम्हाला क्लायंटला काय पाठवायचे आहे ते तुम्ही आर्गुमेंट म्हणून एंटर करावे.
आपण सर्वात आधी खालील ओळ पाठवली पाहिजे, जी दर्शवते की आपण HTML पाठवत आहोत.मग, खालील ओळ बनवते web कोणत्याही परिस्थितीत प्रतिसाद देणारे पृष्ठ web ब्राउझर
आणि फेविकॉनवरील रिक्वेस्ट टाळण्यासाठी खालील गोष्टी वापरल्या जातात. – तुम्हाला या ओळीबद्दल काळजी करण्याची गरज नाही.
स्टाईलिंग Web पान
पुढे, आपल्याकडे बटणे स्टाईल करण्यासाठी काही CSS मजकूर आहे आणि web पानाचा देखावा.
आपण हेल्वेटिका फॉन्ट निवडतो, प्रदर्शित करायच्या असलेल्या कंटेंटला ब्लॉक म्हणून परिभाषित करतो आणि मध्यभागी संरेखित करतो.आम्ही आमची बटणे #4CAF50 रंगाने, बॉर्डरशिवाय, पांढऱ्या रंगात मजकूर आणि या पॅडिंगसह स्टाईल करतो: 16px 40px. आम्ही टेक्स्ट-डेकोरेशनला none वर देखील सेट करतो, फॉन्ट आकार, मार्जिन आणि कर्सर पॉइंटरवर परिभाषित करतो.
आपण दुसऱ्या बटणासाठी स्टाईल देखील परिभाषित करतो, ज्यामध्ये आपण आधी परिभाषित केलेल्या बटणाच्या सर्व गुणधर्मांचा समावेश असतो, परंतु वेगळ्या रंगाचा असतो. ऑफ बटणासाठी ही स्टाईल असेल.
सेट करत आहे Web पानाचे पहिले शीर्षक
पुढील ओळीत तुम्ही तुमच्या web पृष्ठ. येथे आपल्याकडे “ESP32” आहे. Web "सर्व्हर", परंतु तुम्ही हा मजकूर तुम्हाला आवडेल त्याप्रमाणे बदलू शकता.बटणे आणि संबंधित स्थिती प्रदर्शित करणे
नंतर, तुम्ही GPIO 26 ची चालू स्थिती दाखवण्यासाठी एक परिच्छेद लिहा. तुम्ही पाहू शकता की आपण output26State व्हेरिअबल वापरतो, जेणेकरून जेव्हा हे व्हेरिअबल बदलते तेव्हा स्टेट त्वरित अपडेट होते.नंतर, आपण GPIO च्या सध्याच्या स्थितीनुसार चालू किंवा बंद बटण प्रदर्शित करतो. जर GPIO ची सध्याची स्थिती बंद असेल, तर आपण चालू बटण दर्शवितो, जर नसेल, तर आपण बंद बटण प्रदर्शित करतो.
आम्ही GPIO 27 साठी समान प्रक्रिया वापरतो.
कनेक्शन बंद करणे
शेवटी, जेव्हा प्रतिसाद संपतो, तेव्हा आपण हेडर व्हेरिएबल साफ करतो आणि client.stop() सह क्लायंटशी कनेक्शन थांबवतो.
गुंडाळणे
या ट्युटोरियलमध्ये आम्ही तुम्हाला कसे तयार करायचे ते दाखवले आहे web ESP32 सह सर्व्हर. आम्ही तुम्हाला एक साधी उदाहरणे दाखवली आहेतampजे दोन LED नियंत्रित करते, परंतु त्या LEDs ला रिले किंवा तुम्हाला नियंत्रित करायचे असलेले इतर कोणतेही आउटपुट वापरण्याची कल्पना आहे.
प्रोजेक्ट ६ आरजीबी एलईडी Web सर्व्हर
या प्रोजेक्टमध्ये आम्ही तुम्हाला ESP32 बोर्ड वापरून RGB LED रिमोटली कसे नियंत्रित करायचे ते दाखवू. web रंग निवडक असलेला सर्व्हर.
प्रकल्प संपलाview
सुरुवात करण्यापूर्वी, हा प्रकल्प कसा काम करतो ते पाहूया:
- ईएसपी३२ web सर्व्हर रंग निवडक प्रदर्शित करतो.
- जेव्हा तुम्ही रंग निवडता, तेव्हा तुमचा ब्राउझर a वर विनंती करतो URL ज्यामध्ये निवडलेल्या रंगाचे R, G आणि B पॅरामीटर्स आहेत.
- तुमच्या ESP32 ला विनंती मिळते आणि प्रत्येक रंग पॅरामीटरसाठी मूल्य विभाजित करते.
- नंतर, ते RGB LED नियंत्रित करणाऱ्या GPIO ला संबंधित मूल्यासह PWM सिग्नल पाठवते.
आरजीबी एलईडी कसे काम करतात?
एका सामान्य कॅथोड RGB LED मध्ये, तिन्ही LEDs एक नकारात्मक कनेक्शन (कॅथोड) सामायिक करतात. किटमध्ये समाविष्ट असलेले सर्व सामान्य-कॅथोड RGB आहेत.वेगवेगळे रंग कसे तयार करावे?
RGB LED वापरून तुम्ही अर्थातच लाल, हिरवा आणि निळा प्रकाश निर्माण करू शकता आणि प्रत्येक LED ची तीव्रता निश्चित करून तुम्ही इतर रंग देखील निर्माण करू शकता.
उदाampकिंवा, पूर्णपणे निळा प्रकाश निर्माण करण्यासाठी, तुम्हाला निळा एलईडी सर्वात जास्त तीव्रतेवर आणि हिरवा आणि लाल एलईडी सर्वात कमी तीव्रतेवर सेट करावा लागेल. पांढऱ्या प्रकाशासाठी, तुम्ही तिन्ही एलईडी सर्वात जास्त तीव्रतेवर सेट कराल.
रंग मिसळणे
इतर रंग तयार करण्यासाठी, तुम्ही तीन रंग वेगवेगळ्या तीव्रतेमध्ये एकत्र करू शकता. प्रत्येक LED ची तीव्रता समायोजित करण्यासाठी तुम्ही PWM सिग्नल वापरू शकता.
एलईडी एकमेकांच्या खूप जवळ असल्याने, आपले डोळे तीन रंगांचे वैयक्तिकरित्या न पाहता रंगांच्या संयोजनाचे परिणाम पाहतात.
रंग कसे एकत्र करायचे याची कल्पना येण्यासाठी, खालील चार्ट पहा.
हा सर्वात सोपा रंग मिश्रण चार्ट आहे, परंतु तो कसा कार्य करतो आणि वेगवेगळे रंग कसे तयार करायचे याची कल्पना देतो.आवश्यक भाग
या प्रकल्पासाठी तुम्हाला खालील भागांची आवश्यकता आहे:
- ESP32 DEVKIT V1 बोर्ड
- आरजीबी एलईडी
- ३x २२० ओम रेझिस्टर
- जम्पर वायर्स
- ब्रेडबोर्ड
योजनाबद्धकोड
आपण Arduino IDE वापरून ESP32 प्रोग्राम करू, म्हणून पुढे जाण्यापूर्वी ESP32 अॅड-ऑन इन्स्टॉल केले आहे याची खात्री करा: (जर तुम्ही ही पायरी आधीच केली असेल, तर तुम्ही पुढील पायरीवर जाऊ शकता.)
- Arduino IDE मध्ये ESP32 अॅड-ऑन स्थापित करणे
सर्किट असेंबल केल्यानंतर, कोड उघडा.
प्रोजेक्ट_६_आरजीबी_एलईडी_Webarduino IDE मध्ये _Server.ino.
कोड अपलोड करण्यापूर्वी, तुमचे नेटवर्क क्रेडेन्शियल्स घालायला विसरू नका जेणेकरून ESP तुमच्या स्थानिक नेटवर्कशी कनेक्ट होऊ शकेल.कोड कसा काम करतो
ESP32 स्केच WiFi.h लायब्ररी वापरते.खालील ओळी विनंतीमधील R, G आणि B पॅरामीटर्स ठेवण्यासाठी स्ट्रिंग व्हेरिअबल्स परिभाषित करतात.
पुढील चार व्हेरिएबल्स नंतर HTTP रिक्वेस्ट डीकोड करण्यासाठी वापरले जातात.
GPIO साठी तीन व्हेरिएबल्स तयार करा जे स्ट्रिप R, G आणि B पॅरामीटर्स नियंत्रित करतील. या प्रकरणात आपण GPIO 13, GPIO 12 आणि GPIO 14 वापरत आहोत.
या GPIOs ला PWM सिग्नल आउटपुट करावे लागतात, म्हणून आपल्याला प्रथम PWM गुणधर्म कॉन्फिगर करावे लागतील. PWM सिग्नल फ्रिक्वेन्सी 5000 Hz वर सेट करा. नंतर, प्रत्येक रंगासाठी एक PWM चॅनेल जोडा.
आणि शेवटी, PWM चॅनेलचे रिझोल्यूशन 8-बिट वर सेट करा.
सेटअप() मध्ये, PWM चॅनेलना PWM गुणधर्म नियुक्त करा.
संबंधित GPIOs ला PWM चॅनेल जोडा.
खालील कोड विभाग तुमच्या मध्ये रंग निवडक प्रदर्शित करतो web पेजवर क्लिक करा आणि तुम्ही निवडलेल्या रंगावर आधारित विनंती करा.
जेव्हा तुम्ही रंग निवडता तेव्हा तुम्हाला खालील फॉरमॅटसह एक विनंती मिळते.
तर, आपल्याला R, G आणि B पॅरामीटर्स मिळविण्यासाठी ही स्ट्रिंग विभाजित करावी लागेल. पॅरामीटर्स redString, greenString आणि blueString व्हेरिएबल्समध्ये सेव्ह केले जातात आणि त्यांची व्हॅल्यू 0 ते 255 दरम्यान असू शकते.ESP32 वापरून स्ट्रिप नियंत्रित करण्यासाठी, HTTP वरून डीकोड केलेल्या मूल्यांसह PWM सिग्नल जनरेट करण्यासाठी ledcWrite() फंक्शन वापरा. विनंती
टीप: ESP32 सह PWM बद्दल अधिक जाणून घ्या: प्रोजेक्ट 3 ESP32 PWM(अॅनालॉग आउटपुट)
ESP8266 सह स्ट्रिप नियंत्रित करण्यासाठी, आपल्याला फक्त वापरावे लागेल
HTPP रिक्वेस्टमधून डीकोड केलेल्या व्हॅल्यूजसह PWM सिग्नल जनरेट करण्यासाठी analogWrite() फंक्शन.
अॅनालॉगराईट(रेडपिन, रेडस्ट्रिंग.टूइंट());
अॅनालॉगराईट(ग्रीनपिन, ग्रीनस्ट्रिंग.टूइंट());
अॅनालॉगराइट(ब्लूपिन, ब्लूस्ट्रिंग.टूइंट())
आपल्याला स्ट्रिंग व्हेरिअबलमध्ये व्हॅल्यूज मिळत असल्याने, आपल्याला toInt() मेथड वापरून त्यांना पूर्णांकांमध्ये रूपांतरित करावे लागेल.
प्रात्यक्षिक
तुमचे नेटवर्क क्रेडेन्शियल्स टाकल्यानंतर, योग्य बोर्ड आणि COM पोर्ट निवडा आणि कोड तुमच्या ESP32 वर अपलोड करा. कोड संदर्भ चरण अपलोड करा.
अपलोड केल्यानंतर, ११५२०० च्या बॉड रेटने सिरीयल मॉनिटर उघडा आणि ESP सक्षम/रीसेट बटण दाबा. तुम्हाला बोर्डचा IP पत्ता मिळेल.तुमचा ब्राउझर उघडा आणि ESP IP पत्ता घाला. आता, RGB LED साठी रंग निवडण्यासाठी रंग निवडक वापरा.
त्यानंतर, रंग प्रभावी होण्यासाठी तुम्हाला "रंग बदला" बटण दाबावे लागेल.RGB LED बंद करण्यासाठी, काळा रंग निवडा.
सर्वात मजबूत रंग (रंग निवडीच्या वरच्या बाजूला) चांगले परिणाम देतील.
प्रोजेक्ट ७ ESP32 रिले Web सर्व्हर
ESP32 सह रिले वापरणे हा AC घरगुती उपकरणे दूरस्थपणे नियंत्रित करण्याचा एक उत्तम मार्ग आहे. हे ट्यूटोरियल ESP32 सह रिले मॉड्यूल कसे नियंत्रित करायचे ते स्पष्ट करते.
आपण रिले मॉड्यूल कसे काम करते, रिलेला ESP32 शी कसे जोडायचे आणि एक तयार कसे करायचे ते पाहू. web रिले दूरस्थपणे नियंत्रित करण्यासाठी सर्व्हर.
रिले सादर करत आहे
रिले हा विद्युतरित्या चालवला जाणारा स्विच आहे आणि इतर कोणत्याही स्विचप्रमाणे, तो चालू किंवा बंद करता येतो, विद्युत प्रवाह जाऊ देतो किंवा देऊ शकत नाही. तो कमी व्हॉल्यूमने नियंत्रित केला जाऊ शकतो.tages, ESP32 GPIO द्वारे प्रदान केलेल्या 3.3V प्रमाणे आणि आम्हाला उच्च व्हॉल्यूम नियंत्रित करण्यास अनुमती देतेtagजसे की १२ व्ही, २४ व्ही किंवा मेन व्हॉल्यूमtage (युरोपमध्ये २३० व्ही आणि अमेरिकेत १२० व्ही).डाव्या बाजूला, उच्च व्हॉल्यूम जोडण्यासाठी तीन सॉकेटचे दोन संच आहेतtages, आणि उजव्या बाजूला असलेल्या पिन (कमी व्हॉल्यूमtage) ESP32 GPIO शी कनेक्ट करा.
मुख्य खंडtagई कनेक्शनमागील फोटोमध्ये दाखवलेल्या रिले मॉड्यूलमध्ये दोन कनेक्टर आहेत, प्रत्येकी तीन सॉकेट आहेत: कॉमन (COM), नॉर्मली क्लोज्ड (NC), आणि नॉर्मली ओपन (NO).
- COM: तुम्हाला नियंत्रित करायचा असलेला विद्युत प्रवाह कनेक्ट करा (मुख्य व्हॉल्यूमtagई).
- NC (सामान्यपणे बंद): जेव्हा तुम्हाला रिले डिफॉल्टनुसार बंद करायचे असते तेव्हा सामान्यपणे बंद केलेले कॉन्फिगरेशन वापरले जाते. NC म्हणजे COM पिन जोडलेले असतात, म्हणजेच जोपर्यंत तुम्ही ESP32 वरून रिले मॉड्यूलला सर्किट उघडण्यासाठी आणि करंट प्रवाह थांबवण्यासाठी सिग्नल पाठवत नाही तोपर्यंत करंट वाहत असतो.
- नाही (सामान्यपणे उघडा): सामान्यपणे उघडलेले कॉन्फिगरेशन उलट काम करते: NO आणि COM पिनमध्ये कोणताही संबंध नाही, म्हणून सर्किट बंद करण्यासाठी तुम्ही ESP32 वरून सिग्नल पाठवला नाही तर सर्किट तुटते.
नियंत्रण पिनलो-वॉल्यूमtage बाजूला चार पिनचा संच आणि तीन पिनचा संच आहे. पहिल्या संचात मॉड्यूल चालू करण्यासाठी VCC आणि GND आणि खालच्या आणि वरच्या रिले नियंत्रित करण्यासाठी अनुक्रमे इनपुट 1 (IN1) आणि इनपुट 2 (IN2) असतात.
जर तुमच्या रिले मॉड्यूलमध्ये फक्त एकच चॅनेल असेल, तर तुमच्याकडे फक्त एकच IN पिन असेल. जर तुमच्याकडे चार चॅनेल असतील, तर तुमच्याकडे चार IN पिन असतील, इत्यादी.
तुम्ही IN पिनना पाठवलेला सिग्नल रिले सक्रिय आहे की नाही हे ठरवतो. जेव्हा इनपुट सुमारे 2V पेक्षा कमी जातो तेव्हा रिले ट्रिगर होतो. याचा अर्थ असा की तुमच्याकडे खालील परिस्थिती असतील:
- सामान्यपणे बंद केलेले कॉन्फिगरेशन (NC):
- उच्च सिग्नल - विद्युत प्रवाह वाहत आहे
- कमी सिग्नल - विद्युत प्रवाह वाहत नाही.
- सामान्यतः उघडा कॉन्फिगरेशन (नाही):
- उच्च सिग्नल - विद्युत प्रवाह वाहत नाही.
- कमी सिग्नल - प्रवाहात विद्युत प्रवाह
जेव्हा बहुतेक वेळा विद्युत प्रवाह वाहत असतो तेव्हा तुम्ही सामान्यपणे बंद केलेली संरचना वापरावी आणि तुम्हाला ती कधीकधी थांबवायची असेल.
जेव्हा तुम्हाला विद्युत प्रवाह अधूनमधून वाहायचा असेल तेव्हा सामान्यपणे उघडलेले कॉन्फिगरेशन वापरा (उदा.ampले, अल चालू कराamp कधीकधी).
वीज पुरवठा निवडपिनच्या दुसऱ्या संचामध्ये GND, VCC आणि JD-VCC पिन असतात.
JD-VCC पिन रिलेच्या इलेक्ट्रोमॅग्नेटला पॉवर देते. लक्षात घ्या की मॉड्यूलमध्ये VCC आणि JD-VCC पिन जोडणारा जंपर कॅप आहे; येथे दाखवलेला पिवळा आहे, परंतु तुमचा पिवळा रंग असू शकतो.
जंपर कॅप चालू असताना, VCC आणि JD-VCC पिन जोडलेले असतात. याचा अर्थ रिले इलेक्ट्रोमॅग्नेट थेट ESP32 पॉवर पिनवरून चालवला जातो, त्यामुळे रिले मॉड्यूल आणि ESP32 सर्किट एकमेकांपासून भौतिकदृष्ट्या वेगळे नसतात.
जंपर कॅपशिवाय, तुम्हाला JD-VCC पिनद्वारे रिलेच्या इलेक्ट्रोमॅग्नेटला पॉवर अप करण्यासाठी एक स्वतंत्र पॉवर सोर्स प्रदान करणे आवश्यक आहे. ते कॉन्फिगरेशन मॉड्यूलच्या बिल्ट-इन ऑप्टोकप्लरसह रिलेला ESP32 पासून भौतिकरित्या वेगळे करते, जे इलेक्ट्रिकल स्पाइक्सच्या बाबतीत ESP32 ला होणारे नुकसान टाळते.
योजनाबद्धचेतावणी: उच्च व्हॉल्यूमचा वापरtagई पॉवर सप्लायमुळे गंभीर दुखापत होऊ शकते.
म्हणून, उच्च पुरवठा व्हॉल्यूमऐवजी 5 मिमी एलईडी वापरले जातातtagप्रयोगात ई बल्ब. जर तुम्हाला मेन व्हॉल्यूमची माहिती नसेल तरtagतुम्हाला मदत करण्यासाठी कोणालातरी विचारा. ESP प्रोग्राम करताना किंवा तुमच्या सर्किटला वायरिंग करताना सर्वकाही मेन व्हॉल्यूमपासून डिस्कनेक्ट केले आहे याची खात्री करा.tage.ESP32 साठी लायब्ररी स्थापित करणे
हे बांधण्यासाठी web सर्व्हरवर, आम्ही ESPAsync वापरतोWebसर्व्हर लायब्ररी आणि AsyncTCP लायब्ररी.
ESPAsync स्थापित करणेWebसर्व्हर लायब्ररी
स्थापित करण्यासाठी पुढील चरणांचे अनुसरण करा ESPAसिंकWebसर्व्हर ग्रंथालय:
- ESPAsync डाउनलोड करण्यासाठी येथे क्लिक करा.Webसर्व्हर लायब्ररी. तुमच्याकडे असायला हवे
तुमच्या डाउनलोड फोल्डरमधील .zip फोल्डर - .zip फोल्डर अनझिप करा आणि तुम्हाला ESPAsync मिळेल.Webसर्व्हर-मास्टर फोल्डर
- ESPAsync वरून तुमचे फोल्डर पुनर्नामित कराWebसर्व्हर-मास्टर ते ESPAsyncWebसर्व्हर
- ESPAsync हलवाWebसर्व्हर फोल्डर तुमच्या Arduino IDE इंस्टॉलेशन लायब्ररी फोल्डरमध्ये
किंवा, तुमच्या Arduino IDE मध्ये, तुम्ही Sketch > Include वर जाऊ शकता.
लायब्ररी > .ZIP लायब्ररी जोडा… आणि तुम्ही नुकतीच डाउनलोड केलेली लायब्ररी निवडा.
ESP32 साठी AsyncTCP लायब्ररी स्थापित करणे
द ESPAसिंकWebसर्व्हर ग्रंथालयाला आवश्यक आहे असिंक्रोनस टीसीपी काम करण्यासाठी लायब्ररी. अनुसरण करा
ती लायब्ररी स्थापित करण्यासाठी पुढील पायऱ्या:
- AsyncTCP लायब्ररी डाउनलोड करण्यासाठी येथे क्लिक करा. तुमच्या डाउनलोड फोल्डरमध्ये .zip फोल्डर असावे.
- .zip फोल्डर अनझिप करा आणि तुम्हाला AsyncTCP-master फोल्डर मिळेल.
१. तुमच्या फोल्डरचे नाव AsyncTCP-master वरून AsyncTCP असे बदला.
३. AsyncTCP फोल्डर तुमच्या Arduino IDE इंस्टॉलेशन लायब्ररी फोल्डरमध्ये हलवा.
४. शेवटी, तुमचा Arduino IDE पुन्हा उघडा.
किंवा, तुमच्या Arduino IDE मध्ये, तुम्ही Sketch > Include वर जाऊ शकता.
लायब्ररी > .ZIP लायब्ररी जोडा… आणि तुम्ही नुकतीच डाउनलोड केलेली लायब्ररी निवडा.
कोड
आपण Arduino IDE वापरून ESP32 प्रोग्राम करू, म्हणून पुढे जाण्यापूर्वी ESP32 अॅड-ऑन इन्स्टॉल केले आहे याची खात्री करा: (जर तुम्ही ही पायरी आधीच केली असेल, तर तुम्ही पुढील पायरीवर जाऊ शकता.)
Arduino IDE मध्ये ESP32 अॅड-ऑन स्थापित करणे
आवश्यक लायब्ररी स्थापित केल्यानंतर, Project_7_ESP32_Relay_ कोड उघडा.Webarduino IDE मध्ये _Server.ino.
कोड अपलोड करण्यापूर्वी, तुमचे नेटवर्क क्रेडेन्शियल्स घालायला विसरू नका जेणेकरून ESP तुमच्या स्थानिक नेटवर्कशी कनेक्ट होऊ शकेल.प्रात्यक्षिक
आवश्यक बदल केल्यानंतर, कोड तुमच्या ESP32 वर अपलोड करा. कोड संदर्भ चरण अपलोड करा.
११५२०० च्या बॉड रेटने सिरीयल मॉनिटर उघडा आणि त्याचा आयपी अॅड्रेस मिळवण्यासाठी ESP32 EN बटण दाबा. त्यानंतर, तुमच्या स्थानिक नेटवर्कमध्ये ब्राउझर उघडा आणि अॅक्सेस मिळवण्यासाठी ESP32 आयपी अॅड्रेस टाइप करा. web सर्व्हर
११५२०० च्या बॉड रेटने सिरीयल मॉनिटर उघडा आणि त्याचा आयपी अॅड्रेस मिळवण्यासाठी ESP32 EN बटण दाबा. त्यानंतर, तुमच्या स्थानिक नेटवर्कमध्ये ब्राउझर उघडा आणि अॅक्सेस मिळवण्यासाठी ESP32 आयपी अॅड्रेस टाइप करा. web सर्व्हरटीप: तुमचा ब्राउझर आणि ESP32 एकाच LAN शी जोडलेले असले पाहिजेत.
तुमच्या कोडमध्ये तुम्ही परिभाषित केलेल्या रिलेच्या संख्येइतके दोन बटणे असलेले तुम्हाला खालीलप्रमाणे काहीतरी मिळाले पाहिजे.आता, तुम्ही तुमच्या स्मार्टफोनचा वापर करून तुमचे रिले नियंत्रित करण्यासाठी बटणे वापरू शकता.
प्रोजेक्ट_८_आउटपुट_स्टेट_सिंक्रोनायझेशन_ Web_सर्व्हर
या प्रकल्पात ESP32 किंवा ESP8266 आउटपुट कसे नियंत्रित करायचे ते दाखवले आहे. web सर्व्हर आणि एक भौतिक बटण एकाच वेळी. आउटपुट स्थिती वर अपडेट केली जाते web पेज फिजिकल बटणाद्वारे बदलले आहे की नाही web सर्व्हर
प्रकल्प संपलाview
चला प्रकल्प कसा काम करतो यावर एक नजर टाकूया.ESP32 किंवा ESP8266 मध्ये a web सर्व्हर जो तुम्हाला आउटपुटची स्थिती नियंत्रित करण्यास अनुमती देतो;
- वर्तमान आउटपुट स्थिती वर प्रदर्शित केली जाते web सर्व्हर;
- ईएसपी एका भौतिक पुशबटनशी देखील जोडलेला असतो जो समान आउटपुट नियंत्रित करतो;
- जर तुम्ही भौतिक puhsbutton वापरून आउटपुट स्थिती बदलली तर त्याची सध्याची स्थिती देखील वर अपडेट केली जाते. web सर्व्हर
थोडक्यात, हा प्रकल्प तुम्हाला a वापरून समान आउटपुट नियंत्रित करण्याची परवानगी देतो web सर्व्हर आणि पुश बटण एकाच वेळी. जेव्हा जेव्हा आउटपुट स्थिती बदलते, तेव्हा web सर्व्हर अपडेट केला आहे.
आवश्यक भाग
सर्किट तयार करण्यासाठी आवश्यक असलेल्या भागांची यादी येथे आहे:
- ESP32 DEVKIT V1 बोर्ड
- 5 मिमी एलईडी
- २२० ओहम रेझिस्टर
- बटन दाब
- 10k ओम रेझिस्टर
- ब्रेडबोर्ड
- जम्पर वायर्स
योजनाबद्धESP32 साठी लायब्ररी स्थापित करणे
हे बांधण्यासाठी web सर्व्हरवर, आम्ही ESPAsync वापरतोWebसर्व्हर लायब्ररी आणि AsyncTCP लायब्ररी. (जर तुम्ही ही पायरी आधीच केली असेल, तर तुम्ही पुढील पायरीवर जाऊ शकता.)
ESPAsync स्थापित करणेWebसर्व्हर लायब्ररी
ESPAsync स्थापित करण्यासाठी पुढील चरणांचे अनुसरण करा.Webसर्व्हर लायब्ररी:
- ESPAsync डाउनलोड करण्यासाठी येथे क्लिक करा.Webसर्व्हर लायब्ररी. तुमच्याकडे असायला हवे
तुमच्या डाउनलोड फोल्डरमधील .zip फोल्डर - .zip फोल्डर अनझिप करा आणि तुम्हाला ESPAsync मिळेल.Webसर्व्हर-मास्टर फोल्डर
- ESPAsync वरून तुमचे फोल्डर पुनर्नामित कराWebसर्व्हर-मास्टर ते ESPAsyncWebसर्व्हर
- ESPAsync हलवाWebसर्व्हर फोल्डर तुमच्या Arduino IDE इंस्टॉलेशन लायब्ररी फोल्डरमध्ये
किंवा, तुमच्या Arduino IDE मध्ये, तुम्ही Sketch > Include वर जाऊ शकता.
लायब्ररी > .ZIP लायब्ररी जोडा… आणि तुम्ही नुकतीच डाउनलोड केलेली लायब्ररी निवडा.
ESP32 साठी AsyncTCP लायब्ररी स्थापित करणे
ESPAsyncWebसर्व्हर लायब्ररीला काम करण्यासाठी AsyncTCP लायब्ररीची आवश्यकता आहे. ती लायब्ररी स्थापित करण्यासाठी पुढील चरणांचे अनुसरण करा:
- AsyncTCP लायब्ररी डाउनलोड करण्यासाठी येथे क्लिक करा. तुमच्या डाउनलोड फोल्डरमध्ये .zip फोल्डर असावे.
- .zip फोल्डर अनझिप करा आणि तुम्हाला AsyncTCP-master फोल्डर मिळेल.
- तुमच्या फोल्डरचे नाव AsyncTCP-master वरून AsyncTCP असे बदला.
- तुमच्या Arduino IDE इंस्टॉलेशन लायब्ररी फोल्डरमध्ये AsyncTCP फोल्डर हलवा.
- शेवटी, तुमचा Arduino IDE पुन्हा उघडा.
किंवा, तुमच्या Arduino IDE मध्ये, तुम्ही Sketch > Include वर जाऊ शकता.
लायब्ररी > .ZIP लायब्ररी जोडा… आणि तुम्ही नुकतीच डाउनलोड केलेली लायब्ररी निवडा.
कोड
आपण Arduino IDE वापरून ESP32 प्रोग्राम करू, म्हणून पुढे जाण्यापूर्वी ESP32 अॅड-ऑन इन्स्टॉल केले आहे याची खात्री करा: (जर तुम्ही ही पायरी आधीच केली असेल, तर तुम्ही पुढील पायरीवर जाऊ शकता.)
Arduino IDE मध्ये ESP32 अॅड-ऑन स्थापित करणे
आवश्यक लायब्ररी स्थापित केल्यानंतर, कोड उघडा.
प्रोजेक्ट_८_आउटपुट_स्टेट_सिंक्रोनायझेशन_Webarduino IDE मध्ये _Server.ino.
कोड अपलोड करण्यापूर्वी, तुमचे नेटवर्क क्रेडेन्शियल्स घालायला विसरू नका जेणेकरून ESP तुमच्या स्थानिक नेटवर्कशी कनेक्ट होऊ शकेल.
कोड कसा काम करतो
बटण स्थिती आणि आउटपुट स्थिती
ledState व्हेरिएबल LED आउटपुट स्थिती धारण करतो. डीफॉल्टसाठी, जेव्हा web सर्व्हर सुरू झाला, तो कमी आहे.
पुशबटन दाबले गेले आहे की नाही हे शोधण्यासाठी buttonState आणि lastButtonState वापरले जातात.बटण (web सर्व्हर)
आम्ही index_html व्हेरिएबलवर बटण तयार करण्यासाठी HTML समाविष्ट केले नाही.
कारण आपल्याला सध्याच्या LED स्थितीनुसार ते बदलता येईल असे वाटते, जे पुशबटनाने देखील बदलता येते.
तर, आपण %BUTTONPLACEHOLDER% बटणासाठी एक प्लेसहोल्डर तयार केला आहे जो नंतर कोडवर बटण तयार करण्यासाठी HTML मजकुरासह बदलला जाईल (हे प्रोसेसर() फंक्शनमध्ये केले जाते).प्रोसेसर ()
प्रोसेसर() फंक्शन HTML टेक्स्टवरील कोणत्याही प्लेसहोल्डरला प्रत्यक्ष व्हॅल्यूजने बदलते. प्रथम, ते तपासते की HTML टेक्स्टमध्ये काही आहे का
प्लेसहोल्डर %BUTTONPLACEHOLDER%.नंतर, theoutputState() फंक्शन कॉल करा जे सध्याची आउटपुट स्थिती परत करते. आपण ते outputStateValue व्हेरिएबलमध्ये सेव्ह करू.
त्यानंतर, योग्य स्थितीसह बटण प्रदर्शित करण्यासाठी HTML मजकूर तयार करण्यासाठी त्या मूल्याचा वापर करा:
आउटपुट स्थिती बदलण्यासाठी HTTP GET विनंती (जावास्क्रिप्ट)
जेव्हा तुम्ही बटण दाबता तेव्हा toggleCheckbox() फंक्शन कॉल होते. हे फंक्शन वेगवेगळ्या ठिकाणी रिक्वेस्ट करेल. URLएलईडी चालू किंवा बंद करण्यासाठी.LED चालू करण्यासाठी, ते /update?state=1 वर विनंती करते. URL:
अन्यथा, ते /update?state=0 वर विनंती करते. URL.
स्थिती अपडेट करण्यासाठी HTTP GET विनंती (जावास्क्रिप्ट)
आउटपुट स्थिती अपडेट ठेवण्यासाठी web सर्व्हरवर, आपण खालील फंक्शन कॉल करतो जे /state वर नवीन विनंती करते URL प्रत्येक सेकंद.विनंत्या हाताळा
मग, जेव्हा ESP32 किंवा ESP8266 ला त्या विनंत्या मिळतात तेव्हा काय होते ते आपल्याला हाताळावे लागेल URLs.
जेव्हा रूटवर विनंती प्राप्त होते /URL, आम्ही प्रोसेसरसह HTML पृष्ठ पाठवतो.खालील ओळी तुम्हाला /update?state=1 किंवा /update?state=0 वर विनंती मिळाली आहे का ते तपासतात. URL आणि त्यानुसार ledState बदलते.
जेव्हा /राज्यावर विनंती प्राप्त होते URL, आम्ही सध्याची आउटपुट स्थिती पाठवतो:
लूप()
लूप() मध्ये, आपण पुशबटन डिबाउंस करतो आणि ledState च्या मूल्यानुसार LED चालू किंवा बंद करतो. चलप्रात्यक्षिक
तुमच्या ESP32 बोर्डवर कोड अपलोड करा. कोड संदर्भ चरण अपलोड करा.
नंतर, ११५२०० च्या बॉड रेटने सिरीयल मॉनिटर उघडा. आयपी अॅड्रेस मिळविण्यासाठी ऑन-बोर्ड EN/RST बटण दाबा.तुमच्या स्थानिक नेटवर्कवर ब्राउझर उघडा आणि ESP IP पत्ता टाइप करा. तुम्हाला त्यात प्रवेश असेल web खाली दाखवल्याप्रमाणे सर्व्हर.
टीप: तुमचा ब्राउझर आणि ESP32 एकाच LAN शी जोडलेले असले पाहिजेत.तुम्ही वरील बटण टॉगल करू शकता web LED चालू करण्यासाठी सर्व्हर.
तुम्ही त्याच LED ला भौतिक पुशबटनाने देखील नियंत्रित करू शकता. त्याची स्थिती नेहमीच स्वयंचलितपणे अपडेट केली जाईल web सर्व्हर
प्रकल्प ९ ESP32 DHT11 Web सर्व्हर
या प्रोजेक्टमध्ये, तुम्ही असिंक्रोनस ESP32 कसे तयार करायचे ते शिकाल. web DHT11 असलेला सर्व्हर जो Arduino IDE वापरून तापमान आणि आर्द्रता प्रदर्शित करतो.
पूर्वतयारी
द web आम्ही तयार केलेला सर्व्हर रिफ्रेश न करता वाचन आपोआप अपडेट करेल web पृष्ठ
या प्रकल्पाद्वारे तुम्ही शिकाल:
- DHT सेन्सर्सवरून तापमान आणि आर्द्रता कशी वाचायची;
- असिंक्रोनस तयार करा web सर्व्हर वापरून ESPAसिंकWebसर्व्हर लायब्ररी;
- रिफ्रेश न करता सेन्सर रीडिंग आपोआप अपडेट करा web पृष्ठ
असिंक्रोनस Web सर्व्हर
बांधण्यासाठी web आम्ही वापरणार असलेल्या सर्व्हरचा ESPAसिंकWebसर्व्हर लायब्ररी जे असिंक्रोनस तयार करण्याचा एक सोपा मार्ग प्रदान करते web सर्व्हर. असिंक्रोनस तयार करणे web सर्व्हरला अनेक अॅडव्हान्स आहेत.tagलायब्ररी गिटहब पेजमध्ये नमूद केल्याप्रमाणे, जसे की:
- "एकाच वेळी एकापेक्षा जास्त कनेक्शन हाताळा";
- "जेव्हा तुम्ही प्रतिसाद पाठवता, तेव्हा सर्व्हर पार्श्वभूमीत प्रतिसाद पाठवण्याची काळजी घेत असताना तुम्ही इतर कनेक्शन हाताळण्यास लगेच तयार असता";
- "टेम्पलेट्स हाताळण्यासाठी साधे टेम्पलेट प्रोसेसिंग इंजिन";
आवश्यक भाग
हे ट्युटोरियल पूर्ण करण्यासाठी तुम्हाला खालील भागांची आवश्यकता आहे:
- ESP32 विकास मंडळ
- DHT11 मॉड्यूल
- ब्रेडबोर्ड
- जम्पर वायर्स
योजनाबद्धलायब्ररी स्थापित करणे
या प्रकल्पासाठी तुम्हाला काही लायब्ररी स्थापित कराव्या लागतील:
- द DHT आणि अॅडाफ्रूट युनिफाइड सेन्सर DHT सेन्सरवरून वाचण्यासाठी ड्रायव्हर लायब्ररी.
- ESPAसिंकWebसर्व्हर आणि असंकालिक TCP असिंक्रोनस तयार करण्यासाठी लायब्ररी web सर्व्हर
त्या लायब्ररी स्थापित करण्यासाठी पुढील सूचनांचे अनुसरण करा:
डीएचटी सेन्सर लायब्ररी स्थापित करणे
Arduino IDE वापरून DHT सेन्सरमधून वाचण्यासाठी, तुम्हाला हे स्थापित करावे लागेल DHT सेन्सर लायब्ररी. लायब्ररी स्थापित करण्यासाठी पुढील चरणांचे अनुसरण करा.
- DHT सेन्सर लायब्ररी डाउनलोड करण्यासाठी येथे क्लिक करा. तुमच्या डाउनलोड फोल्डरमध्ये .zip फोल्डर असावे.
- .zip फोल्डर अनझिप करा आणि तुम्हाला DHT-sensor-library-master फोल्डर मिळेल.
- तुमच्या फोल्डरचे नाव DHT-sensor-library-master वरून DHT_sensor असे बदला.
- तुमच्या Arduino IDE इंस्टॉलेशन लायब्ररी फोल्डरमध्ये DHT_sensor फोल्डर हलवा.
- शेवटी, तुमचा Arduino IDE पुन्हा उघडा.
अॅडाफ्रूट युनिफाइड सेन्सर ड्रायव्हर स्थापित करणे
तुम्हाला हे देखील स्थापित करावे लागेल अॅडाफ्रूट युनिफाइड सेन्सर ड्रायव्हर लायब्ररी DHT सेन्सरसह काम करण्यासाठी. लायब्ररी स्थापित करण्यासाठी पुढील चरणांचे अनुसरण करा.
- अॅडाफ्रूट युनिफाइड सेन्सर लायब्ररी डाउनलोड करण्यासाठी येथे क्लिक करा. तुमच्या डाउनलोड फोल्डरमध्ये .zip फोल्डर असावे.
- .zip फोल्डर अनझिप करा आणि तुम्हाला Adafruit_sensor-master फोल्डर मिळेल.
- तुमच्या फोल्डरचे नाव Adafruit_sensor-master वरून Adafruit_sensor असे बदला.
- तुमच्या Arduino IDE इंस्टॉलेशन लायब्ररी फोल्डरमध्ये Adafruit_sensor फोल्डर हलवा.
- शेवटी, तुमचा Arduino IDE पुन्हा उघडा.
ESPAsync स्थापित करणेWebसर्व्हर लायब्ररी
स्थापित करण्यासाठी पुढील चरणांचे अनुसरण करा ESPAसिंकWebसर्व्हर ग्रंथालय:
- ESPAsync डाउनलोड करण्यासाठी येथे क्लिक करा.Webसर्व्हर लायब्ररी. तुमच्याकडे असायला हवे
तुमच्या डाउनलोड फोल्डरमधील .zip फोल्डर - .zip फोल्डर अनझिप करा आणि तुम्ही
ESPAsync मिळवाWebसर्व्हर-मास्टर फोल्डर - ESPAsync वरून तुमचे फोल्डर पुनर्नामित कराWebसर्व्हर-मास्टर ते ESPAsyncWebसर्व्हर
- ESPAsync हलवाWebसर्व्हर फोल्डर तुमच्या Arduino IDE इंस्टॉलेशन लायब्ररी फोल्डरमध्ये
ESP32 साठी Async TCP लायब्ररी स्थापित करणे
द ESPAसिंकWebसर्व्हर ग्रंथालयाला आवश्यक आहे असिंक्रोनस टीसीपी लायब्ररी काम करण्यासाठी. ती लायब्ररी स्थापित करण्यासाठी पुढील चरणांचे अनुसरण करा:
- AsyncTCP लायब्ररी डाउनलोड करण्यासाठी येथे क्लिक करा. तुमच्या डाउनलोड फोल्डरमध्ये .zip फोल्डर असावे.
- .zip फोल्डर अनझिप करा आणि तुम्हाला AsyncTCP-master फोल्डर मिळेल.
- तुमच्या फोल्डरचे नाव AsyncTCP-master वरून AsyncTCP असे बदला.
- तुमच्या Arduino IDE इंस्टॉलेशन लायब्ररी फोल्डरमध्ये AsyncTCP फोल्डर हलवा.
- शेवटी, तुमचा Arduino IDE पुन्हा उघडा.
कोड
आपण Arduino IDE वापरून ESP32 प्रोग्राम करू, म्हणून पुढे जाण्यापूर्वी ESP32 अॅड-ऑन इन्स्टॉल केले आहे याची खात्री करा: (जर तुम्ही ही पायरी आधीच केली असेल, तर तुम्ही पुढील पायरीवर जाऊ शकता.)
Arduino IDE मध्ये ESP32 अॅड-ऑन स्थापित करणे
आवश्यक लायब्ररी स्थापित केल्यानंतर, कोड उघडा.
प्रकल्प_९_ESP३२_DHT११_Webarduino IDE मध्ये _Server.ino.
कोड अपलोड करण्यापूर्वी, तुमचे नेटवर्क क्रेडेन्शियल्स घालायला विसरू नका जेणेकरून ESP तुमच्या स्थानिक नेटवर्कशी कनेक्ट होऊ शकेल.कोड कसा काम करतो
पुढील परिच्छेदांमध्ये आपण कोड कसा काम करतो ते स्पष्ट करू. अधिक जाणून घ्यायचे असल्यास वाचत रहा किंवा अंतिम निकाल पाहण्यासाठी प्रात्यक्षिक विभागात जा.
लायब्ररी आयात करत आहे
प्रथम, आवश्यक लायब्ररी आयात करा. वायफाय, ESPAsyncWebसर्व्हर आणि ESPAsyncTCP तयार करण्यासाठी आवश्यक आहेत web सर्व्हर. DHT11 किंवा DHT22 सेन्सर्समधून वाचण्यासाठी Adafruit_Sensor आणि DHT लायब्ररी आवश्यक आहेत.चलांची व्याख्या
DHT डेटा पिन कोणत्या GPIO ला जोडला आहे ते परिभाषित करा. या प्रकरणात, ते GPIO 4 शी जोडलेले आहे.नंतर, तुम्ही वापरत असलेला DHT सेन्सर प्रकार निवडा. आमच्या माजी मध्येampबरं, आपण DHT22 वापरत आहोत. जर तुम्ही दुसरा प्रकार वापरत असाल, तर तुम्हाला फक्त तुमचा सेन्सर अनकमेंट करायचा आहे आणि इतर सर्वांवर कमेंट करायची आहे.
आपण आधी परिभाषित केलेल्या प्रकार आणि पिनसह DHT ऑब्जेक्ट इन्स्टँटिएट करा.एक असिंक्रोनस तयार कराWebपोर्ट ८० वर सर्व्हर ऑब्जेक्ट.
तापमान आणि आर्द्रता कार्ये वाचा
आम्ही दोन फंक्शन्स तयार केले आहेत: एक तापमान वाचण्यासाठी आम्ही दोन फंक्शन्स तयार केले आहेत: एक तापमान वाचण्यासाठी (readDHTTemperature()) आणि दुसरे आर्द्रता वाचण्यासाठी (readDHTHumidity()).सेन्सर रीडिंग मिळवणे हे dht ऑब्जेक्टवर readTemperature() आणि readHumidity() पद्धती वापरण्याइतकेच सोपे आहे.
जर सेन्सरला रीडिंग मिळाले नाही तर दोन डॅश (–) परत करण्याची अट देखील आपल्याकडे आहे.
रीडिंग्ज स्ट्रिंग प्रकार म्हणून परत केल्या जातात. फ्लोटला स्ट्रिंगमध्ये रूपांतरित करण्यासाठी, String() फंक्शन वापरा.
डिफॉल्टनुसार, आपण तापमान सेल्सिअस अंशांमध्ये वाचत असतो. फॅरेनहाइट अंशांमध्ये तापमान मिळविण्यासाठी, सेल्सिअसमध्ये तापमान टिप्पणी करा आणि फॅरेनहाइटमध्ये तापमान टिप्पणी न करा, जेणेकरून तुम्हाला खालील गोष्टी मिळतील:
कोड अपलोड करा
आता, तुमच्या ESP32 वर कोड अपलोड करा. तुम्ही योग्य बोर्ड आणि COM पोर्ट निवडला आहे याची खात्री करा. कोड संदर्भ चरण अपलोड करा.
अपलोड केल्यानंतर, ११५२०० च्या बॉड रेटने सिरीयल मॉनिटर उघडा. ESP32 रीसेट बटण दाबा. ESP32 IP पत्ता सिरीयलमध्ये प्रिंट केलेला असावा. मॉनिटरप्रात्यक्षिक
ब्राउझर उघडा आणि ESP32 IP पत्ता टाइप करा. तुमचा web सर्व्हरने नवीनतम सेन्सर रीडिंग प्रदर्शित केले पाहिजेत.
टीप: तुमचा ब्राउझर आणि ESP32 एकाच LAN शी जोडलेले असले पाहिजेत.
लक्षात घ्या की तापमान आणि आर्द्रता वाचन रिफ्रेश न करता स्वयंचलितपणे अद्यतनित केले जातात web पृष्ठ
प्रोजेक्ट_१०_ESP३२_OLED_डिस्प्ले
या प्रोजेक्टमध्ये Arduino IDE वापरून ESP32 सह 0.96 इंचाचा SSD1306 OLED डिस्प्ले कसा वापरायचा ते दाखवले आहे.
०.९६ इंचाचा ओएलईडी डिस्प्ले सादर करत आहोत.
द OLED डिस्प्ले या ट्युटोरियलमध्ये आपण SSD1306 मॉडेल वापरू: खालील आकृतीत दाखवल्याप्रमाणे, १२८×६४ पिक्सेलसह एकरंगी, ०.९६ इंचाचा डिस्प्ले.OLED डिस्प्लेला बॅकलाइटची आवश्यकता नसते, ज्यामुळे अंधारात खूप चांगला कॉन्ट्रास्ट मिळतो. याव्यतिरिक्त, त्याचे पिक्सेल चालू असतानाच ऊर्जा वापरतात, त्यामुळे OLED डिस्प्ले इतर डिस्प्लेच्या तुलनेत कमी पॉवर वापरतो.
OLED डिस्प्ले I2C कम्युनिकेशन प्रोटोकॉल वापरत असल्याने, वायरिंग खूप सोपे आहे. तुम्ही खालील तक्त्याचा संदर्भ म्हणून वापर करू शकता.
OLED पिन | ईएसपीएक्सएनएक्स |
विन | 3.3V |
GND | GND |
SCL | GPIO 22 |
SDA | GPIO 21 |
योजनाबद्धSSD1306 OLED लायब्ररी - ESP32 स्थापित करत आहे
ESP32 सह OLED डिस्प्ले नियंत्रित करण्यासाठी अनेक लायब्ररी उपलब्ध आहेत.
या ट्युटोरियलमध्ये आपण दोन अॅडाफ्रूट लायब्ररी वापरू: अॅडाफ्रूट_एसएसडी१३०६ लायब्ररी आणि अॅडाफ्रूट_जीएफएक्स लायब्ररी.
त्या लायब्ररी स्थापित करण्यासाठी पुढील चरणांचे अनुसरण करा.
- तुमचा Arduino IDE उघडा आणि Sketch > Include Library > Manage Libraries वर जा. Library Manager उघडेल.
- सर्च बॉक्समध्ये “SSD1306” टाइप करा आणि Adafruit वरून SSD1306 लायब्ररी इन्स्टॉल करा.
- Adafruit वरून SSD1306 लायब्ररी इन्स्टॉल केल्यानंतर, सर्च बॉक्समध्ये “GFX” टाइप करा आणि लायब्ररी इन्स्टॉल करा.
- लायब्ररी स्थापित केल्यानंतर, तुमचा Arduino IDE रीस्टार्ट करा.
कोड
आवश्यक लायब्ररी स्थापित केल्यानंतर, arduino IDE मध्ये Project_10_ESP32_OLED_Display.ino उघडा. कोड
आपण Arduino IDE वापरून ESP32 प्रोग्राम करू, म्हणून पुढे जाण्यापूर्वी ESP32 अॅड-ऑन इन्स्टॉल केले आहे याची खात्री करा: (जर तुम्ही ही पायरी आधीच केली असेल, तर तुम्ही पुढील पायरीवर जाऊ शकता.)
Arduino IDE मध्ये ESP32 अॅड-ऑन स्थापित करणेकोड कसा काम करतो
लायब्ररी आयात करत आहे
प्रथम, तुम्हाला आवश्यक लायब्ररी आयात कराव्या लागतील. I2C वापरण्यासाठी वायर लायब्ररी आणि डिस्प्लेवर लिहिण्यासाठी अॅडाफ्रूट लायब्ररी: Adafruit_GFX आणि Adafruit_SSD1306.OLED डिस्प्ले सुरू करा
मग, तुम्ही तुमची OLED रुंदी आणि उंची परिभाषित करा. या उदाहरणातampबरं, आपण १२८×६४ OLED डिस्प्ले वापरत आहोत. जर तुम्ही इतर आकार वापरत असाल, तर तुम्ही ते SCREEN_WIDTH आणि SCREEN_HEIGHT व्हेरिएबल्समध्ये बदलू शकता.नंतर, I2C कम्युनिकेशन प्रोटोकॉल (&Wire) वापरून पूर्वी परिभाषित केलेल्या रुंदी आणि उंचीसह डिस्प्ले ऑब्जेक्ट सुरू करा.
(-1) पॅरामीटरचा अर्थ असा आहे की तुमच्या OLED डिस्प्लेमध्ये RESET पिन नाही. जर तुमच्या OLED डिस्प्लेमध्ये RESET पिन असेल, तर तो GPIO शी जोडलेला असावा. अशा परिस्थितीत, तुम्ही GPIO क्रमांक पॅरामीटर म्हणून पास केला पाहिजे.
सेटअप() मध्ये, डीबगिंगसाठी ११५२०० च्या बॉड राउटवर सिरीयल मॉनिटर सुरू करा.OLED डिस्प्ले खालील प्रकारे begin() पद्धतीने सुरू करा:
जर आपण डिस्प्लेशी कनेक्ट करू शकलो नाही तर, हे स्निपेट सिरीयल मॉनिटरवर एक संदेश देखील प्रिंट करते.
जर तुम्ही वेगळा OLED डिस्प्ले वापरत असाल तर तुम्हाला OLED पत्ता बदलावा लागू शकतो. आमच्या बाबतीत, पत्ता 0x3C आहे.
डिस्प्ले सुरू केल्यानंतर, दोन सेकंदांचा विलंब जोडा, जेणेकरून OLED ला मजकूर लिहिण्यापूर्वी सुरू करण्यासाठी पुरेसा वेळ मिळेल:
डिस्प्ले साफ करा, फॉन्ट आकार, रंग सेट करा आणि मजकूर लिहा
डिस्प्ले सुरू केल्यानंतर, clearDisplay() पद्धतीने डिस्प्ले बफर साफ करा:
मजकूर लिहिण्यापूर्वी, तुम्हाला मजकूराचा आकार, रंग आणि OLED मध्ये मजकूर कुठे प्रदर्शित होईल हे सेट करावे लागेल.
setTextSize() पद्धत वापरून फॉन्ट आकार सेट करा:setTextColor() पद्धतीचा वापर करून फॉन्टचा रंग सेट करा:
WHITE पांढरा फॉन्ट आणि काळी पार्श्वभूमी सेट करते.
setCursor(x,y) पद्धतीचा वापर करून मजकूर कुठे सुरू होतो ते स्थान परिभाषित करा. या प्रकरणात, आपण मजकूर (0,0) निर्देशांकांवर - वरच्या डाव्या कोपऱ्यात - सुरू करण्यासाठी सेट करत आहोत.शेवटी, तुम्ही println() पद्धत वापरून डिस्प्लेवर मजकूर पाठवू शकता, खालीलप्रमाणे
नंतर, स्क्रीनवर मजकूर प्रत्यक्षात प्रदर्शित करण्यासाठी तुम्हाला display() पद्धत कॉल करावी लागेल.
अॅडाफ्रूट ओएलईडी लायब्ररी मजकूर सहजपणे स्क्रोल करण्यासाठी उपयुक्त पद्धती प्रदान करते.
- startscrollright(0x00, 0x0F): डावीकडून उजवीकडे मजकूर स्क्रोल करा
- startscrollleft(0x00, 0x0F): मजकूर उजवीकडून डावीकडे स्क्रोल करा
- startscrolldiagright(0x00, 0x07): डाव्या खालच्या कोपऱ्यापासून उजवीकडे वरच्या कोपऱ्यात मजकूर स्क्रोल करा startscrolldiagleft(0x00, 0x07): उजव्या खालच्या कोपऱ्यापासून डाव्या वरच्या कोपऱ्यात मजकूर स्क्रोल करा
कोड अपलोड करा
आता, तुमच्या ESP32 वर कोड अपलोड करा. कोड संदर्भ चरण अपलोड करा.
कोड अपलोड केल्यानंतर, OLED स्क्रोलिंग मजकूर प्रदर्शित करेल.
कागदपत्रे / संसाधने
![]() |
LAFVIN ESP32 बेसिक स्टार्टर किट [pdf] सूचना पुस्तिका ESP32 बेसिक स्टार्टर किट, ESP32, बेसिक स्टार्टर किट, स्टार्टर किट |