This project implements a minimal CPU architecture for controlling a washing machine. The system efficiently manages washing machine operations such as washing, rinsing, and spinning while providing user-friendly controls.
Working Link: https://washingmachinesimulator.onrender.com/
- Efficient CPU-based control system.
- Memory management for program code and data.
- Sensor integration for temperature, water level, and load detection.
- Actuator control for motor, water inlet valve, and drain pump.
- User-friendly interface with control buttons and a digital display.
- Safety features including door lock and overflow protection.
- Error handling and user notifications.
- Energy-efficient operation with load sensing and temperature control.
Before you begin, ensure you have met the following requirements:
- Hardware components: CPU, memory, sensors, actuators, I/O ports.
- Software components: Appropriate firmware or programming environment.
- Familiarity with CPU architectures and embedded systems.
To get started with this project, follow these steps:
-
Clone the repository to your local machine
-
Set up the necessary hardware components as per the provided documentation.
-
Compile and load the program onto the CPU.
-
Run the washing machine and interact with the user interface.
Here's how to use the washing machine control system:
-
Power on the washing machine.
-
Select the desired washing cycle using the control panel.
-
Adjust settings such as temperature, spin speed, and water level.
-
Press the "Start" button to initiate the washing cycle.
-
Monitor the status on the digital display.
-
The CPU will control the washing machine through different states: filling, washing, rinsing, spinning, and completion.
-
In case of errors, refer to the error code displayed for troubleshooting.
The washing machine control system comprises the following key components:
- Central Processing Unit (CPU)
- Memory (RAM, ROM, EEPROM)
- Sensors (temperature, water level, load sensors)
- Actuators (motor, water inlet valve, drain pump)
- Input/Output (I/O) Ports
- Control Algorithm
- User Interface
- Safety Features
- Error Handling
- Energy Efficiency Mechanisms
For a detailed architecture overview, refer to the Architecture section in this README.
Contributions are welcome! If you'd like to contribute to this project, please follow these guidelines:
-
Fork the repository.
-
Create a new branch for your feature or bug fix.
-
Make your changes and test them thoroughly.
-
Create a pull request with a clear description of your changes.
-
Your contribution will be reviewed, and feedback may be provided.
This project is licensed under the MIT License. See the LICENSE file for details.