91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

NUC980開發(fā)板應(yīng)用 基于NK-980IoT的國學(xué)唐詩學(xué)習(xí)機

RTThread物聯(lián)網(wǎng)操作系統(tǒng) ? 來源:recan ? 作者:recan ? 2022-06-23 14:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者:recan

鏈接:

https://club.rt-thread.org/ask/article/372fe88529e45e45.html

基于NK-980IoT的國學(xué)唐詩學(xué)習(xí)機


ab8c1bcc-f227-11ec-ba43-dac502259ad0.png

1 項目背景

最近一直在陪小孩學(xué)習(xí)國學(xué)精髓,比如唐詩、宋詞這些經(jīng)典國學(xué)常識;恰好看到RT-Thread官方社區(qū)有開展一個DIY活動,并且這個板子剛好帶有音頻相關(guān)的外設(shè)接口,于是想著試著玩一玩,沒準后面可以把功能再升級一下,給小孩做個高級”玩具”(這個成本可不低啊)。

2 開發(fā)板簡介

開發(fā)板簡單的介紹,參考如下:

ab9d0374-f227-11ec-ba43-dac502259ad0.png

整體上板子的外設(shè)情況還是非常不錯的,可以做很多有用、好玩的東西。由于我本次的DIY項目主要關(guān)于音頻,所以我也就重點看了這塊的介紹。

abcd95fc-f227-11ec-ba43-dac502259ad0.png

音頻芯片型號為NAU8822L,其中I2C接口用于配置(MODE引腳低),I2S接口用于傳輸數(shù)據(jù)。

I2S_LRCK接FS,用于區(qū)分左右通道數(shù)據(jù)。
I2S_BCLK接BCLK 數(shù)據(jù)傳輸bit時鐘。
I2S_DI接ADCOUT 主<-從。
I2S_DO接ADCIN 主->從。
I2S_MCLK接MCLK 主時鐘,給設(shè)備提供時鐘源。

3 項目實現(xiàn)


3.1 硬件部分

本方案中,硬件部分主要包括使用了2個按鍵和2個LED,SD卡、以及音頻處理的I2S接口。

abdfaada-f227-11ec-ba43-dac502259ad0.png

LED:用作功能指示;黃燈表示唐詩五言絕句模式,紅燈表示唐詩七言絕句模式;

按鍵:用作功能選擇,有唐詩五言絕句和唐詩七言律詩,兩種功能模式;

音頻喇叭:用作音頻的輸出;

SD卡:用作音頻文件的存儲。

3.2 軟件部分

整個代碼結(jié)構(gòu)比較簡單,如下圖所示:

abffd0ee-f227-11ec-ba43-dac502259ad0.png

使用到的軟件包主要是 wavplayer,在播放音頻時,也主要使用這個軟件包的接口。

程序的簡單邏輯如下:

1、程序上電,完成初始化操作,包括按鍵、LED等GPIO的模式設(shè)定,創(chuàng)建一個信號量;另外,系統(tǒng)在上電初始化后,檢測到SD卡存在的話,會自動掛載其文件系統(tǒng),掛載點為 /mnt/sd1 這個目錄;

2、播放開機使用歡迎詞;

3、while-1循環(huán)等待功能按鍵的輸入;

4、當(dāng)識別到對應(yīng)的按鍵輸入后,響應(yīng)的功能指示燈亮起,并且設(shè)定具體需要播放的音頻文件名,然后通過信號量觸發(fā)給main循環(huán)的信號量等待,然后由main循環(huán)調(diào)用wavplayer的接口執(zhí)行對應(yīng)音頻文件的播放;


	
  1. void wav_palyer_file(constchar*file)

  2. {

  3. int new_argc =3;

  4. char*new_argv[64]={

  5. "wavplayer",

  6. "-s",

  7. "/mnt/sd1/test/test.wav",

  8. };

  9. externint wav_player(int argc,char*argv[]);

  10. snprintf(new_argv[2],64,"%s", file);

  11. wav_player(new_argc, new_argv);

  12. }

1、周次循環(huán)3-4步驟。

