色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

怎樣使用ESP8266-01引腳和指示燈

454398 ? 來源:網(wǎng)絡(luò)整理 ? 作者:佚名 ? 2019-11-08 17:19 ? 次閱讀

第1步:ESP8266-01 Pins

怎樣使用ESP8266-01引腳和指示燈

ESP8266-01是最小的ESP8266模塊,只有8個管腳。在這些VCC中,GND,RST(復(fù)位)和CH_PD(片選)不是I/O引腳,但需要模塊操作。這樣就可以將GPIO0,GPIO2,TX和RX用作可能的I/O引腳,但即使這些引腳都具有預(yù)先分配的功能。 GPIO0和GPIO2確定模塊以哪種模式啟動,并且TX/RX引腳用于對模塊進(jìn)行編程以及用于串行I/O(通常用于調(diào)試)。 GPIO0和GPIO2需要連接上拉電阻,以確保模塊正確啟動。

步驟2:ESP8266編程技巧(espcomm失敗)

使用Arduino IDE編程ESP8266時(請參閱ESP8266-01 Wifi Shield),有時(通常)會在Arduino IDE中收到錯誤消息,例如:-

esp_com打開失敗

錯誤:失敗打開COM33錯誤:espcomm_open失敗

錯誤:espcomm_upload_mem失敗

在這種情況下,請按照以下步驟操作:-

檢查是否已在Arduino工具菜單中選擇了ESP8266板

檢查是否已在Arduino工具菜單中選擇了COM端口

將GPIO0接地的ESP8266重新通電(干凈)電源應(yīng)用程序,請參閱下文)

如果3)不能解決問題,請從計算機(jī)上拔下USB電纜,等待幾秒鐘,然后再將其重新插入

如果4)不能解決問題,從PC上拔掉USB電纜,關(guān)閉Arduino IDE,打開Arduino IDE,重新插入USB電纜。

在給ESP8266供電時,將GPIO0接地后,請確保干凈地供電。不要搖晃連接。 ESP8266 led應(yīng)該亮起并保持不閃爍。

步驟3:最佳技巧–使用I2C

使ESP8266-01額外輸入的最好技巧是使用I2C接口

一種選擇是使用GPIO0和GPIO2作為I2C總線。

使模塊正確啟動所需的上拉電阻可以加倍,因為I2C總線上拉電阻和總線上的其他從器件均是集電極開路,因此不應(yīng)下拉總線通電時。但是,在某些情況下,從站(尤其是具有備用電池的從站)可能會卡住并壓低總線。在這種情況下,您需要隔離總線,直到ESP8266進(jìn)入引導(dǎo)階段為止。

通過為I2C總線使用TX和RX可以避免此問題

注意:

GPIO1(TX)用作數(shù)據(jù)線,因為在加電時,您總是會在GPIO1上獲得一些調(diào)試輸出。沒有辦法抑制此輸出,但時鐘線(RX)會保持高電平,因此這些數(shù)據(jù)都不會被時鐘傳給從機(jī)

在對ESP8266進(jìn)行編程時,RX線會連接到ESP8266。程序員的輸出。編程結(jié)束時,ESP8266會重新啟動,并且330保護(hù)電阻可防止RX短路編程器的輸出驅(qū)動器

I2C串聯(lián)電阻可為TX,RX提供防止I2C總線短路的保護(hù)

ESP8266是3.3V器件,因此最好使用3.3V I2C從器件。如今,許多(但不是全部)I2C器件均為3.3V。 “通常,在一個設(shè)備的電壓高于另一個設(shè)備的電壓的系統(tǒng)中,有可能通過I2C連接兩個設(shè)備,而它們之間沒有任何電平轉(zhuǎn)換電路。技巧是將上拉電阻器連接到兩個電壓中的較低者。”(SparkFun I2C教程)對于5V和3.3V器件的混合,將上拉電阻器連接到3.3V線,如上所示。

