衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何用小安派-Eyes-S1做一個電子木魚?

安信可科技 ? 來源:安信可科技 ? 2024-01-13 15:18 ? 次閱讀

2024年的第一篇教程來了,本篇學習如何添加LVGL事件,并制作完成一個電子木魚(小美苦苦哀求,我略微出手而已)。祝大家2024積德累功,心想事成!接下來看看如何用小安派-Eyes-S1做一個電子木魚

01

GUI-Guider 頁面設計

先新建一個工程。

668eb87c-b134-11ee-8b88-92fbcf53809c.png

直接進入 UI 設計界面,這里用到了兩個組件,一個是圖片按鈕,一個是文本框

先添加一個圖片按鈕,這就需要一張木魚圖,大家可以添加自己喜歡的任意圖案。大小比例記得調整,需要注意的是,這里建議準備兩張一模一樣的圖片,區別在于他們的大小,一張大圖+一張小圖,大圖添加在釋放后的圖片,小圖添加在按下時圖片,就達成敲下去的變化效果。

66a43ec2-b134-11ee-8b88-92fbcf53809c.jpg

添加一個文本框,先固定好位置,在右側的文本輸入“功德 +1”字樣,注意字體選擇simsun才可以顯示中文。到這一步,所需要的組件已經添加成功了。

接下來添加圖片按鍵的事件。需要實現的效果是,在按下圖片(木魚)時將“功德 +1"的文本框向上移動,在釋放圖片(木魚)時將”功德 +1“隱藏。這樣的效果就是點擊時會出現”功德 +1“飄出來的效果。

1.點擊左側 imgbtn_1,圖片按鈕

66b2d09a-b134-11ee-8b88-92fbcf53809c.jpg

2.點擊手指圖標事件設置。只需要配置兩個事件,Pressed(按下)和 Released(釋放)。

3.點擊 Pressed(按下),在組件里選中 label_1,也就是文本框,在 Animation 選項下勾選移動,設置需要移動的坐標,也就是按下后lable_1 移動的最終位置,下圖中最終位置 x 坐標為206,y 坐標為 25,動畫效果選擇 linear 線性,持續時間為 50ms,也就是整個移動過程的持續時間。

66cf611a-b134-11ee-8b88-92fbcf53809c.jpg

4.返回上一層,點擊 Released,一樣在組件里選中 lable_1,首先 General 下勾選可視化,選擇隱藏,也就是我們釋放按鈕后會隱藏文本框。

66eade40-b134-11ee-8b88-92fbcf53809c.jpg

5.其次在 Animation 下勾選移動,將按下圖片后的文本框移動回原來的位置(即一開始的坐標位置,x 坐標 206,y 坐標 45),動畫選擇 linear 線性,持續時間 0 秒也就是瞬間移動。這樣在按下圖片時 Y 軸移動文本框 20 個像素,然后在釋放圖片時會將文本框移動回原來的位置并且隱藏。就可以實現”功德 +1“飄出來的效果。

67034552-b134-11ee-8b88-92fbcf53809c.jpg

記得運行一下,看一下模擬器的效果,這里同時也會生成需要的工程文件。

671d8b38-b134-11ee-8b88-92fbcf53809c.gif

02

文件移植

這里建議使用 FreeRTOS 加一個刷新 LVGL 屏幕的任務。將上次沒移植的文件,也就是 lv_user_config 的.c 和.h 文件一并放進來,文件可以在 AiPi-Radar-WakeUp 下的 components 下的 UI 復制過來,方法不在贅述。

由于本次刷新 LVGL 需要 FreeRTOS,所以還需要復制 config 下的 FreeRTOSConfig.h,一并放在工程目錄下,同時修改 proj.conf 文件,添加 set(CONFIG_FREERTOS 1),開啟 RTOS。

6732980c-b134-11ee-8b88-92fbcf53809c.jpg

其次將所有的文件通過 CMakeLists.txt 添加編譯。這里附上 CMake。

6751b926-b134-11ee-8b88-92fbcf53809c.jpg

在 Main 里面添加一個任務,附上完整齊Mian供大家參考。

6763af32-b134-11ee-8b88-92fbcf53809c.png

03

添加木魚敲擊音頻

