This shows you the differences between two versions of the page.
pm:prj2024:rvirtan:fantana-arteziana [2024/05/12 19:28] eusebiu.glodea |
pm:prj2024:rvirtan:fantana-arteziana [2024/05/20 20:34] (current) eusebiu.glodea |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Fântână Arteziană ====== | ====== Fântână Arteziană ====== | ||
+ | |||
+ | <note tip> | ||
+ | * Glodea Eusebiu | ||
+ | * 332CD | ||
+ | * Îndrumător: Răzvan Vîrtan | ||
+ | </note> | ||
+ | |||
===== Introducere ===== | ===== Introducere ===== | ||
+ | Proiectul este o fântână arteziană cu LED-uri și o pompă de apă, capabilă să ofere un spectacol dinamic de apă și lumină, controlat prin diferite valori ale tensiunii. 3 LED-uri aranjate într-o formațiune de tip semafor se vor aprinde câte o culoare, în funcție de valoarea tensiunii trimisă către pompă, iar 2 LED-uri vor putea fi aprinse cât timp este apăsat un buton, intensitatea lor fluctuând și ea în funcție de valoarea tensiunii trimisă către pompa de apă. Pe un ecran OLED vor fi afișate 3 mesaje, "Crește", "Scade" sau "Pauză", în funcție de de valoarea tensiunii trimisă către pompă, care ori va crește, ori va scade, ori va fi 0. Totul va fi acționat prin Bluetooth, de pe o aplicație de pe telefon, de unde se va putea controla funcționarea proiectului. | ||
- | Proiectul este o fântână arteziană cu LED-uri și o pompă de apă, capabilă să ofere un spectacol dinamic de apă și lumină, controlat prin diferite valori ale tensiunii. LED-urile vor putea fi aprinse cât timp este apăsat un buton, iar pe un ecran OLED va fi afișată o săgeată ascendentă sau descendentă, în funcție de presiunea apei, care ori va crește, ori va scade. De asemenea, tot in funcție de modificarea presiunii apei, LED-urile își vor modifica intensitatea. | + | Scopul proiectului este prezentarea unei experiențe vizuale captivantă în spațiile publice, combinând frumusețea naturii cu tehnologia modernă. Consider că este util atât pentru alții, oferindu-le o experiență plăcută și relaxantă, cât și pentru mine, dându-mi oportunitatea de a combina pasiunea mea pentru inginerie și design într-un proiect creativ și funcțional. |
- | Proiectul are ca scop prezentarea unei experiențe vizuale captivantă în spațiile publice, combinând frumusețea naturii cu tehnologia modernă. Consider că este util atât pentru alții, oferindu-le o experiență plăcută și relaxantă, cât și pentru mine, dându-mi oportunitatea de a combina pasiunea mea pentru inginerie și design într-un proiect creativ și funcțional. | + | |
===== Descriere generală ===== | ===== Descriere generală ===== | ||
Line 9: | Line 16: | ||
<note tip> | <note tip> | ||
Proiectul funcționează astfel: | Proiectul funcționează astfel: | ||
- | * Se trimite în mod continuu un semnal electric de la PC de care variază crescator de la 0V la 5V, apoi descrescător de la 5V la 0V | + | * De pe telefon, prin intermediul unui modul Bluetooth, se va trimite semnalul de acțiune sau de pauză |
+ | * Se trimite în un semnal electric de la PC/baterie care variază crescator de la 0V la 5V, apoi descrescător de la 5V la 0V | ||
* În funcție de acesta, pompa de apă va elibera apa sub o presiune diferită | * În funcție de acesta, pompa de apă va elibera apa sub o presiune diferită | ||
- | * De asemenea, LED-urile vor lumina diferit, în funcție de voltaj, dar doar cât timp este apăsat un buton | + | * De asemenea, 2 LED-uri vor lumina diferit, în funcție de voltaj, dar doar cât timp este apăsat un buton |
- | * Pe ecranul OLED va fi afișată o săgeată ascendentă sau descendentă, în funcție de modificarea tensiunii primite | + | * 3 LED-uri vor lumina cu verde atunci cand tensiunea trimisa la pompa de apă crește, cu galben când scade, și cu roșu când tensiunea este 0(circuitul este în pauză) |
+ | * Pe ecranul OLED vor fi afișate 3 mesaje, "Crește", "Scade" sau "Pauză", în funcție de de valoarea tensiunii trimisă către pompă, care ori va crește, ori va scade, ori va fi 0, în funcție de modificarea tensiunii primite | ||
</note> | </note> | ||
- | {{:pm:prj2024:rvirtan:schema_pm_3.png?850|Schema bloc}} | + | {{:pm:prj2024:rvirtan:schema_pm_4.png?850|Schema bloc}} |
===== Hardware Design ===== | ===== Hardware Design ===== | ||
Line 23: | Line 32: | ||
* Half Breadboard | * Half Breadboard | ||
* Cabluri de conexiune | * Cabluri de conexiune | ||
- | * 2 rezistențe de 220 de ohmi | + | * 5 rezistențe de 220 de ohmi |
* 2 LED-uri | * 2 LED-uri | ||
- | * Display OLED cu interfață I2C incorporată | + | * Modul cu 3 LED-uri OKY3219 |
+ | * Display OLED 128x64px cu interfață I2C incorporată | ||
* Buton | * Buton | ||
- | * Modul adaptor USB 2.0 Mamă | + | * Modul Bluetooth HC-05 |
+ | * Modul tranzistor de putere IRF520 OKY3458 | ||
* Pompă de apă | * Pompă de apă | ||
+ | * Baterie externă | ||
</note> | </note> | ||
- | {{:pm:prj2024:rvirtan:shema_hw_pm.png?850|Schema hardware}} | + | {{:pm:prj2024:rvirtan:schema_hw_pm2.png?850|Schema hardware}} |
+ | |||
+ | {{:pm:prj2024:rvirtan:schema_hw_pm_real.jpg?850|Schema hardware}} | ||
===== Software Design ===== | ===== Software Design ===== | ||
Line 37: | Line 51: | ||
<note tip> | <note tip> | ||
- | Descrierea codului aplicaţiei (firmware): | + | Mediu de dezvoltare: |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | * Arduino IDE |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | Biblioteci utilizate: |
- | * (etapa 3) surse şi funcţii implementate | + | * Wire.h |
+ | * Adafruit_SH1106.h | ||
</note> | </note> | ||
+ | |||
+ | Detalii de implementare: | ||
+ | * Funcția setup() configurează comunicarea serială, inițializează pinii pentru LED-uri și pompă, și inițializează afișajul OLED. De asemenea, afișează un mesaj inițial și apoi curăță afișajul. | ||
+ | * Funcția actiune() controlează creșterea și descreșterea tensiunii pentru LED-uri și pompă, afișând mesaje corespunzătoare pe OLED. LED-urile și jeturile de apă își schimbă intensitatea treptat; se crește și scade a tensiunea. | ||
+ | * Funcția pauza() oprește pompa, afișează mesajul "PAUZĂ" pe OLED și activează LED-ul roșu de pauză, indicând că sistemul este în pauză. | ||
+ | * Funcția loop() verifică dacă sunt disponibile date pe portul serial. Dacă primește comanda '1' din Bluetooth, apelează funcția actiune(). Dacă primește comanda '0' din Bluetooth, apelează funcția pauza(). | ||
+ | |||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | {{:pm:prj2024:rvirtan:poza_circuit_ge.jpg?850|Rezultate Obtinute}} |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | {{:pm:prj2024:rvirtan:jet_apa.jpg?850|Rezultate Obtinute}} |
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Ideea proiectului a plecat de la faptul ca mereu m-au fascinat fântânile arteziene, cum se poate mișca apa in diverse forme si cu diverse lumini; deși n-a stricat nici faptul că aveam o pompă de apă care zăcea nefolosită de câțiva ani:)) | ||
- | ===== Download ===== | + | În afara cunoștințelor tehnice, am dobândit și competențe practice, cum ar fi asamblarea și conectarea componentelor hardware, precum și soluționarea problemelor apărute în timpul dezvoltării. O problemă pe care am întâlnit-o ar fi faptul că, după ce am alcătuit circuitul si codul, pompa de apă funcționa foarte greu, avea o tensiune extrem de mica din cauza curentului care venea de la Arduino, și nu reușea să pompeze apa. Am rezolvat problema adăugând un modul de aplificare a tensiunii, care este conectat la o baterie externă. |
- | <note warning> | + | Proiectul realizat la PM s-a dovedit a fi o experiență deosebit de valoroasă, permițându-mi să acumulez atât cunoștințe tehnice, cât și abilități practice solide. Am reușit să integrez eficient componentele hardware și software, dezvoltând un sistem funcțional și eficient. Această experiență mi-a consolidat înțelegerea despre cum să gestionez și să implementez un proiect tehnic de la zero, abordând atât partea teoretică, cât și provocările practice. |
- | 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**. | + | ===== Download ===== |
- | </note> | + | |
+ | <note tip> | ||
+ | Arhiva ce conține codul sursa, README, video cu funcționalitatea sistemului | ||
- | ===== Bibliografie/Resurse ===== | + | {{:pm:prj2024:rvirtan:glodea_eusebiu_proiect_pm.zip?850|glodea_eusebiu_proiect_pm}} |
- | <note> | + | Link GitHub: |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | https://github.com/paxtheg/PM_PROJECT |
</note> | </note> | ||
+ | |||
<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> | ||