使用I2C是向ESP8266-01添加多通道A-to-D轉(zhuǎn)換器的好方法,該轉(zhuǎn)換器不會暴露底層模塊的單個ADC輸入。例如,使用Adafruit 12位I2C 4通道ADC或模擬輸出SparkFun的I2C DAC Breakout – MCP4725板。 I2C總線還提供許多其他類型的傳感器

有關(guān)克服I2C問題的更多信息,請參見http://www.i2c-bus.org/i2c-primer/common-problems.。.。另請參閱I2C電池后備RTC可靠啟動的簡短方法,以幫助清除總線

第4步:將GPIO0/GPIO2用于OUTPUT,將RX用于INPUT

雖然可以通過WiFi連接發(fā)送調(diào)試消息,但是使用TX連接通常很方便。下一個示例顯示如何將GPIO0和GPIO2用作輸出,將RX用作輸入。

使用

Serial.begin(115200,SERIAL_8N1,SERIAL_TX_ONLY);

允許您將RX用作通用輸入(或其他輸出),同時仍將調(diào)試消息寫入串行。 RX引線中的330歐姆電阻再次連接到Flash編程器,可以防止編程器的驅(qū)動器短路。注意:必須先打開S1才能對ESP8266進(jìn)行編程。

可以從草圖訪問TX引腳,因為GPIO1和RX為GPIO3

使用GPIO0作為輸出時如何重新編程

注意:需要將GPIO0接地才能進(jìn)入編程模式。如果您將其拉高,則將其接地可能會損壞ESP8266芯片。當(dāng)代碼驅(qū)動GPIO0輸出時,對ESP8266進(jìn)行重新編程的安全方法是:-

a)關(guān)閉開發(fā)板電源 b)短GPIO0到gnd c)打開開發(fā)板電源,使其進(jìn)入編程模式由于GPIO0短路

d)消除了GPIO0的短路,因此在程序運行時您不會短路輸出

e)重新編程開發(fā)板 f)必要時重啟開發(fā)板。

步驟5:另一個技巧-使用GPIO0/GPIO2驅(qū)動繼電器并讀取按鈕

這里是另一種配置方式別針。注意:僅當(dāng)您的繼電器模塊具有隔離的輸入(N1和N1-com)時,此技巧才有效。由于此限制和支持代碼的復(fù)雜性,上一個示例以RX作為輸入為佳。

使用ESP8266 GPIO0/GPIO2/GPIO15引腳已經(jīng)介紹了如何一起使用GPIO0/GPIO2獲得額外的輸入。在這里,該示例將擴(kuò)展為使用GPIO0作為繼電器驅(qū)動器輸出,并使用GPIO0/GPIO2作為輸入。

此處是pdf格式的原理圖。

此處GPIO0被用作輸出以驅(qū)動繼電器,GPIO0/GPIO2用作輸入來讀取瞬時按鈕,該按鈕除了可以通過WiFi連接進(jìn)行遠(yuǎn)程控制之外,還可以用作手動操作來打開和關(guān)閉繼電器。如果在通電時按下瞬時按鈕,則也可用于啟用配置模式。

這里的訣竅是在ESP8266模塊初始化時仍保持GPIO0和GPIO2為高電平的同時進(jìn)行所有操作。

上拉電阻R1和R3為這兩個引腳提供了必要的高電平,但是必須確保連接到GPIO0和GPIO2的任何額外電路都不能將引腳拉低。光電隔離繼電器連接在+ 3.3V和GPIO0之間。這樣可在啟動時使GPIO0保持高電平,但在啟動后允許GPIO0作為輸出,并使繼電器輸入接地以操作繼電器。模塊初始化時是否操作瞬時按鈕都沒有關(guān)系,因為只需將GPIO0連接到GPIO2并將這兩個都連接到其上拉電阻即可。

檢測配置模式

使用ESP8266作為一個臨時訪問點,您可以按此處所述通過網(wǎng)頁進(jìn)行配置。該過程的一部分是在加電時使用按鈕或短路鏈接來指示要進(jìn)入配置模式的軟件。

