๐๐ฟ๐ฒ๐ฒ๐ป๐ต๐ผ๐๐๐ฒ ๐๐ขโ ๐๐ผ๐ป๐๐ฟ๐ผ๐น๐น๐ฒ๐ฟ | ๐๐ฟ๐ฒ๐ฒ๐ฅ๐ง๐ข๐ฆ ๐ผ๐ป ๐ฅ๐ฎ๐๐ฝ๐ฏ๐ฒ๐ฟ๐ฟ๐ ๐ฃ๐ถ ๐ฃ๐ถ๐ฐ๐ผ
Developed a ๐๐ขโ ๐ณ๐ฒ๐ฟ๐๐ถ๐น๐ถ๐๐ฎ๐๐ถ๐ผ๐ป ๐ฐ๐ผ๐ป๐๐ฟ๐ผ๐น๐น๐ฒ๐ฟ for a greenhouse as our 3rd-year embedded project, running on a ๐ฟ๐ฒ๐ฎ๐น-๐๐ถ๐บ๐ฒ ๐ผ๐ฝ๐ฒ๐ฟ๐ฎ๐๐ถ๐ป๐ด ๐๐๐๐๐ฒ๐บ (๐๐ฟ๐ฒ๐ฒ๐ฅ๐ง๐ข๐ฆ). The university provided the full hardware setup and our task was to ๐ฑ๐ฒ๐๐ถ๐ด๐ป ๐ฎ๐ป๐ฑ ๐ถ๐บ๐ฝ๐น๐ฒ๐บ๐ฒ๐ป๐ ๐๐ต๐ฒ ๐๐ผ๐ณ๐๐๐ฎ๐ฟ๐ฒ.
The system continuously reads ๐๐ขโ, ๐๐ฒ๐บ๐ฝ๐ฒ๐ฟ๐ฎ๐๐๐ฟ๐ฒ, ๐ฎ๐ป๐ฑ ๐ต๐๐บ๐ถ๐ฑ๐ถ๐๐ ๐๐ฒ๐ป๐๐ผ๐ฟ๐, maintains the COโ level at a user-defined setpoint, and stores it in EEPROM. When COโ drops below the setpoint, the system ๐ถ๐ป๐ท๐ฒ๐ฐ๐๐ ๐๐ขโ. When it exceeds the limit, it ๐ถ๐ป๐ฐ๐ฟ๐ฒ๐ฎ๐๐ฒ๐ ๐๐ฒ๐ป๐๐ถ๐น๐ฎ๐๐ถ๐ผ๐ป. Initially tested on a simulator, it ran perfectly on real hardware without any code modifications.
Implemented ๐๐ฒ๐ป๐๐ผ๐ฟ ๐ฐ๐ผ๐บ๐บ๐๐ป๐ถ๐ฐ๐ฎ๐๐ถ๐ผ๐ป, ๐ฐ๐ผ๐ป๐๐ฟ๐ผ๐น ๐น๐ผ๐ด๐ถ๐ฐ, and an ๐ข๐๐๐-๐ฏ๐ฎ๐๐ฒ๐ฑ ๐๐๐ฒ๐ฟ ๐ถ๐ป๐๐ฒ๐ฟ๐ณ๐ฎ๐ฐ๐ฒ with buttons for adjusting and confirming ๐๐ขโ ๐๐ฒ๐๐ฝ๐ผ๐ถ๐ป๐๐.
- MCU: Raspberry Pi Pico (RP2040)
- RTOS: FreeRTOS
- Sensors: COโ (Vaisala GMP252), RH/T (Vaisala HMP60)
- Communication: Modbus
- Storage: EEPROM (persistent settings)


