Ideea a pornit de la dorința de a combina utilul cu plăcutul, oferindu-mi o alternativă amuzantă și eficientă pentru ceasurile obișnuite. Consider că acest proiect este folositor atât pentru mine, asigurându-mi o modalitate inedită de a începe ziua, cât și pentru alții, oferindu-le o privire asupra creativității și inovației în domeniul roboților și designului. Mai mult, robotul este util și pentru a rezolva problema snooze-urilor constante ale alarmelor, ce pot rezulta într-o trezire întârziată.
2. Modulul de ceas (Clock): Furnizează informații despre ora curentă către Arduino Uno. Aceste informații sunt utilizate pentru a verifica dacă ora setată de utilizator a fost atinsă sau nu.
3. Reached selected time?: Această parte a programului verifică dacă ora curentă corespunde cu ora setată de utilizator. Dacă da, continuă cu acțiunile următoare. Dacă nu, revine la modulul de ceas pentru a verifica din nou ora.
4. Buzzer and Engine: Dacă ora setată de utilizator a fost atinsă, acest modul este activat. Buzerul emite sunetul de alarmă, iar motorul începe să se deplaseze pe traseul prestabilit.
5. Button: Acesta este butonul pe care utilizatorul îl poate apăsa pentru a opri alarmă și mișcarea robotului.
6. If not pressed: Dacă utilizatorul nu apasă butonul, sistemul revine la monitorizarea stării butonului, continuând să emită sunetul de alarmă și să se deplaseze pe traseu până când butonul este apăsat.
7. If pressed: Dacă utilizatorul apasă butonul, sistemul oprește sunetul de alarmă și mișcarea motorului.
2. Laboratorul 2: Întreruperi (Interrupts):
3. Laboratorul 3: Timere. PWM (Pulse Width Modulation):
4. Laboratorul 6: I2C (Inter-Integrated Circuit):
Deși intenția inițială a fost ca robotul să scoată sunete asemănătoare unui lătrat, nu am reușit să reproduc acest efect folosind note muzicale. În schimb, am optat pentru redarea unei melodii scurte ca ton de apel. În plus, am renunțat la utilizarea unui buton fizic în favoarea telecomenzii, considerând că aceasta oferă mai multă libertate în controlul robotului.
Codul inclus pentru gestionarea afișajului LCD, a senzorului IR, a modulului RTC și a controlului motorului și buzzer-ului a funcționat conform așteptărilor, iar proiectul poate fi extins cu ușurință pentru a include funcționalități suplimentare, cum ar fi controlul prin aplicații mobile sau integrarea cu alte module de senzori pentru detectarea obstacolelor sau a liniilor traseului.
Mai multe materiale se găsesc în drive-ul de mai sus.