【AI冬季挑战赛】Chinese Zodiac

Chinese Zodiac

本项目分为两部分,Part A为online实时模式,Part B为offline上传模式。

思维导图:

  • Part A功能:输入出生年份算出生肖,测运势。语音朗读,语音识别,图像识别。
  • Part B功能:输入出生年份算出生肖。图像识别,语音合成,mp3播放,环境检测。

一、Part A

1. 器材

  • 掌控板

2. 软件

  • Mind+

3. 程序编写

1)年份的输入有以下方式:

  • 通过键盘输入
  • 使用语音识别,通过语音输入
  • 使用百度AI图像识别,识别手写的数字

触摸P键通过键盘输入出生年份;触摸T键通过语音输入出生年份;触摸O键通过图像识别输入出生年份,以下为代码:

2)计算属相

  • 函数:通过参数year计算出属相并朗读

  • 函数showpic:显示对应的属相图片,并朗读属相特点

  • 函数luckyPoint:播报幸运指数,显示不同造型图片

二、Part B

1. Part B设计草图:

2. Part B完成外观:

3. Part B器材

  • 掌控板
  • Gravity: UART MP3语音模块
  • Speech Synthesizer Bee语音合成模块
  • MU视觉传感器
  • Gravity: I2C BME680环境传感器 (VOC、温度、湿度、气压)
  • 炫彩 WS2812 RGB LED或光环板
  • 无源音箱小喇叭 (8Ω3W)
  • WiFi Bee IO扩展板
  • micro:bit掌控I/O扩展板或盛思掌控扩展板
  • AUX小音箱

4. 软件

Mind+

5. 程序编写

1)初始化变量及设备,语音播报及屏幕显示使用方法

  • 函数:初始化设备

  • 函数:初始化变量

英文列表用于在掌控板OLED显示屏上显示,中文列表用于朗读识别结果。

2)解决年份的输入问题

  • 使用视觉识别输入年份

实现方法: 播报:请输入第"N"个数字,用户使用小MU视觉模块搭配的数字卡输入出生年份的第N个数字,重复4次,得到出生年份。

播报:请输入第"N"个数字,用户使用MU视觉模块搭配的数字卡输入出生年份的第N个数字,重复4次,得到出生年份。 

技巧:当MU传感器LED灯闪烁为红色时,说明传感器已经准备好,可以开始识别;当LED灯闪烁为蓝色时,说明识别成功。

说明:由于外观设计需要,将MU传感器倒置放置,所以识别的时候数字也是倒置的。

  • 函数:视觉识别数字

3)计算年份及生肖

  • 函数:计算年份及生肖

4)光环板点亮

光环板先正向、反向点亮流水灯各一次,然后在生肖位置点亮对应的两盏灯。

上图是光环板正常放置时的程序图。本项目中因为接线要求,所以光环板也需要上下倒置,点亮灯的位置需要如下图换算一下:

5)播报环境值:

BME680可以测量温度、湿度、海拔、气压、气体电阻值。将测量结果显示在屏幕上,并用语音播报。

6)mp3播放生肖童谣

因为mp3模块容量不大,所以只放了一首童谣,并进行了裁剪。童谣吐字不太好分辨,所以使用掌控板依照播放速度显示歌词,方便使用者记忆十二生肖的顺序。

 

说明:

因原文较长,有兴趣的朋友可以阅读原文查看:https://makelog.dfrobot.com.cn/article-308063.html