过去几年我最大的遗憾就是不会软件编程,作为一个资深板农,无法亲手让自己设计的硬件跑起来,那种心情是非常难受的。
自去年底树莓派基金会发布第一颗自己设计的IC - RP2040以及基于RP2040的核心模块PICO以来,从性能、灵活性、价格上看这是一颗会迅速火起来的器件,于是第一时间投入其中,于春节期间亲自设计了一款基于PICO的外设扩展板(当时还没有拿到Pico模块),并在电子森林平台发起了几次活动,迅速汇集了很多优秀的开源项目资源。
看好RP2040/Pico的原因不仅是因为树莓派强大的生态会迅速推起这颗器件的应用(现在海外知名网站上的各种基于RP2040的板卡和开源项目资源可以证明这一点),更是因为它的高性能、PIO的灵活性 + 对MicroPython的支持。
对我,PIO的灵活性可以在很多场合实现FPGA能实现的功能;而MicroPython这种优雅、易学易用的编程语言给我了很大的自信心。
前几天我看到一个小伙用Pico + 16颗电阻设计的任意信号发生器,
哇,RP2040太强大了!虽然自己不会编程,但花了一个下午竟然将这位小伙的代码移植到我自己设计的板子上,在示波器上看到了他产生的这些波形。
由此我在想,既然它能做任意波形发生器,为何不基于我们现有的梅林雀口袋仪器的框架用RP2040也做一款高速的信号发生器呢?
采用RP2040 + 高速DAC + 240*240的彩屏(ST7789控制器)制作一款便携式信号发生器?用KiCad迅速设计了一块板子:
做信号发生器的小伙只是提供了DDS部分的代码,并没有按键的控制以及菜单、波形的显示,要知道自己从头设计一个LCD上显示的控制界面并用按键操作起来,对我这种菜鸟来讲那是天方夜谭,估计要再苦练半年也未必能写出来。
直到,我看到另一篇文章,另一个小伙基于前面小伙的成果,再加上一款Micro-GUI就做成了下面的这个仪器:
太好了,我这个不会写代码的菜鸟顿时自信心来了,相信用不了多久,我也能自己DIY出一个高性能的掌中信号发生器。
于是我学习了一下Micro-GUI,太强悍、太好用了,必须给大家推荐!!!
它支持320*240以下分辨率的屏幕,无论我们硬禾常用的240*240的彩色LCD还是128*64/128*32的OLED显示屏都不在话下
它支持5个按键的输入或者2个按键+一个旋转编码器的输入,感觉就是为我们精心定制的!
它不仅支持RP2040/Pico还支持ESP32等等,因为是基于标准的MicroPython,未来任何支持MicroPython的处理器都可以用它
是不是很酷?很容易?
在Peter的Github页面上有非常详细的使用文档,我会逐步根据自己的使用体会汇总并完善在电子森林的百科页面。
并提供了各种信息的展示方式,比如绘制各种图形,并提供了丰富的案例,配合按键的控制:
很多人都知道的LVGL,也有国外的工程师移植到Pico上面,但这需要用C编译一下,至少我搞不定。而这个MicroGUI则可以轻松搞定,而且功能强大到应有尽有,配合DMA的屏幕操作,执行起来非常流畅。
应该不需要LVGL了。
另外,如果你使用的场景不需要这么多按键,可以使用消耗更少资源的nano-GUI,也是这位老先生写的。
他的Github页面:
Micro-GUI:https://github.com/peterhinch/micropython-micro-gui
Nano-GUI:https://github.com/peterhinch/micropython-nano-gui
在他的项目页面还有很多代码资源可以学习、使用。
向这位退休的大神致敬!
有了这些巨人的肩膀,我们可以看得更远、走得更快!MicroPython的出现对于嵌入式系统的学习和应用一定会起到巨大的改变,而开源Micro-GUI则给了我们更多的可能,即便在最终的产品中,也会大大节省开发的时间。
责任编辑:haq
-
FPGA
+关注
关注
1625文章
21648浏览量
601473 -
嵌入式
+关注
关注
5063文章
18992浏览量
302552 -
代码
+关注
关注
30文章
4733浏览量
68291
原文标题:嵌入式系统入门(4)- 菜鸟都能玩转的MicroPython开源图形界面:Micro-GUI
文章出处:【微信号:xiaojiaoyafpga,微信公众号:电子森林】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论