This project implements an automated can filling system using an STM32F407VGT6 microcontroller, UART, Timer, 4×4 Keypad, DC motor, and ALCD. The system detects cans on a conveyor belt, fills them using a solenoid valve, and provides real-time status monitoring both on an ALCD and via UART.
- Detect cans on the conveyor using a sensor
- Automatically stop conveyor motor when a can is detected
- Open solenoid valve for a user-defined filling duration
- Close valve and restart conveyor motor after filling
- Increment and display the number of filled cans on ALCD
- Menu system for setting time and date
- Send can count, time, and date via UART for external monitoring
- Microcontroller: STM32F407VGT6
- Input Devices: 4×4 Keypad, sensor
- Output Devices: ALCD, DC motor, solenoid valve
- Communication: UART
- Timers: For precise control of motor and valve timing
- The sensor detects the presence of a can on the conveyor belt.
- The DC motor driving the conveyor stops immediately.
- The solenoid valve opens for the duration configured in the settings to fill the can.
- After filling, the solenoid valve closes and the conveyor motor restarts.
- Each completed fill increments the can count displayed on the ALCD.
- The menu system allows users to set time and date via the keypad.
- The UART interface sends the number of filled cans, current time, and date to an external system for monitoring.
- ALCD: Shows the number of filled cans, current time/date, and menu navigation
- Keypad 4×4: Navigate menu and set time, date, and filling duration