基于DShanMCU-R128s2-DevKit开发智能手表

描述

NWatch(DIY智能手表)

本项目基于DShanMCU-R128s2-DevKit开发,用意是提供一个综合的示例进行学习参考。

本项目基于ZakKemble的开源项目-NWatch,GitHub仓库地址:https://github.com/ZakKemble/NWatch

与原作者的NWatch不一样的是,将其移植到DShanMCU-R128s2-DevKit开发板新窗口打开上,同时相比于原作者添加了一些功能,比如恢复出厂设置功能,后续有时间会慢慢增加更多的功能。

#运行效果

开发板

#硬件准备

DShanMCU-R128s2-DevKit开发板

0.96寸OLED(SSD1306)

EC11旋转编码器模块

红外接收模块+红外遥控器

无源蜂鸣器模块

DHT11温湿度模块

#源码获取

仓库源码:

Gitee:https://gitee.com/weidongshan/100ask_r128_demos/tree/master/nwatch

GitHub:https://github.com/100askTeam/100ask_r128_demos/tree/master/nwatch

#固件获取

如果你不想自己编译或者不需要二次开发,那么可以从这里获取固件,烧写固件到DShanMCU-R128s2-DevKit后开机会自动启动NWatch任务,如果没有自动启动在串口终端输入命令然后按回车即可: nwatch_100ask 3。模块接线请阅读模块接线小节。

Releases获取:

Gitee:https://gitee.com/weidongshan/100ask_r128_demos/releases/tag/v0.0.1

GitHub:https://github.com/100askTeam/100ask_r128_demos/releases/tag/v0.0.1

#二次开发

#修改 sys_config.fex

打开 R128-S2-SDK/board/r128s2/pro/configs/sys_config.fex ,进行如下的修改:

IIC引脚配置:

 

[twi1]
twi1_sck        = port:PB00<3><1>
twi1_sda        = port:PB01<3><1>

 

PWM配置:

 

[pwm6]
pwm_used        = 1
pwm_positive    = port:PA26<4><0><2>

 

#添加100ask_r128_demos

从git仓库获取源码:

Gitee:https://gitee.com/weidongshan/100ask_r128_demos/tree/master/nwatch

GitHub:https://github.com/100askTeam/100ask_r128_demos/tree/master/nwatch

clone仓库或者下载仓库压缩包到本地,并将仓库目录放在sdk的这个目录下面:

 

R128-S2-SDK/lichee/rtos-components/thirdparty/100ask_r128_demos

 

一定要确保文件夹名称是 100ask_r128_demos

打开文件 R128-S2-SDK/lichee/rtos-components/thirdparty/Makefile 进行编辑,在文件的最后面或最前一行加入下面的内容:

 

obj-$(CONFIG_COMPONENTS_100ASK_R128_DEMOS) += 100ask_r128_demos/

 

打开文件 R128-S2-SDK/lichee/rtos-components/thirdparty/Kconfig 进行编辑,在文件的最后或最前一行加入下面的内容:

 

source components/common/thirdparty/100ask_r128_demos/Kconfig

 

#配置menuconfig

执行 mrtos_menuconfig 进入到下面所示的位置进行配置:

选择载入 r128s2_module_c906 方案,并进入 menuconfig:

 

$ source envsetup.sh 
$ lunch_rtos 1
$ mrtos_menuconfig

 

打开IIC:

 

System components  --->
    Drivers Options  --->
        soc related device drivers  --->
        TWI Devices  --->
                -*- enable twi driver
                [ ]   enable twi hal APIs test command

 

打开PWM:

 

System components  --->
    Drivers Options  --->
        soc related device drivers  --->
            PWM devices --->
                [*] enable pwm driver
                [ ]   enable pwm hal APIs test command

 

打开GPIO及其中断:

 

System components  --->
    Drivers Options  --->
        soc related device drivers  --->
            GPIO devices --->
                [*] enable GPIO driver
                [ ]   enable gpio hal APIs test command
                [ ] enable gpio chip aw9523
                [*] enable amp gpio irq

 

配置 100ask_r128_demos:

 

System components  --->
    thirdparty components  --->
        USE 100ask_r128_demos  --->
            --- USE 100ask_r128_demos
            [*]   USE USE_100ASK_MODULE_DRIVER  --->
            [*]   USE USE_100ASK_MODULE_DRIVER_IIC_OLED  --->
            [ ]   USE USE_100ASK_MODULE_DRIVER_SPI_LCD  ----
            [*]   USE USE_100ASK_MODULE_DRIVER_PASSIVE_BUZZER  --->
            [*]   USE USE_100ASK_MODULE_DRIVER_ROTARY_ENCODER  ----
            [*]   USE USE_100ASK_MODULE_DRIVER_IR_RECEIVER  --->
            [*]   USE USE_100ASK_MODULE_DRIVER_SPI_FLASH  ---> 
            [*]   USE USE_100ASK_MODULE_DRIVER_DHT11  ----
            [ ]   100ask lvgl desktop
            [*]   NWatch demo
            ......

 

#开机启动

如果省略这一步,那么在开机之后,在串口终端输入命令然后按回车运行 NWatch 任务: nwatch_100ask 3

如果需要开机自启动 NWatch 任务,按照如下步骤操作:

打开 R128-S2-SDK/lichee/rtos/projects/r128s2/pro_c906/src/main.c ,文件

在 main函数 中如下位置添加如下代码:

 

void cpu0_app_entry(void *param)
{
    ......
#ifdef CONFIG_NWATCH_100ASK
    int argc = 2;
char *argv[] = {
"nwatch_100ask",
"3",
};
    nwatch_100ask_main(argc, argv);
#endif
    vTaskDelete(NULL);
}

 

最后,编译、打包: mrtos && pack

编译出来的镜像存放位置:R128-S2-SDK/out/r128s2/pro/rtos_freertos_r128s2_pro_uart0_16Mnor.img

通过烧写工具将其烧写到开发板上,下一步,对各个模块进行接线。

#模块接线

IIC OLED模块接线:

 

SCK ------- PB00
SDA ------- PB01

 

EC11旋转编码器接线:

 

S1   -------  PA24
S2   -------  PA25
KEY  -------  PA29

 

蜂鸣器模块接线:

 

BEEP DATA PIN ------- PA26

 

红外接收模块接线:

 

IR DATA PIN   -------   PA10

 

DHT11模块:

 

DHT11 DATA PIN   -------   PA6

 

 

  审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分