ESP8266模塊初始化后,將運行 setup()代碼。在該代碼中,要檢測瞬時按鈕是否被按下,您無需使GPIO0為低電平即可為按鈕提供GND,然后檢查GPIO2輸入是否為低。該檢查的副作用是,當(dāng)設(shè)備進(jìn)入配置模式時,繼電器將始終處于運行狀態(tài)。一旦看到繼電器操作,就可以釋放按鈕,因為屆時將已檢測到其輸入。這是一些示例代碼,可在 setup()

boolean configMode = false; // not in config mode normally

void setup() {

pinMode(0, OUTPUT);

digitalWrite(0, LOW); // make GPIO0 output low

// check GPIO2 input to see if push button pressed connecting it to GPIO0

configMode = (digitalRead(2) == LOW);

if (configMode) {

// start AP and get ready to serve config web page

// leave relay on to indicate in config mode

//。..。..

} else {

// normal usage

// make GPIO0 HIGH to turn off the relay

digitalWrite(0, HIGH);

//。..。.

}

// rest of setup()

}

檢測手動覆蓋按鈕

中進(jìn)行此操作。開機(jī)時按下按鈕以啟用配置模式。除了能夠通過WiFi鏈接控制繼電器之外,我們還希望使用該按鈕作為手動替代來打開和關(guān)閉繼電器。

此處不介紹繼電器的WiFi控制,但可以使用pfodApp輕松完成。有關(guān)如何使用pfodDesigner為ESP8266模塊生成Arduino代碼的信息,請參見OLIMEX菜單生成器。

本節(jié)將介紹如何檢測何時按下按鈕,指示用戶想要切換繼電器,即打開它。如果是OFF,則將其打開;如果關(guān)閉,則將其打開。原理圖與上面相同,所有技巧都在代碼中。有兩種情況需要考慮:-

繼電器已關(guān)閉,用戶希望使用按鈕將其打開,

繼電器已打開,用戶希望

繼電器關(guān)閉,用戶希望使用按鈕將其打開。

在這種情況下, GPIO0為高電平。在這種情況下,實際上GPIO0可以作為輸入,因為上拉電阻R1將確保繼電器不會打開。那是訣竅。在這種情況下,將GPIO0設(shè)為輸入,將GPIO2輸出設(shè)為LOW,然后當(dāng)用戶按下按鈕時,將發(fā)生兩件事:-a)由于GPIO2通過按鈕提供的接地,繼電器將打開,并且b)輸入GPIO0將變?yōu)榈碗娖健T摯a檢查輸入GPIO0的狀態(tài),并在輸入GPIO0變?yōu)榈碗娖綍r知道使用已按下按鈕并希望繼電器打開。然后,該代碼使GPIO0變?yōu)镺utput LOW,以在釋放按鈕時使繼電器保持打開狀態(tài)。

繼電器打開,用戶希望使用按鈕將其關(guān)閉。

在這種情況下,從上述情況開始,GPIO0為輸出低電平,繼電器保持打開狀態(tài)。現(xiàn)在,在這種情況下,將GPIO2設(shè)為輸入(由R3上拉),然后當(dāng)用戶按下按鈕時,輸入GPIO2被GPIO0上的LOW輸出拉低。當(dāng)用戶釋放按鈕時,代碼將檢測到低電平到高電平的過渡,然后將GPIO0設(shè)為輸入,由于上拉電阻R1而釋放繼電器,并使GPIO2變?yōu)檩敵鯨OW,以針對上述情況i)進(jìn)行設(shè)置。

還有另一個竅門。對于情況ii),我們需要GPIO2作為輸入,該輸入可檢測到從低電平到高電平的轉(zhuǎn)換以關(guān)閉繼電器。但是,如果我們在情況i)的末尾制作GPIO2并輸入,那么當(dāng)用戶釋放他們剛剛按下以打開繼電器的按鈕時,我們將獲得從低到高的轉(zhuǎn)換。為避免立即再次關(guān)閉繼電器,將忽略繼電器打開后的第一個從低到高的過渡,因為這只是用戶釋放他們按下的按鈕來打開繼電器。

示例循環(huán)( )繼電器手動超越控制代碼