光有畫面還不行,電子木魚的靈魂在于敲擊的聲音,主打一個靈魂洗滌。

這里為了方便制作,將 8388 的驅動也移植到了 commponents,修改了部分配置文件。驅動的原理是 I2S 驅動 8388 芯片,將音頻文件燒錄至 flash 中,然后再接口中通過 dma 輸出音頻文件。

這里已經找到的音頻文件是wav的格式,采樣率是 44100。

6788abc0-b134-11ee-8b88-92fbcf53809c.jpg

679c2d3a-b134-11ee-8b88-92fbcf53809c.jpg

將音頻文件放進去,然后修改 flash_prog_cfg.ini 將音頻文件燒錄進 flash 中,可以參考截圖中的方法,起始地址可以參考 flash 教學博文中,這里選擇 0x230000,如果是燒錄多個文件的話,記得計算文件大小,確保地址空間不重復。

67af5964-b134-11ee-8b88-92fbcf53809c.jpg

添加一個 muyu_8388_pcm.h 文件,定義木魚音頻的起始地址和大小。這里初始化函數在 8388_pcm.c 中已經有,只需要編寫一個 voice_MuYu 的函數。

67ca147a-b134-11ee-8b88-92fbcf53809c.jpg

修改8388_pcm.c 文件,編寫一個播放函數,這個函數也是調用 play_voice 這個接口,參數為音頻文件的地址和大小。同時修改 i2s 的初始化,采樣率是 44100。

67e03e12-b134-11ee-8b88-92fbcf53809c.jpg

主函數中記得將 8388 芯片初始化。

67fc90a8-b134-11ee-8b88-92fbcf53809c.jpg

修改LVGL工程中的 events_init.c,這個文件是事件控制文件,添加muyu_8388_pcm.h 頭文件,在 Pressed 事件中加入播放音頻的接口。

68158888-b134-11ee-8b88-92fbcf53809c.jpg

來看看最終效果

684153a0-b134-11ee-8b88-92fbcf53809c.gif








審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FreeRTOS
    +關注

    關注

    12

    文章

    484

    瀏覽量

    62395
  • 模擬器
    +關注

    關注

    2

    文章

    881

    瀏覽量

    43419
  • GUI
    GUI
    +關注

    關注

    3

    文章

    662

    瀏覽量

    39890
  • LVGL
    +關注

    關注

    1

    文章

    91

    瀏覽量

    3082

原文標題:功德+1,用小安派-Eyes-S1做一個電子木魚

