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

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指示燈,電機以不同速度正反轉。

圖片

實現現象

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

    關注

    2552

    文章

    51239

    瀏覽量

    754818
  • PWM
    PWM
    +關注

    關注

    114

    文章

    5193

    瀏覽量

    214256
  • 開發板
    +關注

    關注

    25

    文章

    5083

    瀏覽量

    97729
  • IO口
    +關注

    關注

    3

    文章

    170

    瀏覽量

    24099
  • ESP8266
    +關注

    關注

    50

    文章

    962

    瀏覽量

    45142
收藏 人收藏

    評論

    相關推薦

    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 ?16次下載

    使用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 ?1.9w次閱讀

    esp8266 at指令集詳解

    ESP8266可廣泛應用于智能電網、智能交通、智能家具、手持設備、工業控制等領域。本文介紹了esp8266 at指令集,以及ESP8266使用AT指令開發示例
    發表于 12-08 13:52 ?14.4w次閱讀
    <b class='flag-5'>esp8266</b> at指令集詳解

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

    本文首先介紹了esp8266引腳圖功能esp8266特性,其次介紹了 單片機與ESP8266連接及最小系統連接與程序分享,最后介紹了
    發表于 05-24 08:36 ?22.6w次閱讀
    <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 ?43次下載
    <b class='flag-5'>ESP8266</b>-NodeMCU

    ESP8266 wifi模塊開發匯總

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ESP8266 wifi模塊開發匯總?ESP8266 wifi模塊開發匯總本文檔主要介紹開發者在ESP8266開發中常見的一些問題。 這些
    發表于 11-05 19:21 ?188次下載
    <b class='flag-5'>ESP8266</b> wifi模塊開發匯總

    小白驅動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學習之路——環境部署

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

    ESP8266硬件

    目前市面上有關ESP8266模組有很多的種類,但是都是使用的樂鑫公司開發的ESP8266的wifi模組,而且種類也很多。
    的頭像 發表于 02-10 14:25 ?4845次閱讀
    <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 ?3779次閱讀
    nodemcu和<b class='flag-5'>esp8266</b>是什么關系?
    主站蜘蛛池模板: 一二三四视频免费社区5| 考好老师让你做一次H| 亚洲精品日韩在线观看视频| 美女伊人网| 国产精品欧美久久久久天天影视| 中文字幕视频在线观看| 色橹橹欧美在线观看视频高清| 2023极品少妇XXXO露脸| 午夜伦4480yy妇女久久 | 交换邻居波多野结衣中文字幕| bl(高h)文| 在线国产三级| 亚在线观看免费视频入口| 祺鑫WRITEAS流出来了| 久久久久久久久女黄9999| 国产电影一区二区三区| WWW国产无套内射久久| 中国xxxxxxxxx孕交| 亚洲精品动漫免费二区| 视频成人永久免费视频| 破苞流血哭泣 magnet| 恋夜秀场支持安卓版全部视频国产 | 亚洲精品不卡视频| 三级中国免费的| 欧美日韩一级黄色片| 麻豆国产自制在线观看| 大学生一级毛片免费看| 99久久国产露脸国语对白| 熟妇的味道HD中文字幕| 欧美囗交xx bbb视频| 毛片在线全部免费观看| 久久精品亚洲AV高清网站性色| 国内免费视频成人精品| 99精品国产AV一区二区麻豆| 伊人久久综合热青草| 亚洲另类中文字幕| 亚洲 综合 欧美在线视频| 无套内射纹身女视频| 天堂岛www| 欧美精品九九99久久在免费线| 两个客户一起吃我的奶|