在此代碼中,為簡單起見,我忽略了開關(guān)的反跳。輸入應(yīng)在任何實際應(yīng)用中進(jìn)行去抖動。

示例代碼在此處,ESP8266_01pinMagic_1.ino

再次使TX/RX引腳可用進(jìn)行串行調(diào)試或用作其他I/O

結(jié)論

此頁顯示了如何充分利用ESP8266-01上可用的有限引腳。將GPIO0/GPIO2用作I2C總線可提供最大的擴(kuò)展,但是如果您的項目不使用I2C,您仍可以使用GPIO0/GPIO2來驅(qū)動繼電器并檢測按鈕輸入。無論哪種情況,TX/RX都可用于串行調(diào)試,或者如果您通過WiFi鏈接發(fā)送調(diào)試打印語句,則這些引腳也可用于常規(guī)I/O。
責(zé)任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 指示燈
    +關(guān)注

    關(guān)注

    3

    文章

    416

    瀏覽量

    28310
  • ESP8266
    +關(guān)注

    關(guān)注

    50

    文章

    962

    瀏覽量

    45097
收藏 人收藏

    評論

    相關(guān)推薦

    指示燈LED資料分享

    指示燈板,用CMOS N溝道驅(qū)動
    發(fā)表于 11-07 10:50 ?0次下載

    ESP8266 太空人動畫的 OLED 顯示

    ESP8266 太空人動畫的 OLED 顯示
    的頭像 發(fā)表于 10-08 15:06 ?294次閱讀
    <b class='flag-5'>ESP8266</b> 太空人動畫的 OLED 顯示

    esp32和esp8266代碼共用嗎

    本文將介紹ESP32和ESP8266兩款流行的微控制器在代碼共用性方面的可能性與差異性。 一、引言 隨著物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,越來越多的智能設(shè)備開始進(jìn)入我們的生活。其中,ESP32和ESP82
    的頭像 發(fā)表于 08-19 18:23 ?1189次閱讀

    esp8266esp32區(qū)別是什么

    以下是關(guān)于ESP8266ESP32的主要區(qū)別: 處理器和架構(gòu) : ESP8266 :使用一個Tensilica L106 80MHz的處理器,屬于Xtensa架構(gòu)。 ESP32 :使
    的頭像 發(fā)表于 08-19 18:16 ?5509次閱讀

    esp8266不燒錄可以使用嗎

    ESP8266是一款非常流行的Wi-Fi模塊,廣泛應(yīng)用于物聯(lián)網(wǎng)項目中。然而,如果不進(jìn)行燒錄,ESP8266將無法正常工作。 1. ESP8266簡介 ESP8266是一款由Espres
    的頭像 發(fā)表于 08-19 17:28 ?860次閱讀

    ESP8266-01如何更新固件?

    您好,我有 ESP8266-01,我需要通過 Arduino 更新固件......我有這個版本......esp_iot_sdk_v1.4.0_15_09_18.zip 可以給任何鏈接重言同義嗎?
    發(fā)表于 07-22 07:33

    如何將ESP8266-01模塊用作物理層設(shè)備?

    嗨,大家好。我想將 ESP8266-01 模塊用作物理層設(shè)備,就像射頻發(fā)射器和接收器一樣。 一個模塊將用作發(fā)射器,它在沒有 WI-Fi 連接的情況下工作,并將發(fā)送原始數(shù)據(jù),第二個模塊將接收數(shù)據(jù),并且
    發(fā)表于 07-19 12:18

    ESP8266可以使用僅支持標(biāo)準(zhǔn)SPI的閃存芯片嗎?

    ]][espDownloader.pyo][行:457][錯誤]:ESP8266芯片閃存下載錯誤esp_write_flash。 我使用帶有SST25VF080B閃光ESP8266-0
    發(fā)表于 07-19 07:52

    如何使用ESP8266-01構(gòu)建一個電池供電的數(shù)據(jù)記錄器?

    為此類應(yīng)用量身定制的。在 TI 的數(shù)據(jù)手冊上,它看起來非常簡單: 1) TPL5111(帶有其 DRV 引腳)接通電壓調(diào)節(jié)器的 ENABLE 引腳。 2) ESP8266-01 由穩(wěn)壓器供電,執(zhí)行其
    發(fā)表于 07-19 06:53

    使用ESP8266-01和Arduino SDK安裝AT固件失敗了怎么解決?

    在使用我的 ESP8266-01 和 Arduino SDK 玩了一會兒后,我想再次在其上安裝 AT 固件,但我失敗了。 我嘗試從ESP8266_NONOS_SDK-3.0.5開始,按如下方式安裝它
    發(fā)表于 07-19 06:08

    ESP8266-01適合長時間使用嗎?

    我正在使用ESP8266-01,運行NONOS_SDK_V2.0.0_16_07_19。程序正在使芯片進(jìn)入深度睡眠 2 分鐘,然后收集數(shù)據(jù)。它運行良好大約 ~20 小時,ESP UART 輸出符合
    發(fā)表于 07-18 06:45

    ESP8266-01在幾個小時后停止響應(yīng)了如何解決?

    我已經(jīng)使用 Arduino IDE 為我的家庭自動化項目編寫了 ESP8266-01ESP-01 會在一段時間后停止響應(yīng)接收到的 UDP 廣播數(shù)據(jù)。 有人可以告訴我如何解決這個問題嗎?
    發(fā)表于 07-15 07:31

    ESP8266-01將ch_pd引腳與直接vcc連接,電池功耗持續(xù)非常高,怎么解決?

    我使用 ESP8266-01 開發(fā)產(chǎn)品并與其他主機(jī) MCU 接口,主機(jī) MCU 使用 UART 和 AT 命令進(jìn)行 ESP 通信。我們的產(chǎn)品是在低功耗的電池源上,如果我想與主機(jī) MCU 建立
    發(fā)表于 07-15 06:37

    基于SDK2.0的ESP8266-01閃存失敗的原因?

    如果我的固件基于 SDK2.0,我無法刷新一堆 ESP8266-01。在其他用戶的支持下(見線程:http://www.esp8266.com/viewtopic.php?f= ...編號
    發(fā)表于 07-11 06:12

    國產(chǎn)低成本W(wǎng)i-Fi SoC解決方案芯片ESP8266ESP8285對比差異

    ESP8266ESP8285對比差異 ESP8285相當(dāng)于在ESP8266基礎(chǔ)上多加了1/2MB Flash, ESP8285與
    的頭像 發(fā)表于 05-17 11:44 ?1369次閱讀
    國產(chǎn)低成本W(wǎng)i-Fi SoC解決方案芯片<b class='flag-5'>ESP8266</b>與<b class='flag-5'>ESP</b>8285對比差異
    主站蜘蛛池模板: 99re8热视频这在线视频| 伊人久久综在合线亚洲| 快播在线电影网站| 国产中文视频| 国产毛片女人18水多| 国产高潮国产高潮久久久久久 | 国产乱码精品一区二区三区四川| 潮 喷女王cytherea| A级毛片无码久久精品免费| 91亚洲精品福利在线播放| 777琪琪午夜理论电影网| 97人摸人人澡人人人超一碰| 87.6在线收听| 99久久精品久久久| aa级毛片毛片免费观看久| chinese情侣自拍啪hd| 爱豆剧果冻传媒在线播放| 成人免费视频在线| 国产AV无码成人黄网站免费| 国产精品99精品无码视亚| 国产青青草原| 狠狠撩色姣姣综合久久| 精子网久久国产精品| 久久日本精品在线热| 免费精品一区二区三区AA片 | 99热都是精品| 啊轻点啊再深点视频免费| 哒哒哒影院在线观看免费高清| 范冰冰hdxxxx| 国产一级做a爰片久久毛片男| 簧片在线免费观看| 久久婷婷久久一区二区三区| 女人被躁到高潮嗷嗷叫免费| 人与人特黄一级| 性虎成人网| 伊久久| a免费视频| 国产传媒18精品免费1区| 含羞草最新版本| 久久综合久久鬼| 秋霞伦理电影在2017韩国在线伦|