diff --git a/website/versioned_docs/version-acs_cc/project/2026/sara.capp/diagram.webp b/website/versioned_docs/version-acs_cc/project/2026/sara.capp/diagram.webp new file mode 100644 index 00000000000..5e181733b85 Binary files /dev/null and b/website/versioned_docs/version-acs_cc/project/2026/sara.capp/diagram.webp differ diff --git a/website/versioned_docs/version-acs_cc/project/2026/sara.capp/index.md b/website/versioned_docs/version-acs_cc/project/2026/sara.capp/index.md new file mode 100644 index 00000000000..eb57b7bd89f --- /dev/null +++ b/website/versioned_docs/version-acs_cc/project/2026/sara.capp/index.md @@ -0,0 +1,89 @@ +# Robotic Bloom – Interactive Flower + +An artificial flower that opens when a person approaches and rotates towards the strongest light source. + +:::info + +**Author**: Sara-Cristiana Capp \ +**GitHub Project Link**: https://github.com/UPB-PMRust-Students/acs-project-2026-SaraCapp + +::: + +## Description + +This project consists of an artificial flower that opens when a person approaches it. The system uses an ultrasonic sensor (HC-SR04) to measure the distance and multiple servomotors to control the movement of the petals. + +The entire system is controlled by an STM32 microcontroller, which reads data from the sensor and sends commands to the servos using a PCA9685 PWM driver. + +Another feature of the project is that the flower can rotate towards the strongest light source. This is done using multiple photodiodes placed around the flower. The STM32 compares the light values and controls a servo motor to rotate the flower in the direction where the light is stronger. + +## Motivation + +I chose this project because I wanted to build something interactive, not just theoretical. It combines several concepts learned during the course, such as working with sensors, controlling motors and using communication protocols like I2C. + +Also, I liked the idea of creating something visual that reacts to people. + +## Architecture + +The system is composed of the following main components: + +- sensing module (HC-SR04 and photodiodes) +- control module (STM32 microcontroller) +- actuator control module (PCA9685 PWM driver) +- movement module (servomotors) +- power module (external power supply) + +The STM32 reads the distance using GPIO pins and reads the light values from photodiodes using ADC inputs. It communicates with the PCA9685 module via I2C. The PCA9685 generates PWM signals used to control the servomotors. + +![Architecture diagram](./diagram.webp) + +## Log + +### Week 5 - 11 May +Project idea and components selection. + +### Week 12 - 18 May +System architecture design and addition of light tracking feature. + +### Week 19 - 25 May +Created diagrams, schematic and documentation. + +## Hardware + +The project uses an STM32 board as the main controller. The HC-SR04 sensor is used for distance measurement, while six photodiodes are used to detect the direction of the strongest light source. + +The PCA9685 module is used to control multiple servomotors using PWM signals. Servomotors are powered using an external 5V power supply because they require high current. + +All components share a common ground to ensure proper operation. + +### Schematics + +![Schematic](./robotic_bloom.svg) + +### Bill of Materials + +| Device | Usage | Price | +|--------|--------|-------| +| STM32 board | Main microcontroller | TBD | +| HC-SR04 | Distance measurement | TBD | +| PCA9685 | PWM control for servos | TBD | +| MG996R servomotors x9 | 8 for petals + 1 for rotation | TBD | +| Photodiodes x6 | Light detection | TBD | +| Resistors x6 | Used with photodiodes (voltage divider) | TBD | +| Level shifter | Voltage compatibility | TBD | +| External power supply | Power for servos | TBD | +| Capacitors | Power stabilization | TBD | +| Wires | Connections | TBD | + +## Software + +| Library | Description | Usage | +|---------|-------------|-------| +| embedded-hal | Hardware abstraction | Interface control | +| pca9685 driver | PWM driver | Control servomotors | + +## Links + +1. https://cdn.sparkfun.com/datasheets/Sensors/Proximity/HCSR04.pdf +2. https://cdn-shop.adafruit.com/datasheets/PCA9685.pdf +3. https://github.com/embassy-rs/embassy diff --git a/website/versioned_docs/version-acs_cc/project/2026/sara.capp/robotic_bloom.svg b/website/versioned_docs/version-acs_cc/project/2026/sara.capp/robotic_bloom.svg new file mode 100644 index 00000000000..a61abc907bc --- /dev/null +++ b/website/versioned_docs/version-acs_cc/project/2026/sara.capp/robotic_bloom.svg @@ -0,0 +1 @@ +SVG Image created as robotic_bloom.svg date 2026-04-27T19:44:48 Image generated by Eeschema-SVG12345678910111234567891011ABCDEFGHABCDEFGHDate:KiCad E.D.A. 10.0.1Rev:Size: A2Id: 1/1Title:File: robotic_bloom.kicad_schSheet: /+5VGND1234J2PCA9685PE2A1PI6A2VDDA3VCAPA4PG15A5VDDIO2A6PG9A7VDDA8PC11A9PA15A10VDDA11PI1A12PH15A13VDDB1VSSB2PI5B3PB6B5PB4B6PD6B7PD0B9PI4B10PI0B12PH12B13VBATC1PE4C2PI7C3PE1C4PH3C5PB5C6PG10C7PD4C8PC10C9PA14C10PH14C11PH13C12PH10C13PC14D1PE5D2PE3D3PE0D4PB9D5PB3D6PD7D7PD3D8PH11D9PI3D10PI2D11PH8D12VDDD13PC15E1PF0E2PC13E3PE6E4PB8E5PG12E6PD5E7PC12E8PH9E9PH4E10PH6E11VDDUSBE13PF8F1PF1F3PF2F4PB7F5PD1F6PD2F7PH7F8PH5F9PH2F10PA10F11PA13F12PA12F13VDDG1PF7G2PF9G3PF5G4PF3G5PF4G6PA8G7PG7G8PC9G9PC8G10PA9G11PC7G12PA11G13PH0H1NRSTH3PF10H4OPAMP2_VINMH5PF6H6PG1H7PE10H8PG8H9PG6H10PG4H11VDDIO2H12PC6H13PH1J1PC0J2PC1J3PC2J4PA7J5PG0J6PE9J7PG3J8PG5J9PD14J10PD15J11VDDJ13PC3K1VSSAK2PA0K3PA5K4PB0K5PF12K6PE8K7PE14K8PB10K9PD12K10PD10K11PD13K12PG2K13VREF+L1VDDAL2PA1L3PC4L4PB2L5PF14L6PE7L7PE13L8PB11L9PB12L10PB15L11PD8L12PD9L13OPAMP1_VINMM1PA2M2PC5M4PF11M5PF13M6PE11M8PE15M9PG11M10PB14M12PD11M13PA4N1PA3N2VDDN3PA6N4PB1N5PF15N6VDDN7PE12N8PG14N9PG13N10VCAPN11VDDN12PB13N13U1STM32U5A5AJHx1234J1HC-SR041234J3Servos x8PWMGPIOI2C \ No newline at end of file