查看: 1836|回复: 16

震惊!OLED菜单竟只用10行代码就可以完成到完美!!!

[复制链接]
  • TA的每日心情
    奋斗
    2019-8-25 00:01
  • 签到天数: 87 天

    [LV.6]常住居民II

    发表于 2019-7-27 23:00 | 显示全部楼层 |阅读模式
    本帖最后由 新手之帆 于 2019-7-28 16:54 编辑

                                                    震惊!OLED菜单竟只用10行代码就可以完成到完美!!!
    相信各位在看了我上次的教程贴之后,已经略有头绪。
    但!这显然对小白们不怎么友好!!!
    毕竟,我们都是从小白过来的。


    所以,我花费了大概1天的时间,将菜单功能封装成了个库,其功能比我上次给出的代码强大了大概1/3。怎么样?
    是不是有点小激动了呢???


    首先,我还是来讲解一下该库的一些函数:


    void Begin(int buttona,int buttonb,int delay_time,int times_val,String c,int button_state);


    该句应放在setup里面。
    buttona指按键a的pin,buttonb指按键b的pin
    delay_time指消抖时的时间,根据本人手抖,一般为45
    times_val指你在同一时间的屏幕上总共有多少选项,取值范围为1-3(悄悄告诉你,会根据该值,自动生成较好看的界面哟!)
    c指你的在选项面前的指向符号,记住(要加"")
    button_state指在按键按下的一瞬间,button的状态,这取决于你的一端接pin,另一端接v还是g


    void Inputstring(String str[],int num,bool state);


    放在setup里面
    str是输入你的字符串数组,就是选项的名字们。
    注意:是数组,但在输入时,无需加[]


    num指你这个数组有多少个元素


    state指是否含有中文,就是名字里面
    最后写false,除非你真的要显示中文
    但!!!!!!
    要是你要显示中文的话,必须用esp32 || due ||2560 ||零知的开发板,等高配开发板,小的内存不怎么够


    void Loop(void);
    没什么,直接放在loop里面就行


    void Inputfun_0(String fun0_s1,String fun0_s2,String fun0_s3);


    注意!!该函数十分重要
    取决于你按下按键,显示选项的内容
    应放在setup里面
    其中指1、2、3行
    你可以其中一些行不写
    打个""就可以
    给出例子


    Inputfun_0("time","","weather");


    就是这样


    该函数有11个
    就是_后面为0-10


    这取决于你究竟要多少个,也就是你的选项名数组有多少个


    主要就这几个函数


    示例代码:
    #include<MENU.h>
    Menu test;
    String s[5]={"time","weather","arduino","esp32","esp8266"};
    void setup() {
      test.Begin(5,18,45,3,"--",0);
      test.Inputstring(s,5,0);
      test.Inputfun_0("a","b","c");
      test.Inputfun_1("f","e","f");
      test.Inputfun_2("fe","h","i");
      test.Inputfun_3("1","k","l");
      test.Inputfun_4("24·","n","o");
    }

    void loop() {
      test.Loop();
    }
    //记住!按键的pin要更改

    图片
    IMG_20190728_163507.jpg
    IMG_20190728_163520.jpg
    IMG_20190728_163658.jpg
    视频:


    为了秉承Arduino开源精神,提高小白们的编程素养
    本人决定,该库开源!!!


    虽然是呕心沥血做出来的,但分享给社区的朋友们才更好
    恳请版主大佬加精!!!感激不尽
    要是大家觉得好,请鼓励一下我,打赏一下,或者评论自己的感受
    谢谢!
    q3320987642
    MENU.rar (1.9 KB, 下载次数: 83)
    觉得好就打赏一下吧!!让我有动力继续写教程
  • TA的每日心情
    擦汗
    2019-9-17 15:14
  • 签到天数: 107 天

    [LV.6]常住居民II

    发表于 2019-7-27 23:17 | 显示全部楼层
    这么晚还在逛论坛
    你今天的打赏,是我明天学习Arduino的动力!
  • TA的每日心情
    奋斗
    2019-8-25 00:01
  • 签到天数: 87 天

    [LV.6]常住居民II

     楼主| 发表于 2019-7-28 00:36 | 显示全部楼层
    Creeper666 发表于 2019-7-27 23:17
    这么晚还在逛论坛

    很早啊,只是家里灯坏了,晚上没开电,看不清键盘
    觉得好就打赏一下吧!!让我有动力继续写教程
  • TA的每日心情
    擦汗
    2019-9-17 15:14
  • 签到天数: 107 天

    [LV.6]常住居民II

    发表于 2019-7-28 09:18 | 显示全部楼层
    新手之帆 发表于 2019-7-28 00:36
    很早啊,只是家里灯坏了,晚上没开电,看不清键盘

    你把你的OLED像素全开,然后照着键盘不就行了
    你今天的打赏,是我明天学习Arduino的动力!
  • TA的每日心情
    奋斗
    2019-8-25 00:01
  • 签到天数: 87 天

    [LV.6]常住居民II

     楼主| 发表于 2019-7-28 12:49 | 显示全部楼层
    Creeper666 发表于 2019-7-28 09:18
    你把你的OLED像素全开,然后照着键盘不就行了

    牛逼啊,但128*64*3像素点够用吗
    觉得好就打赏一下吧!!让我有动力继续写教程
  • TA的每日心情
    奋斗
    2019-8-25 00:01
  • 签到天数: 87 天

    [LV.6]常住居民II

     楼主| 发表于 2019-7-28 17:57 | 显示全部楼层
    大家可以用一下,成功的评论。屏幕型号必须是ssd1306,要装U8G2的库
    觉得好就打赏一下吧!!让我有动力继续写教程

    该用户从未签到

    发表于 2019-7-28 23:33 | 显示全部楼层
    屏幕上只显示12345额
  • TA的每日心情
    奋斗
    2019-8-25 00:01
  • 签到天数: 87 天

    [LV.6]常住居民II

     楼主| 发表于 2019-7-29 00:07 | 显示全部楼层
    zistar 发表于 2019-7-28 23:33
    屏幕上只显示12345额

    有没有用中文,有的话要自己做字库。或者用里面的,代码发上来,也许你的参数有问题
    觉得好就打赏一下吧!!让我有动力继续写教程
  • TA的每日心情
    开心
    2019-9-18 07:54
  • 签到天数: 141 天

    [LV.7]常住居民III

    发表于 2019-8-3 10:03 | 显示全部楼层
    这个屏我也收了一个,只是从未接触过,要向老师学习
    微信图片_20190803100100.jpg




    该用户从未签到

    发表于 2019-8-8 15:32 | 显示全部楼层
    你用了好几个u8g2的库函数,最好说明一下它的用法
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    全国机器人等级考试配件购买
    全国机器人等级考试配件购
    本人想自己教小孩机器人等级考试,需要购买机器人等级考试的配件,可是淘宝上的太
    【干货分享】mega2560原理图PCB图纸altium designer18
    【干货分享】mega2560原理
    分享一下mega2560的板子 AD版本 **** 本内容被作者隐藏 **** ergo
    为什么我的atmega328最小系统板反应这么迟钝?
    为什么我的atmega328最小
    是不是少了什么? 视频链接:https://b23.tv/av68105950
    [项目]microbit 控制的第一人称视角3D太空飞行游戏
    [项目]microbit 控制的第
    前言 家里有本《揭秘宇宙》,娃娃很喜欢,即使爸爸讲的都听烦了,娃娃还是不厌其烦的
    【Arduino】108种传感器模块系列实验(116)--- 2.4G24L01无线模块
    【Arduino】108种传感器模
    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表