This is an old revision of the document!
Smart Automatic Clothes Drying System
Introduction
This project is based on the ATmega328P Xplained Mini microcontroller and transforms a conventional clothes drying stand into a smart system, capable of responding automatically to outdoor weather changes.
The idea originated from smart home awnings and automated pergola covers, adapting their weather-responsive behavior to a clothes drying stand.
The main goal of the project is to automate the clothes drying process, save time and make it more efficient and reliable, while still giving the user full control when needed.
This system is useful for anyone who dries clothes outdoors, especially people who are away from home during the day and cannot monitor weather changes.
General Description
The system is fully standalone and operates independently, requiring only a 5V power supply via a MicroUSB adapter.
The system starts in Automatic Mode by default. Once powered, it begins continuously reading data from the rain sensor and the LDR. The behavior of the system adapts based on the following scenarios:
Optimal Conditions (Sunny and Dry): if there is enough light and no rain is detected, the microcontroller commands the servomotor to keep the drying stand in the extended position. The green LED turns on to signal normal operation. At the same time, the I2C LCD shows a message indicating the current favorable weather and the extended position of the rack.
Unfavorable Conditions (Rain or Night): if the rain sensor detects precipitation, or if the LDR registers a drop in light levels below a specific threshold (indicating nighttime), the system reacts immediately. The servomotor automatically retracts the drying stand to protect the clothes. The red LED is illuminated to signal bad weather, and the LCD screen updates to reflect the status and the retracted position.
Manual mode: at any point, the user can briefly press the push-button to switch the system into Manual Mode. In this mode, the yellow LED turns on to indicate manual control, and the user can long press the button to toggle the extension or retraction of the stand. Pressing the button again returns the system to the standard Automatic Mode.
The system logic is built around a state machine with two main states: Automatic Mode and Manual Mode. These are the main modules:
ATmega328P Xplained Mini - central processing unit, reads sensor data and controls all outputs
Rain sensor — detects precipitation and provides analog readings via ADC
LDR Light sensor — measures ambient light level and transmits analog data via ADC
Push button — triggers mode switching or stand toggling via external interrupt
Servomotor — controls the physical position of the drying stand via PWM signal
LCD 16×2 Display — shows system status and weather conditions via I2C communication
Status LEDs — provide visual feedback: green (normal), red (bad weather), yellow (manual mode)
State machine — core software logic that processes sensor input and decides system behavior
Hardware Design
| Component | Quantity | Role |
| ATmega328P XMini | 1 | Central processing unit |
| Rain sensor module | 1 | Detects precipitation |
| LDR Light sensor | 1 | Measures ambient light level |
| LCD 1602 16×2 5V | 1 | Displays system status |
| I2C LCD interface module | 1 | I2C communication for LCD |
| Servomotor SG90 180° | 1 | Controls drying stand position |
| LED 5mm Green | 1 | Signals normal/sunny conditions |
| LED 5mm Red | 1 | Signals bad weather/rain |
| LED 5mm Yellow | 1 | Signals manual mode |
| Resistor 220Ω 0.25W | 3 | Current limiting for LEDs |
| Push button 6x6x5 | 1 | Mode switching and stand toggling |
| Breadboard 830 points | 1 | Circuit prototyping |
| Jumper wires | as needed | Electrical connections |
| 5V 2A MicroUSB Power Supply | 1 | Powers the system |
Software Design
Descrierea codului aplicaţiei (firmware):
mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
librării şi surse 3rd-party (e.g. Procyon AVRlib)
algoritmi şi structuri pe care plănuiţi să le implementaţi
(etapa 3) surse şi funcţii implementate
Rezultate Obţinute
Care au fost rezultatele obţinute în urma realizării proiectului vostru.
Concluzii
Download
O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună

.
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.
Jurnal
Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.
Bibliografie/Resurse
Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.
Export to PDF