0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

DIY出一个高性能的掌中信号发生器

电子森林 来源:电子森林 作者:苏老师 2021-11-08 14:17 次阅读

过去几年我最大的遗憾就是不会软件编程,作为一个资深板农,无法亲手让自己设计的硬件跑起来,那种心情是非常难受的。

自去年底树莓派基金会发布第一颗自己设计的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
    +关注

    关注

    1621

    文章

    21517

    浏览量

    599286
  • 嵌入式
    +关注

    关注

    5046

    文章

    18837

    浏览量

    299028
  • 代码
    +关注

    关注

    30

    文章

    4674

    浏览量

    67813

原文标题:嵌入式系统入门(4)- 菜鸟都能玩转的MicroPython开源图形界面:Micro-GUI

文章出处:【微信号:xiaojiaoyafpga,微信公众号:电子森林】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    数字序列信号发生器如何测量

    信号发生器的工作原理、性能指标、测量方法以及应用场景。 、数字序列信号发生器的工作原理 数字序
    的头像 发表于 06-03 14:04 259次阅读

    信号发生器频率怎么调

    信号发生器种电子设备,用于产生具有特定频率、幅度和波形的电信号。这些信号可以用于测试和校准各种电子设备,如放大器、滤波
    的头像 发表于 06-03 11:06 808次阅读

    信号发生器的sync什么意思

    信号发生器种电子设备,用于产生具有特定频率、幅度和波形的电信号。这些信号可以用于测试和测量电子设备的
    的头像 发表于 06-03 10:59 1909次阅读

    信号发生器的使用方法 信号发生器的幅值是有效值吗

    信号发生器种电子设备,用于生成具有特定特性的电信号,如正弦波、方波、锯齿波等。信号发生器广泛
    的头像 发表于 06-03 10:56 1324次阅读

    函数信号发生器怎么调频率

    函数信号发生器种常用的电子测试设备,它能够产生各种波形、频率和幅度的信号,广泛应用于科研、教学、生产和维修等领域。在使用函数信号
    的头像 发表于 05-20 18:23 1121次阅读

    信号发生器的组成结构和应用

    信号发生器作为电子测试与测量领域的重要工具,其基本原理的研究对于理解其工作方式、提高性能以及进行故障排查都具有重要意义。信号发生器
    的头像 发表于 05-15 11:54 514次阅读

    proteus信号发生器怎么设置方波

    ,用于模拟和调试电子电路。它具有丰富的虚拟仪器库,包括示波器、信号发生器、函数发生器等。Proteus信号发生器是其中之
    的头像 发表于 02-23 16:44 7561次阅读

    信号发生器是干什么用的 信号发生器和示波器怎么连接

    信号发生器种用于产生各种电信号的设备,它在电子设备测试、电路调试、教学实验等领域得到广泛应用。信号
    的头像 发表于 01-30 10:08 2388次阅读

    信号发生器是干什么用的 信号发生器的使用方法

    信号发生器种电子测试仪器,用于产生各种类型的电信号。它可以在实验室、工厂和其他领域提供标准化的、可重复的信号,用于测试和验证其他电子设备
    的头像 发表于 01-19 14:51 2457次阅读

    高性能#信号发生器 GUI设置介绍#无线通信 #通信 #射频 #微波技术 #信号发生器 #信号

    射频信号发生器
    虹科卫星与无线电通信
    发布于 :2023年12月22日 18:20:36

    信号发生器如何发出双脉冲?

    信号发生器如何发出双脉冲? 信号发生器种用于产生各种信号波形的仪器。双脉冲
    的头像 发表于 12-21 15:03 1648次阅读

    信号发生器怎么输出调制信号 信号发生器输出信号衰减如何调整?

    信号发生器怎么输出调制信号 信号发生器输出信号衰减如何调整?
    的头像 发表于 12-21 14:56 4761次阅读

    信号发生器在射频信号处理中的应用与技巧

    信号发生器在射频信号处理中的应用与技巧 信号发生器在射频信号处理中是
    的头像 发表于 12-21 14:56 565次阅读

    信号发生器的占空比是什么 信号发生器占空比怎么设置

    信号发生器的占空比是什么 信号发生器占空比怎么设置  信号发生器的占空比是指方波波形中高电平和低
    的头像 发表于 12-21 14:02 2934次阅读

    如何实现信号发生器的制作呢?

    今天给大家分享信号发生器的制作方法,这个小制作不但有正弦波还有方波,就连三角波都可以输出,你是不是觉得定会很难吧
    的头像 发表于 11-15 15:33 1702次阅读
    如何实现<b class='flag-5'>一</b><b class='flag-5'>个</b><b class='flag-5'>信号</b><b class='flag-5'>发生器</b>的制作呢?