Proiectul meu constă într-un ceas digital cu alarmă, dar cu un mic “twist”: o stropitoare cu apă. Ceasul este dotat cu un recipient care, în momentul declanșării alarmei, nu doar că face zgomot, ci stropește și apă pe fața studentului care refuză să se trezească pentru cursul de la ora 8 dimineața.
Ideea a pornit dintr-o nevoie personală. De-a lungul anilor, am observat că alarmele clasice nu mai au efect asupra mea – le pot ignora cu ușurință chiar și la volum maxim. Am încercat și ceasuri digitale performante, care reușeau să trezească toată casa, dar nu și pe mine. Așa mi-a venit ideea unui dispozitiv care să mă stropească cu apă – o metodă mult mai eficientă de a mă trezi dimineața decât sunetele stridente ale unei alarme.
Consider că acest proiect este cu adevărat util. Cunosc numeroase persoane care au ratat evenimente importante pentru că nu s-au putut trezi la timp. Un astfel de dispozitiv ar putea preveni aceste situații cu succes.
Ceasul afiseaza in timp real ora curenta pe ecran. In momentul apasarii butonului i se permite utilizatorului introducerea orei la care doreste sa se declanseze alarma. Cand aceasta se declanseaza, buzzerul incepe sa sune timp de un minut, iar spray-ul incepe sa arunce cu apa, fiind declansat de servomotor.
void startBuzzerPWM() { DDRB |= (1 << PB3); TCCR2A = (1 << COM2A0) | (1 << WGM21) | (1 << WGM20); TCCR2B = (1 << WGM22) | (1 << CS21); OCR2A = 249; }
void stopBuzzerPWM() { TCCR2A = 0; TCCR2B = 0; PORTB &= ~(1 << PB3); }
void setupInterrupt() { DDRD &= ~(1 << PD3); PORTD |= (1 << PD3); EICRA |= (1 << ISC11); EIMSK |= (1 << INT1); }
void setupServo() { DDRB |= (1 << PB2); TCCR1A = 0; TCCR1B = 0; TCNT1 = 0; TCCR1A |= (1 << COM1B1) | (1 << WGM11); TCCR1B |= (1 << WGM13) | (1 << WGM12) | (1 << CS11); ICR1 = 40000; OCR1B = 5000; }
ISR(INT1_vect) { unsigned long t = millis(); if (t - lastInterruptTime > 300) { buttonPressed = true; lastInterruptTime = t; } }
Proiectul a fost finalizat cu succes. Se afla intr-o forma functionala cu precizarea ca, din cauza limitarilor modulului de GPS, in spatii inchise acesta nu poate capta ora curenta, ducand la un behaviour nefavorabil: nu se mai face sincronizarea cu UTC si ora ramane blocata la 03:00.