This shows you the differences between two versions of the page.
pm:prj2022:arosca:ceasmultifunctional [2022/06/02 05:35] bianca_ioana.masala |
pm:prj2022:arosca:ceasmultifunctional [2022/06/02 07:21] (current) bianca_ioana.masala [Download] |
||
---|---|---|---|
Line 35: | Line 35: | ||
===== Schema electrică ===== | ===== Schema electrică ===== | ||
+ | |||
+ | {{ :pm:prj2022:arosca:schemaele.png?400 |}} | ||
Line 40: | Line 42: | ||
===== Software Design ===== | ===== Software Design ===== | ||
- | * Limbaj utilizat: C | + | * Limbaj utilizat: C |
- | * Biblioteci: Serial library, LiquidCrystal, DS3231, DHT | + | * Biblioteci: Serial library, LiquidCrystal, DS3231, DHT |
- | * Mediu de dezvoltare: | + | * Mediu de dezvoltare: |
- | * Schema bloc: draw.io | + | * Schema bloc: draw.io |
- | * Schema Electrică: Tinkercad | + | * Schema Electrică: Tinkercad |
- | * Software: Arduino IDE | + | * Software: Arduino IDE |
- | Structura codului | + | == Structura codului == |
Codul este scris în Arduino IDE și interpretează datele primite de pe plăcuța Arduino. Pe un ecran LCD îmi afișez toate datele de care am nevoie. Pentru a naviga mai ușor între paginile LCD-ului și a modifica anumite date, mă folosesc de 4 butoane ce funcționaeză după cum urmează: | Codul este scris în Arduino IDE și interpretează datele primite de pe plăcuța Arduino. Pe un ecran LCD îmi afișez toate datele de care am nevoie. Pentru a naviga mai ușor între paginile LCD-ului și a modifica anumite date, mă folosesc de 4 butoane ce funcționaeză după cum urmează: | ||
+ | |||
**Butonul 1:** -> face posibilă navigarea între pagini, pentru a afișa diverse informații; | **Butonul 1:** -> face posibilă navigarea între pagini, pentru a afișa diverse informații; | ||
+ | |||
**Butonul 2:** -> plasează cursorul pentru a modifica data sau ora; | **Butonul 2:** -> plasează cursorul pentru a modifica data sau ora; | ||
+ | |||
**Butonul 3:** -> incrementează valorile pentru a fi modificate; | **Butonul 3:** -> incrementează valorile pentru a fi modificate; | ||
+ | |||
**Butonul 4:** -> determină formatul orei | **Butonul 4:** -> determină formatul orei | ||
Codul este structurat cu ajutorul mai multor funcții: | Codul este structurat cu ajutorul mai multor funcții: | ||
- | *setup() - setez pinii de INPUT/OUTPUT; | ||
- | *fbuttonState() - contorizez apăsarea butonului; | ||
- | *isButtonPushed() - verific dacă a fost apăsat vreun buton; | ||
- | *setAlarm() - citește caractere date în Serial Monitor și setează alarma; | ||
- | *play() - redă o melodie | ||
- | *loop() - citesc datele transmise de senzori și în funcție de pagina pe care mă aflu fac modificările necesare. Ecranul se repornește constant atunci când detectează zgomot. | ||
- | Alarma | + | * setup() - setez pinii de INPUT/OUTPUT; |
- | *Alarma a fost inițial gândită pentru a fi setată din telefon, doar că datorită problemelor întâmpinate de la modulul Bluetooth aceasta este setată din Serial Monitor. Acolo trimit constant caractere corespunzătoare orelor, minutelor și secundelor, iar atunci când timpul setat corespunde cu ora care este piezo-ul va porni melodia predefinită și se va aprinde led-ul RGB. | + | |
+ | * fbuttonState() - contorizez apăsarea butonului; | ||
+ | |||
+ | * isButtonPushed() - verific dacă a fost apăsat vreun buton; | ||
+ | |||
+ | * setAlarm() - citește caractere date în Serial Monitor și setează alarma; | ||
+ | |||
+ | * play() - redă o melodie; | ||
+ | |||
+ | * loop() - citesc datele transmise de senzori și în funcție de pagina pe care mă aflu fac modificările necesare. Ecranul se repornește constant atunci când detectează zgomot. | ||
+ | |||
+ | == Alarma == | ||
+ | |||
+ | * Alarma a fost inițial gândită pentru a fi setată din telefon, doar că datorită problemelor întâmpinate de la modulul Bluetooth aceasta este setată din Serial Monitor. Acolo trimit constant caractere corespunzătoare orelor, minutelor și secundelor, iar atunci când timpul setat corespunde cu ora care este piezo-ul va porni melodia predefinită și se va aprinde led-ul RGB. | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | TODO | ||
+ | **Proiect:** | ||
+ | {{ :pm:prj2022:arosca:proiect.jpeg?500 |}} | ||
+ | |||
+ | **Demo:** | ||
+ | |||
+ | **https://youtu.be/aKvPsj2AeIc** | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
Line 74: | Line 92: | ||
===== Download ===== | ===== Download ===== | ||
- | TODO | + | |
+ | Arhiva proiectului poate fi descărcată de aici: | ||
+ | {{:pm:prj2022:arosca:ceasmultifunctional.zip|}} | ||
===== Jurnal ===== | ===== Jurnal ===== | ||
- | * 21 Aprilie - alegere temă proiect | + | * 21 Aprilie - alegere temă proiect |
- | * 5 mai - prima comandă de piese | + | * 5 mai - prima comandă de piese |
- | * 13 mai - primul Milestone | + | * 13 mai - primul Milestone |
- | * 27 mai - a doua comandă de piese | + | * 27 mai - a doua comandă de piese |
- | * 29 mai - finalizare | + | * 29 mai - finalizare |
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
+ | |||
https://www.youtube.com/watch?v=nm-lrZTYoew | https://www.youtube.com/watch?v=nm-lrZTYoew | ||
+ | |||
https://ocw.cs.pub.ro/courses/pm/lab/lab2-2022 | https://ocw.cs.pub.ro/courses/pm/lab/lab2-2022 | ||
+ | |||
https://github.com/robsoncouto/arduino-songs | https://github.com/robsoncouto/arduino-songs | ||
+ | |||
https://github.com/fariha6412/Digital-Clock-in-arduino-with-alarm-timer-and-stopwatch/blob/main/digital_clock_with_alarm_timer_and_stopwatch.ino | https://github.com/fariha6412/Digital-Clock-in-arduino-with-alarm-timer-and-stopwatch/blob/main/digital_clock_with_alarm_timer_and_stopwatch.ino | ||
+ | |||
https://howtomechatronics.com/tutorials/arduino/arduino-ds3231-real-time-clock-tutorial/ | https://howtomechatronics.com/tutorials/arduino/arduino-ds3231-real-time-clock-tutorial/ | ||
+ | |||
https://www.arduino.cc/en/Tutorial/BuiltInExamples/toneMelody/ | https://www.arduino.cc/en/Tutorial/BuiltInExamples/toneMelody/ | ||
+ | |||
http://www.rinkydinkelectronics.com/library.php?id=73 | http://www.rinkydinkelectronics.com/library.php?id=73 | ||
+ | |||
+ | https://create.arduino.cc/projecthub/karmette/basic-led-setup-for-beginners-0a124a | ||
<html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||