過(guò)去幾年我最大的遺憾就是不會(huì)軟件編程,作為一個(gè)資深板農(nóng),無(wú)法親手讓自己設(shè)計(jì)的硬件跑起來(lái),那種心情是非常難受的。
自去年底樹(shù)莓派基金會(huì)發(fā)布第一顆自己設(shè)計(jì)的IC - RP2040以及基于RP2040的核心模塊PICO以來(lái),從性能、靈活性、價(jià)格上看這是一顆會(huì)迅速火起來(lái)的器件,于是第一時(shí)間投入其中,于春節(jié)期間親自設(shè)計(jì)了一款基于PICO的外設(shè)擴(kuò)展板(當(dāng)時(shí)還沒(méi)有拿到Pico模塊),并在電子森林平臺(tái)發(fā)起了幾次活動(dòng),迅速匯集了很多優(yōu)秀的開(kāi)源項(xiàng)目資源。
看好RP2040/Pico的原因不僅是因?yàn)闃?shù)莓派強(qiáng)大的生態(tài)會(huì)迅速推起這顆器件的應(yīng)用(現(xiàn)在海外知名網(wǎng)站上的各種基于RP2040的板卡和開(kāi)源項(xiàng)目資源可以證明這一點(diǎn)),更是因?yàn)樗母咝阅堋IO的靈活性 + 對(duì)MicroPython的支持。
對(duì)我,PIO的靈活性可以在很多場(chǎng)合實(shí)現(xiàn)FPGA能實(shí)現(xiàn)的功能;而MicroPython這種優(yōu)雅、易學(xué)易用的編程語(yǔ)言給我了很大的自信心。
前幾天我看到一個(gè)小伙用Pico + 16顆電阻設(shè)計(jì)的任意信號(hào)發(fā)生器,
哇,RP2040太強(qiáng)大了!雖然自己不會(huì)編程,但花了一個(gè)下午竟然將這位小伙的代碼移植到我自己設(shè)計(jì)的板子上,在示波器上看到了他產(chǎn)生的這些波形。
由此我在想,既然它能做任意波形發(fā)生器,為何不基于我們現(xiàn)有的梅林雀口袋儀器的框架用RP2040也做一款高速的信號(hào)發(fā)生器呢?
采用RP2040 + 高速DAC + 240*240的彩屏(ST7789控制器)制作一款便攜式信號(hào)發(fā)生器?用KiCad迅速設(shè)計(jì)了一塊板子:
做信號(hào)發(fā)生器的小伙只是提供了DDS部分的代碼,并沒(méi)有按鍵的控制以及菜單、波形的顯示,要知道自己從頭設(shè)計(jì)一個(gè)LCD上顯示的控制界面并用按鍵操作起來(lái),對(duì)我這種菜鳥(niǎo)來(lái)講那是天方夜譚,估計(jì)要再苦練半年也未必能寫(xiě)出來(lái)。
直到,我看到另一篇文章,另一個(gè)小伙基于前面小伙的成果,再加上一款Micro-GUI就做成了下面的這個(gè)儀器:
太好了,我這個(gè)不會(huì)寫(xiě)代碼的菜鳥(niǎo)頓時(shí)自信心來(lái)了,相信用不了多久,我也能自己DIY出一個(gè)高性能的掌中信號(hào)發(fā)生器。
于是我學(xué)習(xí)了一下Micro-GUI,太強(qiáng)悍、太好用了,必須給大家推薦!!!
它支持320*240以下分辨率的屏幕,無(wú)論我們硬禾常用的240*240的彩色LCD還是128*64/128*32的OLED顯示屏都不在話下
它支持5個(gè)按鍵的輸入或者2個(gè)按鍵+一個(gè)旋轉(zhuǎn)編碼器的輸入,感覺(jué)就是為我們精心定制的!
它不僅支持RP2040/Pico還支持ESP32等等,因?yàn)槭腔跇?biāo)準(zhǔn)的MicroPython,未來(lái)任何支持MicroPython的處理器都可以用它
是不是很酷?很容易?
在Peter的Github頁(yè)面上有非常詳細(xì)的使用文檔,我會(huì)逐步根據(jù)自己的使用體會(huì)匯總并完善在電子森林的百科頁(yè)面。
并提供了各種信息的展示方式,比如繪制各種圖形,并提供了豐富的案例,配合按鍵的控制:
很多人都知道的LVGL,也有國(guó)外的工程師移植到Pico上面,但這需要用C編譯一下,至少我搞不定。而這個(gè)MicroGUI則可以輕松搞定,而且功能強(qiáng)大到應(yīng)有盡有,配合DMA的屏幕操作,執(zhí)行起來(lái)非常流暢。
應(yīng)該不需要LVGL了。
另外,如果你使用的場(chǎng)景不需要這么多按鍵,可以使用消耗更少資源的nano-GUI,也是這位老先生寫(xiě)的。
他的Github頁(yè)面:
Micro-GUI:https://github.com/peterhinch/micropython-micro-gui
Nano-GUI:https://github.com/peterhinch/micropython-nano-gui
在他的項(xiàng)目頁(yè)面還有很多代碼資源可以學(xué)習(xí)、使用。
向這位退休的大神致敬!
有了這些巨人的肩膀,我們可以看得更遠(yuǎn)、走得更快!MicroPython的出現(xiàn)對(duì)于嵌入式系統(tǒng)的學(xué)習(xí)和應(yīng)用一定會(huì)起到巨大的改變,而開(kāi)源Micro-GUI則給了我們更多的可能,即便在最終的產(chǎn)品中,也會(huì)大大節(jié)省開(kāi)發(fā)的時(shí)間。
責(zé)任編輯:haq
-
FPGA
+關(guān)注
關(guān)注
1660文章
22412瀏覽量
636343 -
嵌入式
+關(guān)注
關(guān)注
5198文章
20449瀏覽量
334079 -
代碼
+關(guān)注
關(guān)注
30文章
4968瀏覽量
73973
原文標(biāo)題:嵌入式系統(tǒng)入門(mén)(4)- 菜鳥(niǎo)都能玩轉(zhuǎn)的MicroPython開(kāi)源圖形界面:Micro-GUI
文章出處:【微信號(hào):xiaojiaoyafpga,微信公眾號(hào):電子森林】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
函數(shù)信號(hào)發(fā)生器和任意波形信號(hào)發(fā)生器區(qū)別詳解
深入解析 CDC421Axxx:高性能低抖動(dòng)時(shí)鐘發(fā)生器
深入解析 CDC421Axxx:高性能低抖動(dòng)時(shí)鐘發(fā)生器
TI CDC421Axxx:高性能低抖動(dòng)時(shí)鐘發(fā)生器的深度解析
深入解析LMK03318:超高性能時(shí)鐘發(fā)生器的卓越之選
智能化的函數(shù)任意波形信號(hào)發(fā)生器 信號(hào)發(fā)生器品牌 任意波形信號(hào)發(fā)生器
可編程的多路脈沖信號(hào)發(fā)生器 高速脈沖信號(hào)發(fā)生器 1hz脈沖信號(hào)發(fā)生器
雙通道函數(shù)信號(hào)發(fā)生器 標(biāo)準(zhǔn)時(shí)間間隔發(fā)生器
三角波方波正弦波函數(shù)發(fā)生器 標(biāo)準(zhǔn)信號(hào)發(fā)生器 dds函數(shù)信號(hào)發(fā)生器
dds功率放大器 數(shù)字函數(shù)信號(hào)發(fā)生器 智能信號(hào)發(fā)生器
數(shù)字延遲脈沖發(fā)生器 脈沖延遲信號(hào)發(fā)生器 多通道脈沖信號(hào)發(fā)生器
SGT100A SMW200A矢量信號(hào)發(fā)生器
DIY出一個(gè)高性能的掌中信號(hào)發(fā)生器
評(píng)論