# 代码到实物 **Repository Path**: MaHe3/code-to-physical-object ## Basic Information - **Project Name**: 代码到实物 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-05-10 - **Last Updated**: 2024-06-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 代码到实物期末设计 #### 海报 ![输入图片说明](%E6%B5%B7%E6%8A%A5.jpeg) #### 学习过程 在期末项目中,我们选择利用ESP32开发板制作一个数字沙漏。数字沙漏的完整流程正好为一小时,小时数会在顶部的玻璃上显示。 1. **准备材料**: - **ESP32开发板**:作为项目的核心控制器。 - **2个 GC9a01 圆形显示屏**:用于模拟沙漏的沙子,显示时间和其他信息。 - **RTC模块**:确保时间的准确性。 - **外壳材料**:3D打印耗材,用于3D打印制作外壳。 - **其他元件**:如电阻、电容、连接线等。 - **PCB电路板**:我们设计并制作了自己的电路板,具体见PCB设计文件夹。 2. **接线**: - 将OLED显示屏连接到ESP32的I2C接口,确保数据传输的稳定性。 ![输入图片说明](%E6%95%B0%E5%AD%97%E6%B2%99%E6%BC%8F/%E6%8E%A5%E7%BA%BF%E5%9B%BE.png) - 连接RTC模块,使ESP32能够获取准确的时间信息。 - 确保所有连接都稳定牢固,避免因接触不良导致的故障。 3. **编程**: - **环境配置**:在Arduino IDE中安装ESP32的开发库。 - **代码编写**:编写程序以初始化OLED显示屏和RTC模块,设置显示格式,并通过定时器实现时间倒计时功能。RTC模块通过无线电加密信号获取时间。可能需要几分钟才能显示正确的时间。从接收到的数据中分离出分钟和小时数,并用于我们的程序。分钟数被转换为沙子三角形的坐标,确保沙子的流动正好持续一小时。小时数只在上方的玻璃上显示。 - **功能实现**:代码中包含时间设置、倒计时显示、警报提示等功能。 - **测试与调试**:上传程序到ESP32,测试各个功能,确保时间显示准确,倒计时功能正常工作。 4. **外观**: - **图形工作原理**:图形由简单的几何元素组成。上方的沙子最初显示为一个填充矩形,通过一个黑色三角形模拟沙子流动形成的圆锥,随时间改变形状和位置。底部堆积的沙子也由三角形表示。 - **外壳设计**:使用Fusion软件为沙漏设计一个美观且实用的外壳,经过渲染,使用3D打印机制作,既保护内部电路,又提升整体美观度。 ![输入图片说明](%E6%95%B0%E5%AD%97%E6%B2%99%E6%BC%8F/3D%E6%89%93%E5%8D%B01.jpg) ![输入图片说明](%E6%95%B0%E5%AD%97%E6%B2%99%E6%BC%8F/3D%E6%89%93%E5%8D%B02.jpg) #### HWM问题定义 1. **学生**:我们如何才能为【在校无法使用手机的学生】创造一个【直观显示时间且便携的数字沙漏】,从而帮助他们【有效地规划和分配学习时间】? 2. **餐厅经理**:我们如何才能为【追求效率的餐厅经理】提供一个【精确且现代化的数字沙漏】,从而【确保每道菜按时上桌,优化客户的用餐体验,提升餐厅的高级感和吸引力】? 3. **设计艺术家**:我们如何才能为【精致的设计艺术家】提供一个【美观且实用的数字沙漏】,从而【帮助他们在创作过程中保持创作节奏和灵感】? 4. **DIY爱好者**:我们如何才能为【喜欢动手乐趣的DIY爱好者】提供一个【可定制且新奇的数字沙漏】,从而【激发他们的创造力和动手能力,享受制作和改进的乐趣】? #### 目标用户 数字沙漏可以为需要进行时间管理和提升效率的人群提供便利,无论是在教育、工作还是个人生活中。主要面向以下几类用户: 1. **学生**:用来进行时间管理,帮助专注于学习任务,比如利用番茄工作法(25分钟工作,5分钟休息) 2. **餐厅经理**:用于确保每道菜按时上桌,优化客户的用餐体验。现在的许多餐厅都有三十分钟不上菜免单的规定,使用数字沙漏替换传统沙漏,不仅可以提升餐厅的高级感,还能吸引顾客的注意力,减少等待的苦闷。 3. **设计艺术家**:用于创作过程中的时间管理,美观的数字沙漏也能让他们保持创作节奏和灵感。 4. **DIY爱好者**:喜欢制作和设计个性化物品的人也会被新奇的数字沙漏设计吸引,使用数字沙漏或改进数字沙漏可以让他们从中获得乐趣和成就感。 #### 应用场景 该数字沙漏项目的应用场景广泛,主要包括: 1. **教育用途**: - **课堂教学**:在物理、电子、计算机等课程中作为教学工具,帮助学生理解时间、计时器、数字电路等概念。 - **课外活动**:作为学校科技创新活动中的一个项目,激发学生的创新思维和动手能力。 2. **家居装饰**: - **室内装饰**:作为一个独特的装饰品,可以放置在书桌、客厅等地方,既美观又实用。 - **礼物**:制作成品后作为礼物送给朋友或家人,表达心意的同时展示个人的动手能力和创意。 3. **时间管理**: - **工作计时器**:在工作时用于番茄钟计时法,提升工作效率。 - **学习计时器**:帮助学生合理安排学习时间,培养良好的时间管理习惯。 - **餐厅计时器**:在餐厅中使用,帮助顾客精准计时上菜时间。 #### 用户痛点 用户痛点指的是用户尚未被满足的、被广泛渴望的需求。对于数字沙漏项目,用户痛点主要包括: 1. **传统沙漏的局限**: - **精确度低**:传统沙漏的计时精确度较低,容易受环境因素影响,如湿度和温度。 - **时间限制**:传统沙漏的计时时间固定,用户无法根据需要调整倒计时时间。 - **缺乏多功能性**:传统沙漏只能简单计时,不能提供额外的提醒功能或其他互动功能。 2. **数字化需求**: - **可视化和互动性**:用户希望有一个更加现代化的计时工具,能够直观显示剩余时间,并且提供音效或视觉提醒。 - **可编程性和扩展性**:一些用户希望计时器能够根据具体需求进行编程调整,实现多种计时模式和功能。 3. **时间管理需求**: - **高效管理时间**:在工作和学习中,用户需要一个能够帮助他们高效管理时间的工具,提升工作效率和学习效率。 - **灵活性和便携性**:用户希望有一个便于携带的计时工具,可以在不同场景下使用,无论是工作、学习还是日常生活中。 4. **设计美观**: - **个性化需求**:用户希望拥有一个既实用又美观的计时器,能够作为装饰品融入家居环境,体现个人品味和风格。 #### 设计概念图 ![输入图片说明](%E6%95%B0%E5%AD%97%E6%B2%99%E6%BC%8F/%E6%A6%82%E5%BF%B5%E5%9B%BE.gif) #### 材料图 ![输入图片说明](README%E6%9D%90%E6%96%99%E5%9B%BE.jpg) #### 成品图 ![输入图片说明](%E6%95%B0%E5%AD%97%E6%B2%99%E6%BC%8F/%E6%88%90%E5%93%81%E5%9B%BE.jpg)