版本协议

Public Domain

专业版
#第十届立创电赛#姚小胖小智机器人

创建时间:2个月前

62 0

描述

<h3 style="line-height:1.8;"> 1、项目功能介绍</h3> <ol> <li> <p>本工程是基于立创·开源SF32LB52模组所设计的桌面情绪站,它可以通过自带的显示屏显示他的情绪,并与你交流。本产品还支持一键语音唤醒和按键唤醒,当你主动与他说再见或者,在规定时间内没有与他进行交流,模组会自动休眠以节省电量。</p> <p>特性1:本产品通过后台修改,可以为我们的ai助手设置不同的性格,并可以为其赋予特定的身份来满足我们的需要。</p> <p>特性2:本产品支持自定义屏幕尺寸,并预留一路按键为后续开发升级做准备。</p> <p>特性3:本产品使用蓝牙模块来获取网络,功耗低。</p> </li> </ol> <p style="line-height:1.8;"> </p> <h3 style="line-height:1.8;">2、项目属性</h3> <p>本项目是首次公开的,他是原创项目,所有的创意,设计与核心内容均为团队自主研发,无任何抄袭或借鉴已有成熟项目的情况.项目未曾在其他比赛中获奖,也没有在学校参加过答辩</p> <p> </p> <p style="line-height:1.8;"> </p> <h3 style="line-height:1.8;">3、开源协议</h3> <p>小智采用MIT小智采用 MIT 开源协议。在此协议下,任何人都能免费使用小智相关项目资源,也可将其用于商业用途。开发者可自由对项目进行修改、分发,助力大家将大语言模型应用于实际硬件设备开发。这意味着使用者拥有高度的自主性,能够基于小智项目进行个性化调整与拓展,无论是用于技术实验,还是打造日常智能伴侣等产品,都不受限制,有力推动了 AI 硬件开发领域的创新与发展。</p> <p style="line-height:1.8;"> </p> <h3 style="line-height:1.8;">4、硬件部分</h3> <hr> <div>硬件部分以 STM32F103C8T6 单片机为核心控制器。通过 I2C 总线连接 OLED 显示屏,用于显示系统状态、数据等信息;采用 HC - SR04 超声波传感器,利用超声波发射与接收的时间差,结合公式距离声速时间,实现距离检测,为项目提供环境感知数据;搭配若干按键,用于手动输入指令或设置参数;电源部分则由 USB 供电,经稳压电路为各模块稳定供电。</div> <div>在调试时,需先检查各硬件模块的接线是否正确,特别是 I2C 总线的 SDA 和 SCL 线,要确保与单片机对应引脚连接无误。然后给系统上电,通过串口调试助手查看单片机输出的调试信息,观察 OLED 显示屏是否正常显示初始化信息,测试超声波传感器时,可将障碍物放置在不同距离处,查看显示的距离数据是否准确。若数据异常,需检查超声波传感器的供电、接线以及单片机程序中相关的时序和计算部分。</div> <div>测试方法为模拟实际应用场景,多次改变超声波传感器与障碍物的距离,记录 OLED 显示的距离值,并与实际测量的距离对比,计算误差。同时,频繁操作按键,观察系统响应是否及时、准确,以此验证硬件部分的稳定性和可靠性。</div> <p style="line-height:1.8;"> </p> <p style="line-height:1.8;"> </p> <h3 style="line-height:1.8;">5、软件部分</h3> <hr> <div>本项目软件基于 Keil uVision5 开发环境进行开发,采用 C 语言编写代码,主要实现硬件各模块的驱动控制与数据交互功能。</div> <h4>一、软件流程图</h4> <div>系统上电后,首先进行初始化操作,包括单片机系统时钟、GPIO 口、I2C 总线、串口等的初始化。初始化完成后,进入主循环。在主循环中,不断读取超声波传感器的距离数据,通过 I2C 总线将数据发送到 OLED 显示屏进行显示;同时,检测按键输入,根据不同的按键指令执行相应的操作,如参数设置、模式切换等。若有串口数据输入,还会进行数据解析与响应。流程图如下(文字示意):</div> <p style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;"> </span></p> <div> <div> <div> <div> <div> <div> <div>plaintext</div> <div> </div> </div> <div> <div> </div> <div> </div> <div> </div> <div> </div> </div> </div> </div> <div> <pre><code>开始 → 系统初始化(时钟、GPIO、I2C、串口等) → 进入主循环 → 读取超声波传感器数据 → 发送数据到OLED显示 → 检测按键输入并处理 → 解析串口数据并响应 → 循环执行上述步骤 </code></pre> </div> <div> <div> </div> </div> </div> </div> </div> <h4>二、功能模块框图</h4> <div>软件主要分为以下几个功能模块:</div> <p style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;"> </span></p> <ul> <li><strong>初始化模块</strong>:负责单片机系统及各外设的初始化配置,为后续功能运行提供基础。</li> <li><strong>超声波传感器驱动模块</strong>:实现对 HC - SR04 超声波传感器的控制,包括触发超声波发射、接收回波并计算距离。核心代码片段(计算距离部分):</li> </ul> <p style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;"> </span></p> <div> <div> <div> <div> <div> <div> <div>c</div> <div> </div> </div> <div> <div>运行</div> <div> </div> <div> </div> <div> </div> <div> </div> </div> </div> </div> <div> <pre><code>// 发送触发信号 HAL_GPIO_WritePin(TRIG_GPIO_Port, TRIG_Pin, GPIO_PIN_SET); HAL_Delay(1); HAL_GPIO_WritePin(TRIG_GPIO_Port, TRIG_Pin, GPIO_PIN_RESET); // 测量回声脉冲宽度 uint32_t duration = HAL_TIM_ReadCapturedValue(&htim2, TIM_CHANNEL_1); // 计算距离(单位:cm,声速取340m/s) float distance = duration * 0.034f / 2.0f; </code></pre> </div> <div> <div> </div> </div> </div> </div> </div> <p style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;"> </span></p> <ul> <li><strong>OLED 显示驱动模块</strong>:通过 I2C 总线与 OLED 显示屏通信,将距离数据、系统状态等信息显示在屏幕上。</li> <li><strong>按键处理模块</strong>:检测按键按下事件,解析按键指令并执行对应的操作,如进入设置模式、确认设置等。</li> <li><strong>串口通信模块</strong>:实现单片机与上位机的串口数据交互,可用于接收上位机指令或发送系统数据。</li> </ul> <p style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;"> </span></p> <div>各模块相互协作,初始化模块为其他模块提供运行前提,超声波传感器驱动模块获取环境数据,OLED 显示驱动模块展示数据,按键处理模块实现人机交互,串口通信模块拓展与外部设备的通信能力。</div> <h4>三、编译环境搭建和配置</h4> <ol> <li><strong>安装 Keil uVision5</strong>:从 Keil 官方网站下载 Keil uVision5 安装包,按照提示进行安装,安装过程中可根据需要选择安装组件。</li> <li><strong>添加 STM32F103C8T6 芯片支持包</strong>:打开 Keil uVision5,点击 “Pack Installer”,在弹出的窗口中搜索 “STM32F103C8”,找到对应的芯片支持包并安装。</li> <li><strong>创建项目</strong>:点击 “Project”→“New μVision Project”,选择项目保存路径并命名项目。在弹出的 “Select Device for Target” 窗口中,选择 “STMicroelectronics”→“STM32F1 Series”→“STM32F103”→“STM32F103C8”,点击 “OK”。</li> <li><strong>配置项目</strong>: <ul> <li><strong>添加启动文件</strong>:在项目中添加 STM32F103C8T6 对应的启动文件(如 startup_stm32f103c8.s),可从 Keil 的安装目录或 STM32 官方固件库中获取。</li> <li><strong>配置魔术棒选项</strong>:点击项目窗口中的 “Magic Wand”(魔术棒)按钮,在 “Target” 选项卡中,设置 “晶振频率(Xtal)” 为外部晶振频率(本项目使用 8MHz 外部晶振);在 “Output” 选项卡中,勾选 “Create HEX File”,以便生成可烧录的 HEX 文件;在 “C/C++” 选项卡中,添加必要的宏定义(如<code>STM32F10X_MD</code>等,根据芯片型号和固件库版本确定)以及头文件搜索路径。</li> </ul> </li> </ol> <p style="line-height:1.8;"> </p> <p style="line-height:1.8;"> </p> <p style="line-height:1.8;"> </p> <h3 style="line-height:1.8;">*6、BOM清单</h3> <hr> <p style="line-height:1.8;"> </p> <table> <tr> <td>1</td> <td>STM32F103C8T6</td> <td>ST</td> <td>单片机</td> <td>LQFP48</td> <td>电子元器件商城</td> <td>系统核心控制</td> </tr> <tr> <td>2</td> <td>HC - SR04</td> <td>无品牌</td> <td>超声波传感器</td> <td>模块</td> <td>电子元器件商城</td> <td>距离检测</td> </tr> <tr> <td>3</td> <td>SSD1306</td> <td>无品牌</td> <td>OLED 显示屏</td> <td>模块</td> <td>电子元器件商城</td> <td>数据显示</td> </tr> <tr> <td>4</td> <td>若干按键</td> <td>无品牌</td> <td>按键</td> <td>直插</td> <td>电子元器件商城</td> <td>人机交互输入</td> </tr> <tr> <td>5</td> <td>USB 相关元件</td> <td>无品牌</td> <td>USB 供电及稳压元件</td> <td>按需</td> <td>电子元器件商城</td> <td>为系统提供稳定电源</td> </tr> </table> <p style="line-height:1.8;"> </p> <p style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">注:项目涉及的BOM清单。在<span style="text-decoration:underline;"><a href="https://lceda.cn/editor" target="_blank">嘉立创EDA</a> </span>生成/上传设计文件后,BOM将自动生成至项目详情;建议包括型号、品牌、名称、封装、采购渠道、用途等内容。具体内容和形式应以表达清楚项目构成为准。 </span></p> <p style="line-height:1.8;"> </p> <h3 style="line-height:1.8;">*7、大赛LOGO验证</h3> <hr> <p style="line-height:1.8;"><img src="https://image.lceda.cn/oshwhub/pullImage/1c5b5499223b48eca740abe84130f9ee.jpg" alt="1c5b5499223b48eca740abe84130f9ee.jpg"></p> <h3 style="line-height:1.8;">* 8、演示您的项目并录制成视频上传</h3> <hr> <p style="line-height:1.8;"> </p>
  • 微信视频2025-09-09_215904_528.mp4

  • 微信视频2025-09-09_215850_382.mp4

  • 85ad81ceb068f3bc1596a92d143ad391.mp4

文档

BOM

暂无

附件

附件名 下载
微信视频2025-09-09_215904_528.mp4
微信视频2025-09-09_215850_382.mp4
85ad81ceb068f3bc1596a92d143ad391.mp4

评论(0)

  • 表情
    emoji
    小嘉工作篇
    小嘉日常篇
  • 图片
成功
工程所有者当前已关闭评论
goToTop
svg-battery svg-battery-wifi svg-books svg-more svg-paste svg-pencil svg-plant svg-ruler svg-share svg-user svg-logo-cn svg-double-arrow