工程代碼代碼已開源在gitee:國學(xué)唐詩學(xué)習(xí)機

工程代碼建議使用env環(huán)境執(zhí)行編譯,下載使用官方的NuWriter工具。

工程中使用的音頻文件,如果需要測試,可以聯(lián)系我獲取。

4 功能展示

4.1 已實現(xiàn)功能

主要是用按鍵觸發(fā)不同的國學(xué)內(nèi)容,然后進行朗誦,功能屬于比較簡單,演示視頻詳見:B站鏈接

B站鏈接:

https://www.bilibili.com/video/BV1UY4y1B788/

4.2 未來實現(xiàn)功能

比如一鍵聯(lián)網(wǎng)更新 唐詩音頻文件:通過http或tftp等遠程方式,自動更新已發(fā)布的唐詩音頻文件;

比如支持本地人工朗誦錄音和播放:通過讀學(xué)習(xí)者的朗誦執(zhí)行與原文的比對;

比如支持考察模式:學(xué)習(xí)機隨機選擇一首詩名,然后學(xué)習(xí)者來背誦,形成學(xué)習(xí)閉環(huán);

比如加入語音識別功能:支持語音輸入來讓學(xué)習(xí)機朗誦對應(yīng)的詩詞;

比如加入LCD顯示:支持更多樣化的人機交互。

5 音頻文件制作

本次項目使用的所有音頻文件,均使用 AI文字合成語音在線網(wǎng)站制作,詳見如下:

ac150c48-f227-11ec-ba43-dac502259ad0.png

ac23e9b6-f227-11ec-ba43-dac502259ad0.png

將所有制作好的音頻文件,按照預(yù)定的文件名,拷貝到SD卡中,即可被讀取播放了。

6 項目總結(jié)

  • NK-980IoT版子支持下載固件程序到SRAM中快速運行,這個功能很贊,可以加快調(diào)試速度;但是,我使用燒錄到SPI Flash的方式,試了好幾次燒錄完了都沒跑起來,真是有些頭疼;

  • 看似小的DIY項目,也需要一番構(gòu)思,留有功能升級的設(shè)計;

  • 擴展功能,有望再花點時間,升級升級;

  • 體驗了一把windows下使用env開發(fā)編譯,雖然比不上Linux環(huán)境的流暢,但在windows環(huán)境能有這樣的體驗也還不錯,贊一個。

7 參考資料

  • NK980IoT使用RT-Thread的簡介

https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/tutorial/quick-start/nk-980iot/quick-start

  • NK-980IOT測評之I2S接口音頻測試

https://club.rt-thread.org/ask/article/0a848bea7e87954b.html

  • NK-980IOT 測評之 I2S 和 SDH

https://club.rt-thread.org/ask/article/02738a52239b522c.html

8 致謝


最后,感謝論壇小伙伴 @qinyunti 的部分技術(shù)支持,I2S音頻操作部分主要參考之前的測評文章,也期待論壇中有更多關(guān)于NK-980IoT的技術(shù)文章輸出。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 音頻
    +關(guān)注

    關(guān)注

    31

    文章

    3188

    瀏覽量

    85585
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    26

    文章

    6291

    瀏覽量

    118149
  • RT-Thread
    +關(guān)注

    關(guān)注

    32

    文章

    1614

    瀏覽量

    44889
  • nuc980
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    1601

原文標題:【NUC980開發(fā)板DIY項目大挑戰(zhàn)】基于NK-980IoT的國學(xué)唐詩學(xué)習(xí)機

