[esp32 + LVGL]物理按键控制屏幕上开关和LED闪烁

这篇具有很好参考价值的文章主要介绍了[esp32 + LVGL]物理按键控制屏幕上开关和LED闪烁。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

esp32  lvgl物理按键 教程,esp32,ui,Esp32,LVGL

1.简述

IO0 对应按键 控制 IO2LED闪烁,同时当LED亮的时候开关闭合,当LED灭的时候LED闪烁。
为什么这么做,因为手里没有触摸屏。

2. 实现原理

首先我们要明白开关闭合的原理,对于触摸屏来说,当你触摸开关的时候会触发点击事件,同时给开关控件添加点击事件。
添加点击事件,也就是开关闭合

 lv_obj_add_state(guider_ui.screen_sw_1,LV_STATE_CHECKED);
清除点击事件,也就是开关打开
lv_obj_clear_state(guider_ui.screen_sw_1,LV_STATE_CHECKED);

#3.部分代码

    pinMode(LED,OUTPUT);
    pinMode(key, INPUT);
}
    bool state_led = 0;
    uint8_t key_state = 0;
void key_scan()
{
    if(digitalRead(key)==LOW){
        delay(10);
        if(digitalRead(key)==LOW){
            key_state++;
            if(key_state>=200) key_state =200;
        }
    }
    else key_state = 0;
}
void loop()
{    key_scan();
    if(key_state==2){
        state_led = !state_led;
        if(state_led){
        digitalWrite(LED,LOW);
        lv_obj_clear_state(guider_ui.screen_sw_1,LV_STATE_CHECKED);
        }


        else {digitalWrite(LED,HIGH);
           lv_obj_add_state(guider_ui.screen_sw_1,LV_STATE_CHECKED);
        }
    }
    lv_timer_handler(); /* let the GUI do its work */
    delay( 5 );
}

ps: 我上面这种做法很不建议,很时消耗资源,导致LVGL运行十分的卡顿,LVGL内置键盘,鼠标,编码器的接口,因此当没有触摸屏幕的时候用以上器件最为合适了。文章来源地址https://www.toymoban.com/news/detail-541780.html

到了这里,关于[esp32 + LVGL]物理按键控制屏幕上开关和LED闪烁的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 用STM32单击按键实现LED闪烁和双击按键实现LED呼吸灯效果

    在嵌入式系统中,按键和LED是最常见的外设之一。本文将介绍如何使用STM32微控制器实现按键的单击和双击检测,并通过控制LED的闪烁和呼吸灯效果来呈现按键的触发效果。 第一部分:硬件准备 准备一块STM32开发板,如STM32F103C8T6。 连接一个按键到开发板上的GPIO引脚,并通过

    2024年02月05日
    浏览(66)
  • STM32通过串口控制LED闪烁或者呼吸效果

    目录 STM32通过串口控制LED闪烁或者呼吸效果 1、准备工作 2、思路分析 3、实际操作 4、小结 1.首先我们需要准备32的最小系统板或者开发板。 2.准备一个LED灯(如果使用板子上的灯来实现则不需要,下面我是使用最小系统板上的LED灯来实现)。 3.若干杜邦线。 4.软件方面的准备

    2024年02月08日
    浏览(27)
  • 【学习记录】STM32中断进阶任务:按键控制指示灯闪烁频率

    采用德飞莱STM32板,主控芯片STM32F103ZET6。 任务内容 :利用按键B1控制指示灯LD2的闪烁频率,闪烁频率设置为3档:初始状态时,LD2按照2Hz的频率闪烁;第一次按键后,LD2按照10 Hz的频率闪烁;第二次按键后,LD2按照20Hz的频率闪烁。再次按键后让LD2恢复以2Hz的频率闪烁,并重复

    2024年02月07日
    浏览(38)
  • STM32按键控制LED

    1.利用模块化编程对LED 2.设置LED的几种状态(亮,灭,和利用按键反转电平) 3.按键 (1)按键初始化 (2)如果按键按下做什么(这里是控制LED) 4,主函数

    2024年02月12日
    浏览(30)
  • 【stm32----按键中断实验,按键控制LED灯】

    1、按下KEY1,LED1亮,再次按下KEY1,LED1灭; 2、按下KEY2,LED2亮,再次按下KEY2,LED2灭; 3、按下KEY3,LED3亮,再次按下KEY3,LED3灭; 一、头文件 1、gpio.h 2、key.h 二、初始化函数及功能函数 1、gpio.c 2、key.c 三、中断处理函数 do_irq.c 四、主函数 main.c 依次按下key3、key2、key1、key2

    2024年02月04日
    浏览(39)
  • 【stm32】02,今晚,整个32的闪烁为你所控制(GPIO输入,按键检测)

    往期内容: 【stm32】00亲爱的勇者,在踏上这个波澜壮阔的大陆之前,厉兵秣马,我们即刻出发 【stm32】01,今晚,整个32将为你闪烁(GPIO输出,点亮led灯) 亲爱的勇者们,许久不见甚是想念!我是weib,在我不在的日子里也祝愿你们早安、午安和晚安!欢迎各位勇者来到了新的

    2024年02月11日
    浏览(26)
  • stm32开关控制led灯泡(附Proteus电路图)

     说明:我的灯泡工作电压2V,电流设置为10um,注意了不是10毫安时微安啊,要不然电流太小亮不起来的。 2:我用的开关不是按钮button而是switch, 3:PB0,PB1默认都是低电平,采用了PULLDOWN模式,如果设置为其他模式就会一直亮。 4 这里采用了while();这样的循环,保证了引脚位置的

    2024年02月11日
    浏览(31)
  • 使用ESP8266/ESP32 实现智能语音控制电脑开关机

    最近买了个台机放客厅里接电视玩游戏,另外还有跑程序计算的需求所以通过笔记本电脑使用RDP或Parsec来远程控制,当然瘾犯了也能云游戏。路由器在另一个房间所以是无线网卡链接,用的最好的AX210+10db天线。   后来折腾来折腾去发现个痛点:每次都得跑到客厅去开机,麻

    2024年02月16日
    浏览(62)
  • STM-32:按键控制LED灯 程序详解

    左边是STM322里电路每一个端口均可以配置的电路部分,右边部分是外接设备 电路图。 配置为 上拉输入模式的意思就是,VDD开关闭合,VSS开关断开。 浮空输入模式的意思就是,VDD开关断开,VSS开关断开。 下拉输入模式的意思就是,VDD开关断开,VSS开关闭合。 在 按键控制LE

    2024年02月12日
    浏览(31)
  • stm32按键控制LED灯亮灭(中断法)

    用按键控制STM32上的LED灯亮灭,可以采用轮询法和中断法。轮询法需要不断检测按键的状态,消耗MCU;而中断法只是在按下的那一刻触发中断,控制灯亮灭。轮询法相对于更常规,容易操作。因此我们这里讲的用中断法。关于中断的概述,这里不作介绍,只讲操作,分析代码

    2024年02月07日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包