This shows you the differences between two versions of the page.
pm:prj2023:danield:ceas-luminos [2023/05/07 22:20] andreea.badescu created |
pm:prj2023:danield:ceas-luminos [2023/05/29 23:53] (current) andreea.badescu [Software Design] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | **Andreea-Codruta Badescu - Ceas luminos** | + | ====== Ceas luminos ====== |
- | **Introducere** | + | ===== Introducere ===== |
- | In cadrul acestui proiect imi propun sa fac un ceas digital cu alarma de tip rasait. Acesta incepe sa lumineze treptat cu o lumina calda pentru a simula un rasarit de soare, oferind o alternativa mai naturala in locul unui ceas obisnuit.In plus, acesta poate fi conectat prin Bluetooth la o aplicatie mobila pentru a fi controlat.rin utilizarea acestui ceas, utilizatorii pot îmbunătăți calitatea somnului și se pot simți mai odihniți și mai energici pe tot parcursul zilei. | + | * In cadrul acestui proiect imi propun sa fac un ceas digital cu alarma de tip rasait. Acesta incepe sa lumineze treptat cu o lumina calda pentru a simula un rasarit de soare, oferind o alternativa mai naturala in locul unui ceas obisnuit.In plus, acesta poate fi conectat prin Bluetooth la o aplicatie mobila pentru a fi controlat.rin utilizarea acestui ceas, utilizatorii pot îmbunătăți calitatea somnului și se pot simți mai odihniți și mai energici pe tot parcursul zilei. |
- | **Descriere generala** | + | |
+ | ===== Descriere generală ===== | ||
+ | |||
+ | {{ :pm:prj2023:danield:diagrama_pm_ceas_luminos.jpg |}} | ||
+ | |||
+ | * Utilizatorul poate seta ora pentru alarma din aplicatia mobila sau cu ajutorul butoanelor de pe ceas. | ||
+ | * Ceasul va incepe sa lumineze treptat cu o jumatate de ora inainte de ora selectata, pana ajunge la intensitatea maxima. | ||
+ | * Acesta poate fi configurat si sa inceapa sa bazaie pe la finalul celor 30 de minute, daca doar lumina nu este suficienta. | ||
+ | |||
+ | ===== Hardware Design ===== | ||
+ | |||
+ | * Arduino Uno | ||
+ | * Ecran LCD | ||
+ | * Breadboard | ||
+ | * Modul RTC | ||
+ | * 3 Tranzistoare TIP122 | ||
+ | * Banda LED | ||
+ | * Glob de plastic | ||
+ | * Rezistente 1k | ||
+ | * Butoane | ||
+ | * Modul Bluetooth HC-05 | ||
+ | * Alimentator 12V | ||
+ | * Potentiometru | ||
+ | {{ :pm:prj2023:danield:circuit_hardware_ceas_luminos.jpg?300 |}} | ||
+ | |||
+ | ===== Software Design ===== | ||
+ | #include <Wire.h> | ||
+ | #include <LiquidCrystal_I2C.h> | ||
+ | #include <DS3231.h> | ||
+ | #define red 9 | ||
+ | #define green 10 | ||
+ | #define blue 11 | ||
+ | |||
+ | int brightness = 50; | ||
+ | int fadeAmount = 5; | ||
+ | LiquidCrystal_I2C lcd(0x27,16,2); | ||
+ | |||
+ | // Init the DS3231 using the hardware interface | ||
+ | DS3231 rtc(SDA, SCL); | ||
+ | |||
+ | //alarma | ||
+ | int h_alarm= 22; | ||
+ | int m_alarm = 3; | ||
+ | |||
+ | void setup() { | ||
+ | lcd.init();// initialize the lcd | ||
+ | lcd.backlight();//open the backlight | ||
+ | rtc.begin(); | ||
+ | //rtc.setTime(10,53,0); | ||
+ | //rtc.setDate(29,05,2023); | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | lcd.setCursor(0, 0); | ||
+ | lcd.print("TIME ~ " ); | ||
+ | lcd.print(rtc.getTimeStr()); | ||
+ | lcd.setCursor(0, 1); | ||
+ | lcd.print("DATE ~ "); | ||
+ | lcd.print(rtc.getDateStr()); | ||
+ | delay (1000); | ||
+ | lcd.clear(); | ||
+ | if(h == h_alarm && m == m_alarm) | ||
+ | { | ||
+ | analogWrite(red, brightness); | ||
+ | analogWrite(green, brightness); | ||
+ | analogWrite(blue, brightness); | ||
+ | brightness = brightness + fadeAmount; | ||
+ | if(brightness <=0 || brightness >= 255) | ||
+ | { | ||
+ | fadeAmount = -fadeAmount; | ||
+ | } | ||
+ | delay(500); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | <note tip> | ||
+ | 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 | ||
+ | </note> | ||
+ | |||
+ | ===== Rezultate Obţinute ===== | ||
+ | |||
+ | <note tip> | ||
+ | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | ||
+ | </note> | ||
+ | |||
+ | ===== Concluzii ===== | ||
+ | |||
+ | ===== Download ===== | ||
+ | |||
+ | <note warning> | ||
+ | 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**. | ||
+ | </note> | ||
+ | |||
+ | ===== Jurnal ===== | ||
+ | |||
+ | <note tip> | ||
+ | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | ||
+ | </note> | ||
+ | |||
+ | ===== Bibliografie/Resurse ===== | ||
+ | |||
+ | <note> | ||
+ | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | ||
+ | </note> | ||
+ | |||
+ | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> |