# fluidbox **Repository Path**: genvex/fluidbox ## Basic Information - **Project Name**: fluidbox - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-29 - **Last Updated**: 2026-09-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FluidBox - 3D流体粒子模拟器 在ESP32-S3上的3D流体粒子模拟,移植自Waveshare ESP32-S3-Touch-AMOLED-1.8到DFRobot K10 (ESP32-S3 + ILI9341)。 ## 功能特性 - **600个粒子**的3D流体模拟 - **90fps**渲染刷新率 - **双核并行**处理:Core 0渲染 + Core 1仿真 - **IMU感应**:SC7A20H加速度计,倾斜控制流体方向 - **按键切换**:TCA9555 IO扩展器,短按切换颜色方案 - **无帧缓冲**:分条带渲染,绕过内存限制 ## 硬件配置 - **MCU**: ESP32-S3 QFN56 - **屏幕**: ILI9341 SPI (240x320) - **IMU**: SC7A20H I2C1 (SDA=47, SCL=48, addr=0x19) - **按键**: TCA9555 I2C1 (addr=0x20) - **Flash**: 8MB ## 编译环境 - ESP-IDF v6.0.2 - Toolchain: esp-14.2.0_20241119 ## 构建命令 ```bash # 激活ESP-IDF环境 source ~/.espressif/tools/activate_idf_v6.0.2.sh # 进入项目目录 cd dfk10-app-brookesia/fluidbox # 首次构建(自动下载依赖) idf.py set-target esp32s3 idf.py build # 烧录固件 idf.py -p /dev/ttyACM0 flash # 串口监视器 idf.py monitor ``` ## 分区布局 | 分区 | 类型 | 偏移 | 大小 | |------|------|------|------| | bootloader | - | 0x0000 | 16KB | | partition | - | 0x8000 | 8KB | | nvs | data | 0x9000 | 16KB | | phy_init | data | 0xD000 | 4KB | | factory | app | 0x10000 | ~7MB | ## 使用方式 1. 上电后屏幕显示黑色背景和蓝色边框盒子 2. 彩色粒子在盒内流动(蓝/暖色/彩虹方案循环切换) 3. 倾斜/摇晃开发板改变流体运动方向 4. 短按P3键切换颜色方案 ## 可调参数 (main/config.h) ```c #define PARTICLE_COUNT 600 // 粒子数 #define TIME_SCALE 0.100f // 时间缩放 #define BOX_D 75.0f // 盒子深度 #define SPEED_COLOR_MAX 5000.0f // 白色阈值 ``` ## 源码结构 ``` fluidbox/ ├── CMakeLists.txt # 主构建配置 ├── sdkconfig.defaults # SDK默认配置 ├── partitions.csv # 分区表 ├── main/ │ ├── config.h # 参数配置 │ ├── display.c/h # ILI9341驱动 │ ├── sim.c/h # 流体仿真 │ ├── render.c/h # 渲染器 │ ├── imu.c/h # SC7A20H驱动 │ ├── button.c/h # 按键处理 │ └── main.c # 入口 └── components/dfrobot_k10 # K10 BSP ``` ## 原始项目 - GitHub: https://github.com/V4C38/esp32-fluidbox - 原始硬件: Waveshare ESP32-S3-Touch-AMOLED-1.8 (CO5300 448x368) ## License MIT