精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

使用按鍵控制LED燈

CHANBAEK ? 來源:魚香ROS ? 作者:小魚 ? 2023-07-03 10:53 ? 次閱讀

你好,我是愛吃魚香ROS的小魚。上一節完成了LED燈的控制,本節我們學習下如何使用按鍵。

教程所使用硬件平臺為MicroROS學習板V1.0.0,可點擊閱讀原文購買及查看詳情

圖片

一、 按鍵檢測原理

圖片

上面的原理圖就是我們MicroROS開發板的BOOT按鍵的原理圖,該按鍵的位置在板子的左下角。

圖片

簡單的看下原理圖可知

  • BOOT按下時,1,2就被連通了,此時ESP_IO2就連接到了GND上,也就是連接到GNDESP_IO2的電平被拉低了。
  • BOOT沒有按下時,ESP_IO0通過R10連接到了3.3VESP_IO2引腳上的電壓就被拉高了。

二、 使用按鍵控制LED燈(無自鎖)

新建example03_key工程,在main.cpp輸入代碼。

/**
 * @file main.cpp
 * @author fishros@foxmail.com
 * @brief 使用按鍵控制LED燈,按著開,松開關
 * @version 0.1
 * @date 2022-12-19
 *
 * @copyright Copyright (c) 2022
 *
 */
#include < Arduino.h >

void setup()
{
  Serial.begin(115200);
  pinMode(0, INPUT);  // 設置2號引腳模式為OUTPUT模式
  pinMode(2, OUTPUT); // 設置2號引腳模式為OUTPUT模式
}

void loop()
{
  
  if (digitalRead(0) == LOW)
  {
    Serial.println("LED ON");
    digitalWrite(2, LOW); // 低電平,打開LED燈
  }
  else
  {

    Serial.println("LED OFF");
    digitalWrite(2, HIGH); // 高電平,關閉LED燈
  }
}

接著將代碼編譯燒錄到開發板上,按下按鍵,查看LED燈。

三、使用按鍵控制LED(自鎖開關)

所謂自鎖,就是按下開,再按一下關,看一下代碼實現

/**
 * @file main.cpp
 * @author fishros@foxmail.com
 * @brief 使用按鍵控制LED燈,按著開,松開關,自鎖開關
 * @version 0.1
 * @date 2022-12-19
 *
 * @copyright Copyright (c) 2022
 *
 */
#include < Arduino.h >

bool status = false;

void setup()
{
  Serial.begin(115200);
  pinMode(0, INPUT);  // 設置2號引腳模式為OUTPUT模式
  pinMode(2, OUTPUT); // 設置2號引腳模式為OUTPUT模式
}

void loop()
{
  // 自鎖開關
  if (digitalRead(0) == LOW)
  {
    delay(50); // 休眠50ms再次判斷,防止誤觸
    if (digitalRead(0) == LOW)
    {
      status = !status;
      while (digitalRead(0) == LOW) // 死循環等待放開按鍵
        ;
    }
  }

  if (status == true)
  {
    digitalWrite(2, LOW); // 低電平,打開LED燈
  }
  else
  {

    digitalWrite(2, HIGH); // 低電平,打開LED燈
  }

  /*
  // 按著開,松開關
  if (digitalRead(0) == LOW)
  {
    Serial.println("LED ON");
    digitalWrite(2, LOW); // 低電平,打開LED燈
  }
  else
  {

    Serial.println("LED OFF");
    digitalWrite(2, HIGH); // 高電平,關閉LED燈
  }
  */
}

這里稍微復雜一些,當按鍵按下時我們需要休眠50ms,防止誤觸,接著反置狀態,等待按鍵松開。

將代碼下載到開發板,按下按鍵,測試一下。

四、總結

