在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

淺談ESP8266的IO口功能

CHANBAEK ? 來源:TonyCode ? 作者:TonyCode ? 2023-05-19 14:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

IOT Kit開發板上提供了一些基礎的外設及傳感器,本篇通過驅動按鍵、LED燈、繼電器、光敏電阻電機來學習ESP8266的IO口功能,即數字輸入、數字輸出、模擬輸入和PWM模擬輸出功能。

1. 數字IO

Arduino for ESP8266可以使用Arduino操作IO口的方式,即使用pinMode、digitalRead和digitalWrite函數進行操作:

  • 使用pinMode(pin, mode)來設置GPIO口工作模式,pin取值范圍0 ~ 16,mode可選值見下文;
  • 使用digitalRead(pin)來讀取GPIO口電平,返回值為HIGH或LOW,即1和0;
  • 使用digitalWrite(pin, value)來設置輸出狀態,value可選值為HIGH或LOW,即1和0;
  • 數字引腳0-15可設置為INPUT、OUTPUT、INPUT_PULLUP模式(輸入、輸出、上拉輸入);數字引腳16可設置為INPUT、OUTPUT、INPUT_PULLDOWN_16模式(輸入、輸出、下拉輸入);啟動時,這些引腳默認配置為INPUT模式;
  • 引腳還可以提供其他功能,例如串口、I2C、SPI,這些函數通常由相應的庫配置。

在IOT Kit開發板上,按鍵一端連接GPIO16引腳,另一端通過電阻連接到3.3V電源,配置按鍵下拉輸入模式,則按鍵按下輸入高,按鍵抬起輸入低。

char keyCheck(void)
{  
 static char key_up=1;//按鍵松開
 if(key_up&&(digitalRead(Key_Pin)==HIGH))
 {
  delay(10);//去抖動 
  key_up=0;
  if(digitalRead(Key_Pin)==HIGH)return 1;
 }else if(digitalRead(Key_Pin)==LOW)key_up=1;      
  return 0;// 無按鍵按下
}

繼電器連接GPIO15,通過下圖可知,輸出高電平繼電器開,輸出低電平繼電器關。ESP8266模塊上的LED燈連接GPIO2,輸出高電平關閉,輸出低電平打開。

圖片

繼電器電路圖

if(keyCheck()==1)
{
  key_sta = !key_sta;
  digitalWrite(Relay_Pin, key_sta);
  digitalWrite(Led_Pin, !key_sta);
}

2. 模擬IO

ESP8266 有一個可供用戶使用的 ADC 通道。它可用于讀取 ADC 引腳上的電壓,或讀取模塊電源電壓 (VCC)。要讀取施加到 ADC 引腳的外部電壓,使用analogRead(A0),電壓量程為0 ~ 1.0V,ADC值范圍為0 ~ 1023。

在IOT Kit開發板上,光敏電阻通過分壓電阻連接到ADC引腳。當光線亮時,光敏電阻阻值減小,分壓電壓小,ADC值小,反之ADC值變大。

oled.print("ADC:");
oled.print(analogRead(A0)); //A0引腳ADC值 范圍0~1023

GPIO0 ~ 16支持PWM輸出,具體說明如下:

  • 使用analogWrite(pin, value)來對pin上輸出PWM信號,value表示高電平保持時間,默認下value取值為0 ~ 1023,當value為0時即停止PWM輸出;
  • 使用analogWriteRange(new_range)修改PWM value可寫范圍,默認range為1023;
  • 使用analogWriteFreq(new_frequency)修改PWM頻率,new_frequency取值范圍100 ~ 40000Hz,默認為1000Hz;

IOT Kit開發板上的電機驅動芯片為L9110S,當兩個控制引腳INA和INB同時高電平或低電平時,電機停止,當兩個引腳一高一低時可對電機進行正反轉控制。

圖片

電機驅動電路

//加速正轉
  analogWrite(MotorB_Pin, 0);
  for(int i=10;i<30;i++)
  {
    analogWrite(MotorA_Pin, i);
    delay(10);
  }

  //減速反轉
  analogWrite(MotorA_Pin, 0);
   for(int i=30;i>10;i--)
  {
    analogWrite(MotorB_Pin, i);
    delay(10);
  }

3. 程序下載驗證

將開發板連接電腦進行程序下載,上傳完成后,OLED顯示ADC值,通過遮擋光敏電阻可看到數字改變。通過按鍵可控制繼電器及LED指示燈,電機以不同速度正反轉。

圖片

