This project demonstrates an Automatic Cruise Control (ACC) system implemented on the LPC21xx microcontroller platform and simulated using Proteus. The ACC system automatically adjusts the vehicle's speed to maintain a safe distance from vehicles ahead. It includes distance measurement using a photo diode sensor, user control settings, and more.
- Set and maintain the maximum speed of the vehicle.
- Define the minimum allowable distance between the vehicle and the one in front.
- Start and stop ACC mode.
- Store user-set parameters in an external EEPROM chip.
- Beep indications for user feedback.
- UART communication for data exchange.
- PWM generation for controlling vehicle speed.
- Integration with a photo diode sensor for distance measurement.
- Press SW1 to enter speed and distance setting mode.
- Use SW2 to select the parameter (even press for speed, odd press for distance).
- Adjust the selected parameter using SW3 (increment) and SW4 (decrement).
- Press SW1 to confirm ACC starting and store set data.
- Press SW1 again to start ACC mode.
- During ACC mode, the speed varies based on the distance between vehicles and is displayed on the LCD.
- Press SW1 to turn off ACC mode if it's active.
- Speed settings: 40-80 Kmph (adjust these values as needed).
- Distance settings: 1-10 meters (for demonstration purposes, not to scale).
- ACC mode will turn off with three beep indications if the speed falls below 40 Kmph.
- LPC2148 development board.
- Photo diode sensor.
- UART to USB converter.
- Buzzer.
- LCD.
- External EEPROM IC.
To get started with this project, follow these steps:
- Connect the hardware components as per the provided circuit diagram.
- Build and flash the project code onto the LPC2148 development board.
- Simulate the project in Proteus for testing.
The project is organized as follows:
src/
: Contains the C source code for the LPC2148 microcontroller.simulation/
: Includes Proteus simulation files.docs/
: Documentation and user manual.
Contributions to this project are welcome. If you'd like to contribute, please follow these guidelines:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and test thoroughly.
- Submit a pull request with a clear description of your changes.
This project is licensed under the MIT License.
For questions or inquiries, please contact Your Name.