本節我們通過學習按鍵的使用,掌握了GPIO的輸入,下一節我們將嘗試進階使用ADC,測量電池的電。

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

    關注

    1293

    文章

    6310

    瀏覽量

    232940
  • led燈
    +關注

    關注

    22

    文章

    1592

    瀏覽量

    107838
  • 按鍵
    +關注

    關注

    4

    文章

    223

    瀏覽量

    57572
  • Boot
    +關注

    關注

    0

    文章

    149

    瀏覽量

    35781
  • ROS
    ROS
    +關注

    關注

    1

    文章

    276

    瀏覽量

    16967
收藏 人收藏

    評論

    相關推薦

    STM32——按鍵控制LED(仿真+源碼)精選資料推薦

    今天小編又在野火上學習了按鍵控制LED,在這兒做個筆記順便分享大家,嘻嘻!直接上仿真圖:
    發表于 08-24 07:59

    如何使用HAL庫函數實現按鍵控制LED

    如何使用HAL庫函數實現按鍵控制LED
    發表于 11-16 06:25

    如何利用STM32實現按鍵控制LED

    如何利用STM32實現按鍵控制LED
    發表于 11-25 06:28

    STM32單片機是如何實現按鍵控制LED設計的

    STM32單片機是如何實現按鍵控制LED設計的?求大神解答
    發表于 11-25 06:50

    獨立按鍵按鍵控制led學習過程記錄

    藍橋杯單片機學習過程記錄(二)獨立按鍵按鍵控制led按鍵控制流水燈按鍵控制
    發表于 01-06 08:16

    如何通過按鍵控制LED和蜂鳴器?

    如何通過按鍵控制LED和蜂鳴器?什么叫上\下拉電阻呢?Static有哪些用途?
    發表于 01-18 07:41

    如何實現按鍵控制LED

    編程的要點是什么?如何實現按鍵控制LED
    發表于 01-26 08:04

    按鍵控制LED的閃爍亮滅工程文件免費下載

    本文檔的主要內容詳細介紹的是按鍵控制LED的閃爍亮滅工程文件免費下載。
    發表于 05-28 08:00 ?24次下載
    <b class='flag-5'>按鍵控制</b><b class='flag-5'>LED</b><b class='flag-5'>燈</b>的閃爍亮滅工程文件免費下載

    51單片機通過按鍵控制LED閃爍

    51單片機通過按鍵控制LED閃爍
    發表于 11-11 18:36 ?122次下載
    51單片機通過<b class='flag-5'>按鍵控制</b><b class='flag-5'>LED</b><b class='flag-5'>燈</b>閃爍

    HT32F5232學習之四種方法實現按鍵控制LED

    HT32F5232學習之四種方法實現按鍵控制LED
    發表于 11-29 16:51 ?11次下載
    HT32F5232學習之四種方法實現<b class='flag-5'>按鍵控制</b><b class='flag-5'>LED</b><b class='flag-5'>燈</b>

    按鍵控制LED

    基于51單片機仿真實現按鍵控制LED排的亮滅,壓縮包中有程序和電路圖。
    發表于 07-04 15:25 ?3次下載

    設計分享|74LS148實現按鍵控制LED

    74LS148實現按鍵控制LED
    的頭像 發表于 01-04 09:21 ?3656次閱讀

    使用51單片機實現按鍵控制LED的亮滅

    接前兩集,這集我們實現用按鍵控制LED的亮滅。首先,仍舊是分析硬件電路原理圖。
    發表于 07-11 11:40 ?6108次閱讀
    使用51單片機實現<b class='flag-5'>按鍵控制</b><b class='flag-5'>LED</b><b class='flag-5'>燈</b>的亮滅

    單片機獨立按鍵控制led程序

    單片機獨立按鍵控制LED程序 單片機獨立按鍵控制LED程序是一種簡單而有趣的電子學習項目,它
    的頭像 發表于 09-02 17:05 ?4491次閱讀

    stm32按鍵控制led亮滅

    stm32按鍵控制led亮滅? 在嵌入式系統中,硬件按鍵常常被用作開關輸入,控制LED
    的頭像 發表于 09-02 17:05 ?1w次閱讀