實現現象

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 傳感器
    +關注

    關注

    2565

    文章

    52916

    瀏覽量

    766630
  • PWM
    PWM
    +關注

    關注

    116

    文章

    5482

    瀏覽量

    219146
  • 開發板
    +關注

    關注

    25

    文章

    5659

    瀏覽量

    104287
  • IO口
    +關注

    關注

    3

    文章

    170

    瀏覽量

    24943
  • ESP8266
    +關注

    關注

    51

    文章

    965

    瀏覽量

    47335
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    ESP8266WIFI

    esp8266圖文,AT例程!!!!!!!!!!
    發表于 11-10 17:09 ?0次下載

    ESP8266系列模塊選型

    ESP8266系列模塊選型ESP8266 ESP-01 ESO-02
    發表于 01-05 17:34 ?37次下載

    ESP8266WiFi擴展板產品使用說明書

    ESP8266WiFi擴展板
    發表于 03-19 11:47 ?17次下載

    使用esp8266實現STM32聯網(最簡單USART方法)

    上一篇 esp8266怎么配置esp8266和USB轉TTL連接esp8266簡單介紹esp8266連接路由器esp8266通過路由器連接在
    發表于 11-22 11:51 ?1.3w次閱讀

    esp8266wifi實例

    ESP8266WiFi擴展板是深圳四博智聯科技有限公司開發的一款基于樂鑫ESP8266的超低功耗的UART-WiFi模塊,本文介紹了ESP8266的特點以及使用總結跟示例
    發表于 12-08 13:34 ?2w次閱讀

    esp8266中文資料匯總(esp8266引腳圖_與單片機連接_串口wifi實例)

    本文首先介紹了esp8266引腳圖功能esp8266特性,其次介紹了 單片機與ESP8266連接及最小系統連接與程序分享,最后介紹了
    發表于 05-24 08:36 ?22.8w次閱讀
    <b class='flag-5'>esp8266</b>中文資料匯總(<b class='flag-5'>esp8266</b>引腳圖_與單片機連接_串口wifi實例)

    ESP8266-NodeMCU

    ESP8266-NodeMCUESP8266-NodeMCU引腳功能1.1 可用引腳1.2 電壓電流限制1.3 特殊引腳情況說明1.4 上拉電阻/下拉電阻1.5 模擬輸入1.6 串行端口1.7 I
    發表于 10-25 16:51 ?44次下載
    <b class='flag-5'>ESP8266</b>-NodeMCU

    ESP8266

    優點1.性能穩定ESP8266EX 的工作溫度范圍大,且能夠保持穩定的性能,能適應各種操作環境。2.低功耗ESP8266EX 專為移動設備、可穿戴電子產品和物聯網應用而設計,通過多項專有技術實現了
    發表于 11-07 10:36 ?26次下載
    <b class='flag-5'>ESP8266</b>

    小白驅動C51+ESP8266局域網與APP通訊控制IO

    小白驅動C51+ESP8266局域網與APP通訊控制IO
    發表于 11-23 17:51 ?17次下載
    小白驅動C51+<b class='flag-5'>ESP8266</b>局域網與APP通訊控制<b class='flag-5'>IO</b><b class='flag-5'>口</b>

    esp筆記(2)使用Arduino IDE 開發 esp8266

    的 LED燈Esp8266 V3 開發板V3 開發板的MCU為esp8266,并且板載了USB轉串口模塊,使得我們可以通過串口打印將數據發送到PC中,GPIO2還連接了...
    發表于 12-05 14:51 ?55次下載
    <b class='flag-5'>esp</b>筆記(2)使用Arduino IDE 開發 <b class='flag-5'>esp8266</b>

    ESP8266】接入bl

    ESP8266】接入bl
    發表于 12-08 13:36 ?10次下載
    【<b class='flag-5'>ESP8266</b>】接入bl

    ESP8266學習之路——環境部署

    文章目錄前言ESP8266SDK前言ESP8266SDK官方鏈接
    發表于 12-22 18:47 ?30次下載
    <b class='flag-5'>ESP8266</b>學習之路——環境部署

    ESP8266硬件

    目前市面上有關ESP8266模組有很多的種類,但是都是使用的樂鑫公司開發的ESP8266的wifi模組,而且種類也很多。
    的頭像 發表于 02-10 14:25 ?5595次閱讀
    <b class='flag-5'>ESP8266</b>硬件

    ESP8266初次如何實現無線通信(基于電腦與ESP8266)

    的且集成的國產WIFI模塊,它有很多種型號,但是使用方法沒什么太大的區別,也可以說沒區別,有些看起來引腳比較多的ESP8266模塊只是將這個芯片的IO拓展出來了而已。還有 一種原因就是它采用的是Micropython編程的
    發表于 05-30 09:53 ?28次下載
    <b class='flag-5'>ESP8266</b>初次如何實現無線通信(基于電腦與<b class='flag-5'>ESP8266</b>)

    nodemcu和esp8266是什么關系?

    nodemcu和esp8266是什么關系 nodemcu和esp8266是什么關系?通俗理解就是nodemcu是一個開發板,基于esp8266的開發板。 目前市面上搭載有ESP8266
    的頭像 發表于 10-20 14:53 ?4484次閱讀
    nodemcu和<b class='flag-5'>esp8266</b>是什么關系?
    主站蜘蛛池模板: 欧美伊人网 | 免费观看理论片毛片 | 高清视频在线播放 | 中文字幕一区二区三区四区五区 | 欧美色图久久 | 美女黄页网站免费进入 | 潘金莲国产三级视频在线 | 一级 黄 色 毛片 | 成人三级在线播放线观看 | 免费视频网站在线看视频 | 色图插插插 | 色秀视频免费网站在线观看 | 亚洲成av人影片在线观看 | 天天干夜夜拍 | 日本亚洲欧美国产日韩ay高清 | se94se最新网站 | 国产精品福利一区 | 久久噜国产精品拍拍拍拍 | 看毛片网站 | 老师您的兔子好软水好多动漫视频 | 2021成人国产精品 | 色www亚洲国产张柏芝 | 女人18毛片水多 | 大黄蕉| 三级视频中文字幕 | 久久网色 | 啪啪黄色| 久久国产午夜精品理论篇小说 | 午夜影院在线观看视频 | 精品卡1卡2卡三卡免费视频 | 天天做天天爱夜夜想毛片 | 亚洲高清一区二区三区四区 | 成人网中文字幕色 | 天天操夜夜添 | 免费观看一级特黄三大片视频 | 欧美另类色 | 欧美日本三级 | 日本特级黄色录像 | 狠狠色噜噜狠狠狠狠97不卡 | 日本不卡高清视频 | 狠狠色狠狠色综合 |