文章出處:【微信號:安信可科技,微信公眾號:安信可科技】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    零基礎開發小安-Eyes-S1外設篇——GPIO 輸入輸出

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 從零開始學習小安1
    的頭像 發表于 10-25 13:50 ?1084次閱讀
    零基礎開發<b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>外設篇——GPIO 輸入輸出

    零基礎開發小安-Eyes-S1外設篇——GPIO中斷編程

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 產品資料:https://docs.ai-thinker.com/eyes 從零開始學習
    的頭像 發表于 10-29 14:56 ?807次閱讀
    零基礎開發<b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>外設篇——GPIO中斷編程

    零基礎開發小安-Eyes-S1外設篇——I2S

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 從零開始學習小安1
    的頭像 發表于 12-13 18:02 ?1144次閱讀
    零基礎開發<b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>外設篇——I2<b class='flag-5'>S</b>

    零基礎開發小安-Eyes-S1 外設篇——DAC

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 從零開始學習小安1
    的頭像 發表于 12-27 10:55 ?899次閱讀
    零基礎開發<b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b> 外設篇——DAC

    零基礎開發安信可小安-Eyes-S1【入門篇】——初識小安-Eyes-S1

    初識小安-Eyes-S1 前言:本教程針對零基礎人員可以快速上手小安-Eyes-S1實現
    發表于 09-08 11:06

    小安-Eyes-S1/S2多功能開發板簡介

    今天,我們在小安放出新鮮的開發板產品AiPi-Eyes-S1小安-Eyes-S1)、AiP
    的頭像 發表于 06-19 10:10 ?1006次閱讀
    <b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>/<b class='flag-5'>S</b>2多功能開發板簡介

    小安-Eyes-S1外設接口簡介

    前言:本教程針對零基礎人員可以快速上手小安-Eyes-S1實現些簡單的應用開發,僅供參考學習,本人也在學習的過程中,感謝大家支持。
    的頭像 發表于 09-18 09:55 ?917次閱讀

    零基礎開發小安-Eyes-S1【入門篇】——初識小安-Eyes-S1

    前言:本教程針對零基礎人員可以快速上手小安-Eyes-S1實現些簡單的應用開發,僅供參考學習,本人也在學習的過程中,感謝大家支持。 小安
    的頭像 發表于 09-18 15:41 ?759次閱讀
    零基礎開發<b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>【入門篇】——初識<b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>

    功德+1,用小安-Eyes-S1做一個電子木魚

    2024積德累功,心想事成!接下來 看看如何用小安-Eyes-S1做一個電子
    的頭像 發表于 01-16 14:33 ?895次閱讀
    功德+<b class='flag-5'>1</b>,用<b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b><b class='flag-5'>做一個</b><b class='flag-5'>電子</b><b class='flag-5'>木魚</b>

    零基礎開發小安-Eyes-S1【外設篇】——PWM

    =200ms。PWM 占空比: 脈沖周期內,高電平的時間占整個周期時間的比例。單位是 %,高電平時間是 50ms,周期是 100ms。占空比就是 50/100*100%=50%。了解小安
    的頭像 發表于 11-06 16:10 ?213次閱讀
    零基礎開發<b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>【外設篇】——PWM

    零基礎開發小安-Eyes-S1 外設篇 ——I2C

    。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 從零開始學習小安1
    的頭像 發表于 11-27 16:39 ?319次閱讀
    零基礎開發<b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b> 外設篇 ——I2C

    零基礎開發小安-Eyes-S1【外設篇】——FLASH

    。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 從零開始學習小安1
    的頭像 發表于 12-05 14:31 ?291次閱讀
    零基礎開發<b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>【外設篇】——FLASH

    零基礎開發小安-Eyes-S1——初識LVGL并搭建最小工程

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 從零開始學習小安1
    的頭像 發表于 01-03 14:09 ?401次閱讀

    零基礎開發小安-Eyes-S1【進階篇】——初識 LVGL 并搭建最小工程

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 從零開始學習小安1
    的頭像 發表于 01-06 16:14 ?186次閱讀
    零基礎開發<b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>【進階篇】——初識 LVGL 并搭建最小工程

    零基礎開發小安-Eyes-S1 進階篇 ——通過屏幕輸入連接 Wi-Fi

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 從零開始學習小安1
    的頭像 發表于 01-16 09:47 ?91次閱讀
    零基礎開發<b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b> 進階篇 ——通過屏幕輸入連接 Wi-Fi
    顶尖百家乐的玩法技巧和规则| 百家乐注册开户送彩金| 三公百家乐官网在线哪里可以| 星河百家乐官网的玩法技巧和规则| 做生意门面对着什么方向好| 百家乐赌场技巧大全| 大发888娱乐场下载官方| 新全讯| 哪个百家乐官网投注平台信誉好| 百家乐官网专用台布| 阴宅风水24山分金| 奇迹百家乐的玩法技巧和规则| 赢钱的棋牌游戏| 百家乐官网真钱路怎么看| 红桃K百家乐官网的玩法技巧和规则 | 88娱乐城2官方网站| 澳门博彩公司| 新全讯| 至尊百家乐官网娱乐平台| 百家乐电子路单破解| 大发888娱乐场网址| 钟山县| 济州岛百家乐官网的玩法技巧和规则 | 腾飞国际娱乐城| 博彩百家乐官网字谜总汇| 缅甸百家乐娱乐| 足球竞彩网| 百家乐官网永利娱乐场开户注册| 百家乐赌场网| 皇冠足球赔| 百家乐官网游戏大| 新太阳城娱乐城| 澳门百家乐官网免费开户| 百家乐最全打法| 大发888xp缺少casino| 百家乐官网赌博机玩法| 百家乐信誉博彩公司| 宝胜娱乐城| LV百家乐官网客户端LV| 大发888娱乐城客服电话| 百家乐官网开闲几率|