This shows you the differences between two versions of the page.
pm:prj2025:eradu:andra.belceanu [2025/05/19 13:21] andra.belceanu [Conclusion] |
pm:prj2025:eradu:andra.belceanu [2025/05/29 23:35] (current) andra.belceanu [Software Design] |
||
---|---|---|---|
Line 121: | Line 121: | ||
All components share a common GND, and are powered from the Arduino’s 5V rail. Pin assignments were selected to minimize conflict with internal timers and preserve clean signal timing for both the servo and WS2812 LEDs. | All components share a common GND, and are powered from the Arduino’s 5V rail. Pin assignments were selected to minimize conflict with internal timers and preserve clean signal timing for both the servo and WS2812 LEDs. | ||
+ | {{:pm:prj2025:eradu:whatsapp_image_2025-05-21_at_18.27.41_2_.jpeg?200|}} | ||
+ | {{:pm:prj2025:eradu:whatsapp_image_2025-05-21_at_18.27.41.jpeg?200|}} | ||
+ | {{:pm:prj2025:eradu:whatsapp_image_2025-05-21_at_18.27.41_1_.jpeg?200|}} | ||
+ | {{:pm:prj2025:eradu:whatsapp_image_2025-05-21_at_18.27.41_3_.jpeg?200|}} | ||
+ | {{:pm:prj2025:eradu:whatsapp_image_2025-05-21_at_18.27.41_5_.jpeg?200|}} | ||
===== Software Design ===== | ===== Software Design ===== | ||
Line 172: | Line 177: | ||
* **Animations** | * **Animations** | ||
- | * 7 visual effects switch every 10 seconds after feeding (effectCycles) | + | * 11 visual effects switch every 10 seconds after feeding (effectCycles) |
* game variable cycles through effects | * game variable cycles through effects | ||
* fade_color() mode allows full color transition via potentiometer | * fade_color() mode allows full color transition via potentiometer | ||
Line 186: | Line 191: | ||
* Noise filter: Brief readings under 300 ms are ignored | * Noise filter: Brief readings under 300 ms are ignored | ||
- | **Optimizations Performed** | ||
- | |||
- | * Brightness capped at 10/255 → limits power draw to ~200 mA | ||
- | * Animation auto-stop after 22 seconds to conserve energy | ||
- | * Removed unused light games (e.g., arrow()) to reduce flash size | ||
**Sources and Implemented Functions** | **Sources and Implemented Functions** | ||
Line 207: | Line 207: | ||
**Demo Video** | **Demo Video** | ||
+ | Video link: https://youtube.com/shorts/k56aoU-vjDw?feature=share | ||
The video shows: | The video shows: | ||
Line 215: | Line 215: | ||
* Button-based animation switching | * Button-based animation switching | ||
* Color/speed tuning with potentiometer | * Color/speed tuning with potentiometer | ||
+ | |||
+ | Source code: https://github.com/AndraBel/PurrGlow-Feeder/tree/main | ||
- | ==== Conclusion ==== | + | ===== Conclusion ===== |
Working on the PurrGlow Feeder project has been a very interesting and rewarding experience. I spent a lot of time and effort especially on assembling the LED cube, combining five separate matrices into a clean, functional structure was far more difficult than expected. The feeder system itself also posed its own challenges, particularly in calibrating the servo movement and integrating it with the sensor logic. Even though it took a good amount of trial and error, I'm proud that both the animation system and the food dispensing logic now work. The whole project came together nicely, and seeing it function in real life made all the effort worthwhile. | Working on the PurrGlow Feeder project has been a very interesting and rewarding experience. I spent a lot of time and effort especially on assembling the LED cube, combining five separate matrices into a clean, functional structure was far more difficult than expected. The feeder system itself also posed its own challenges, particularly in calibrating the servo movement and integrating it with the sensor logic. Even though it took a good amount of trial and error, I'm proud that both the animation system and the food dispensing logic now work. The whole project came together nicely, and seeing it function in real life made all the effort worthwhile. | ||