文章出處:【微信號:RTThread,微信公眾號:RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    脈銳光電980nm波段ASE寬帶光源產(chǎn)品介紹

    脈銳光電的980nm ASE寬帶光源基于稀土摻雜光纖的自發(fā)輻射放大機制,在980nm中心波長處實現(xiàn)光譜寬度約10nm、輸出功率達10mW的穩(wěn)定輸出。該光源兼具較高功率、優(yōu)異的光譜平滑度和極低偏振度,適用于對波長一致性、信號穩(wěn)定性及偏振不敏感要求較高的多種光纖應(yīng)用場景。
    的頭像 發(fā)表于 01-20 14:27 ?323次閱讀
    脈銳光電<b class='flag-5'>980</b>nm波段ASE寬帶光源產(chǎn)品介紹

    FRDM-i.MX 91開發(fā)板指南

    FRDM-i.MX 91開發(fā)板指南 在電子開發(fā)領(lǐng)域,開發(fā)板的刷操作是一項基礎(chǔ)且關(guān)鍵的技能。今天,我們就來詳細探討NXP的FRDM-i.
    的頭像 發(fā)表于 12-24 11:30 ?706次閱讀

    ?AVR-IoT蜂窩迷你開發(fā)板技術(shù)解析與應(yīng)用指南

    Microchip Technology AVR-IoT蜂窩迷你開發(fā)板 (EV70N78A) 是一個完整的平臺,可用于評估和開發(fā)物聯(lián)網(wǎng)解決方案。它采用AVR128DB48 avr?微控制器
    的頭像 發(fā)表于 10-14 14:57 ?787次閱讀
    ?AVR-<b class='flag-5'>IoT</b>蜂窩迷你<b class='flag-5'>開發(fā)板</b>技術(shù)解析與應(yīng)用指南

    RK3506開發(fā)板Linux開發(fā)板極致性價比之選

    RK3506開發(fā)板Linux開發(fā)板極致性價比之選瑞芯微RK3506開發(fā)板,3核Cortex-A7@1.5GHz+Cortex-M0,Linux+RT-Thread系統(tǒng)支持,128MB超大
    的頭像 發(fā)表于 09-11 16:26 ?3468次閱讀
    RK3506<b class='flag-5'>開發(fā)板</b>Linux<b class='flag-5'>開發(fā)板</b>極致性價比之選

    如何在 nuc980 上切換到持久文件系統(tǒng)?

    我遵循了“NUC980 Linux 4.4 BSP 用戶手冊EN.pdf”文檔,但當(dāng)我嘗試取消選擇“初始 RAM 文件系統(tǒng)和 RAM 磁盤 (initramfs/initrd) 支持
    發(fā)表于 08-29 07:58

    為什么無法將 PG.12、PG.13、PG.14 用作 NUC980 的 GPIO?

    無法將 PG.12、PG.13、PG.14 用作 NUC980 的 GPIO
    發(fā)表于 08-29 07:52

    輕松配置小智AI語音開發(fā)板,安信可IOT小程序功能更新

    版使用教程: 安信可AI語音開發(fā)板全面升級商用版!(附教程) 為了讓開發(fā)體驗更加流暢,安信可IOT小程序本次進行了多項功能升級,一起來看看吧 ? PART.01角色音色試聽 選聲音,不再“盲選”。 在語音交互場景中,聲音的質(zhì)感決
    的頭像 發(fā)表于 08-19 17:46 ?1311次閱讀
    輕松配置小智AI語音<b class='flag-5'>開發(fā)板</b>,安信可<b class='flag-5'>IOT</b>小程序功能更新

    如何使用 NUC980 系列微處理器 (MPU) 構(gòu)建具有帶外 (OOB) 功能的簡單遠程監(jiān)控應(yīng)用?

    如何使用 NUC980 系列微處理器 (MPU) 構(gòu)建具有帶外 (OOB) 功能的簡單遠程監(jiān)控應(yīng)用。
    發(fā)表于 08-19 06:21

    【新品】遠距離圖傳數(shù)傳模塊開發(fā)板、藍牙模塊開發(fā)板、無線模塊開發(fā)板

    新品上市圖傳數(shù)傳模塊開發(fā)板藍牙模塊開發(fā)板國產(chǎn)無線模塊開發(fā)板部分型號參與送樣文末了解詳情↓↓↓EWT611-900NW20S遠距離圖傳數(shù)傳模塊開發(fā)板EWT611-900NW20S是一款入
    的頭像 發(fā)表于 06-12 19:33 ?1152次閱讀
    【新品】遠距離圖傳數(shù)傳模塊<b class='flag-5'>開發(fā)板</b>、藍牙模塊<b class='flag-5'>開發(fā)板</b>、無線模塊<b class='flag-5'>開發(fā)板</b>

    基于小凌派RK2206開發(fā)板:OpenHarmony如何使用IoT接口控制FLASH外設(shè)

    1、實驗簡介本實驗將演示如何在小凌派-RK2206開發(fā)板上使用IOT庫的FLASH接口,進行FLASH編程開發(fā)。例程將創(chuàng)建一個任務(wù),實現(xiàn)FLASH讀寫操作。例程源代碼:https
    的頭像 發(fā)表于 04-22 14:49 ?920次閱讀
    基于小凌派RK2206<b class='flag-5'>開發(fā)板</b>:OpenHarmony如何使用<b class='flag-5'>IoT</b>接口控制FLASH外設(shè)

    基于小凌派RK2206開發(fā)板:OpenHarmony如何使用IoT接口控制UART外設(shè)

    1、實驗簡介本實驗將演示如何在小凌派-RK2206開發(fā)板上使用IOT庫的UART接口,進行UART編程開發(fā)。例程將創(chuàng)建一個任務(wù),通過配置UART引腳,實現(xiàn)UART讀寫操作。例程源代碼:https
    的頭像 發(fā)表于 04-22 14:22 ?1076次閱讀
    基于小凌派RK2206<b class='flag-5'>開發(fā)板</b>:OpenHarmony如何使用<b class='flag-5'>IoT</b>接口控制UART外設(shè)

    基于小凌派RK2206開發(fā)板:OpenHarmony如何使用IoT接口控制GPIO中斷

    1、實驗簡介本實驗將演示如何在小凌派-RK2206開發(fā)板上使用IOT庫的GPIO中斷模式,進行GPIO編程開發(fā)。例程將創(chuàng)建一個任務(wù),通過配置GPIO引腳為中斷模式,實現(xiàn)GPIO中斷操作。例程源代碼
    的頭像 發(fā)表于 04-21 10:39 ?1108次閱讀
    基于小凌派RK2206<b class='flag-5'>開發(fā)板</b>:OpenHarmony如何使用<b class='flag-5'>IoT</b>接口控制GPIO中斷

    基于小凌派RK2206開發(fā)板:OpenHarmony如何使用IoT接口控制GPIO外設(shè)

    1、案例簡介本案例主要是如何在小凌派-RK2206開發(fā)板上使用IOT庫的GPIO接口,進行GPIO編程開發(fā)。例程將創(chuàng)建一個任務(wù),通過配置GPIO引腳,實現(xiàn)GPIO讀寫操作。例程源代碼:https
    的頭像 發(fā)表于 04-11 15:36 ?2054次閱讀
    基于小凌派RK2206<b class='flag-5'>開發(fā)板</b>:OpenHarmony如何使用<b class='flag-5'>IoT</b>接口控制GPIO外設(shè)

    基于小凌派RK2206開發(fā)板:OpenHarmony如何使用IoT接口控制ADC外設(shè)

    1、案例簡介本案例主要講解如何在小凌派-RK2206開發(fā)板上使用IoT庫的ADC接口,進行ADC編程開發(fā)。例程內(nèi)容為創(chuàng)建一個任務(wù),讀取按鍵的ADC值,并打印到串口。例程源代碼:https
    的頭像 發(fā)表于 04-10 16:00 ?911次閱讀
    基于小凌派RK2206<b class='flag-5'>開發(fā)板</b>:OpenHarmony如何使用<b class='flag-5'>IoT</b>接口控制ADC外設(shè)

    基于小凌派RK2206開發(fā)板:OpenHarmony如何使用IoT接口控制PWM外設(shè)

    1、案例簡介本案例是在小凌派-RK2206開發(fā)板上使用IoT庫PWM接口,進行PWM編程開發(fā)。例程將創(chuàng)建一個任務(wù),每隔5秒將PWM0~10依次啟用,輸出1000Hz。
    的頭像 發(fā)表于 04-09 08:59 ?2652次閱讀
    基于小凌派RK2206<b class='flag-5'>開發(fā)板</b>:OpenHarmony如何使用<b class='flag-5'>IoT</b>接口控制PWM外設(shè)