This shows you the differences between two versions of the page.
|
pm:prj2026:jan.vaduva:cristian_ioan.chira [2026/05/09 22:38] cristian_ioan.chira Wrote Introduction |
pm:prj2026:jan.vaduva:cristian_ioan.chira [2026/05/09 23:57] (current) cristian_ioan.chira Added components |
||
|---|---|---|---|
| Line 2: | Line 2: | ||
| ===== Introduction ===== | ===== Introduction ===== | ||
| - | <note tip> | ||
| - | Prezentarea pe scurt a proiectului vostru: | ||
| - | * ce face | ||
| - | * care este scopul lui | ||
| - | * care a fost ideea de la care aţi pornit | ||
| - | * de ce credeţi că este util pentru alţii şi pentru voi | ||
| - | </note> | ||
| FlowBox is an interactive anti-stress fidget toy designed to simulate a physical container filled with granular particles (e.g., sand) or fluid (e.g., water, lava). The simulation reacts in real-time to the user's movements, such as tilting or shaking, thanks to an integrated 6-axis inertial measurement unit (IMU). A single-button interface allows users to cycle through different materials via a short press or change the map configuration with a long press. | FlowBox is an interactive anti-stress fidget toy designed to simulate a physical container filled with granular particles (e.g., sand) or fluid (e.g., water, lava). The simulation reacts in real-time to the user's movements, such as tilting or shaking, thanks to an integrated 6-axis inertial measurement unit (IMU). A single-button interface allows users to cycle through different materials via a short press or change the map configuration with a long press. | ||
| The inspiration for FlowBox stems from a desire to combat smartphone addiction. During moments of stress (such as when hitting a roadblock while working on projects or assignments), the common reflex is to reach for the phone, a habit that often leads to unproductive "infinite scrolling" and increased negative emotions, usually ending up less rested than before. FlowBox is designed to intercept this behavioral loop. By providing a tactile, aesthetically pleasing, and satisfyingly predictable digital-physical experience, it offers a "short break that stays short", allowing the user to reset without falling into the engagement traps of present-day attention economy. | The inspiration for FlowBox stems from a desire to combat smartphone addiction. During moments of stress (such as when hitting a roadblock while working on projects or assignments), the common reflex is to reach for the phone, a habit that often leads to unproductive "infinite scrolling" and increased negative emotions, usually ending up less rested than before. FlowBox is designed to intercept this behavioral loop. By providing a tactile, aesthetically pleasing, and satisfyingly predictable digital-physical experience, it offers a "short break that stays short", allowing the user to reset without falling into the engagement traps of present-day attention economy. | ||
| - | ===== Descriere generală ===== | + | ===== General Description ===== |
| - | <note tip> | + | {{:pm:prj2026:jan.vaduva:flowbox_block_diagram.png}} |
| - | O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează. | + | The device is designed around the ESP32-S3R8 microcontroller, which acts as the central hub for high-speed graphics processing, real-time physics calculation, and power management. |
| - | Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html | + | == Central Processing Unit (ESP32-S3R8) == |
| - | </note> | + | |
| + | The "brain" of the device utilizes a dual-core Xtensa 32-bit LX7 processor. To ensure a smooth user experience, the software is split across both cores. | ||
| + | |||
| + | == Sensing and User Interaction == | ||
| + | |||
| + | **Motion Sensing (QMI8658):** This 6-axis IMU is connected via the I2C protocol. It provides the pitch and roll data necessary for the physics engine to calculate the force for the sand particles. | ||
| + | |||
| + | **Control (BOOT Button):** Connected to GPIO 0, this single button utilizes hardware interrupts. A software state machine distinguishes between short presses (material cycle) and long presses (map cycle/sync mode), providing a minimalist yet powerful user interface. | ||
| + | |||
| + | == Display and Storage == | ||
| + | **IPS LCD (RGB565):** The 3.16" display uses a high-speed parallel RGB565 interface driven by the ST7701 controller. This allows for the high data throughput required to render hundreds of moving particles at 60 FPS. | ||
| + | |||
| + | **MicroSD Storage (SPI Mode):** Stores the maps containing wall configurations. | ||
| + | |||
| + | == Power and Connectivity == | ||
| + | **Charging and Regulation:** Power is managed by the ETA6096 switching charger, which handles the transition between USB-C power and the 1000mAh LiPo battery. | ||
| + | |||
| + | **PC Interaction:** The Native USB peripheral of the ESP32-S3 allows the device to act as a USB Mass Storage Class (MSC) device. This enables "Sync Mode," where the device appears as a standard thumb drive on a PC for easy map management without removing the SD card. | ||
| ===== Hardware Design ===== | ===== Hardware Design ===== | ||
| - | <note tip> | + | List of components: |
| - | Aici puneţi tot ce ţine de hardware design: | + | |
| - | * listă de piese | + | |
| - | * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, e.g. http://www.captain.at/electronic-atmega16-mmc-schematic.png) | + | |
| - | * diagrame de semnal | + | |
| - | * rezultatele simulării | + | |
| - | </note> | + | |
| - | ===== Software Design ===== | + | - Waveshare ESP32-S3-LCD-3.16 - https://www.emag.ro/placa-de-dezvoltare-esp32-s3-waveshare-lcd-3-16-conectivitate-wi-fi-si-bluetooth-5-senzor-imu-rtc-m-021/pd/D9Y1KB2BM/ |
| + | - 1000mAh Li-Po battery - https://www.emag.ro/acumulator-li-polymer-inncraft-1000mah-3-7v-jst-102535-126/pd/DSMSXJMBM/ | ||
| - | <note tip> | + | - microSD card |
| - | Descrierea codului aplicaţiei (firmware): | + | ===== Software Design ===== |
| - | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | |
| - | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | TODO |
| - | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | |
| - | * (etapa 3) surse şi funcţii implementate | + | |
| - | </note> | + | |
| ===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
| - | <note tip> | + | TODO |
| - | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
| - | </note> | + | |
| ===== Concluzii ===== | ===== Concluzii ===== | ||
| - | ===== Download ===== | + | TODO |
| - | <note warning> | + | ===== Download ===== |
| - | O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). | + | TODO |
| - | + | ||
| - | Fişierele se încarcă pe wiki folosind facilitatea **Add Images or other files**. Namespace-ul în care se încarcă fişierele este de tipul **:pm:prj20??:c?** sau **:pm:prj20??:c?:nume_student** (dacă este cazul). **Exemplu:** Dumitru Alin, 331CC -> **:pm:prj2009:cc:dumitru_alin**. | + | |
| - | </note> | + | |
| ===== Jurnal ===== | ===== Jurnal ===== | ||
| - | <note tip> | + | TODO |
| - | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | |
| - | </note> | + | |
| ===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
| - | <note> | + | TODO |
| - | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | |
| - | </note> | + | |
| <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||