Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2022:avaduva:aquarium-monitor-system [2022/05/27 22:40]
alexandra.negoita02 [Software Design]
pm:prj2022:avaduva:aquarium-monitor-system [2022/05/28 00:11] (current)
alexandra.negoita02 [Aquarium Monitor System]
Line 1: Line 1:
 ====== Aquarium Monitor System ====== ====== Aquarium Monitor System ======
 +Autor: Negoita Alexandra-Ana
 +
 +Grupa: 1220FB
 ===== Introducere ===== ===== Introducere =====
  
Line 42: Line 45:
  
 ===== Schema bloc ===== ===== Schema bloc =====
-<note tip> +{{ :pm:prj2022:​avaduva:​schema_bloc_ams_negoita_alexandra_new.png?300 |}}
-(Aici va urma prezentarea schemei bloc a proiectului);​ +
-O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează. +
- +
-Exemplu de schemă blochttp://​www.robs-projects.com/​mp3proj/​newplayer.html +
-</​note>​ +
 ===== Hardware Design ===== ===== Hardware Design =====
  
Line 66: Line 63:
  
 ===== Software Design ===== ===== Software Design =====
 +==== Mediu de dezvoltare ====
 +Dezvoltarea codului a fost realizata in programul Arduino IDE.
  
 +==== Biblioteci folosite ====
 +  * LiquidCrystal.h -> Pentru functiile necesare la LCD;
 +  * OneWire.h -> Pentru accesarea senzorului de temperatura a apei;
 +  * DallasTemperature.h -> Pentru functiile necesare la senzorul de temperatura a apei;
 +  * Adafruit_NeoPixel.h -> Pentru functiile necesare la banda LED;
 +  * "​DHT.h"​ -> Pentru functiile necesare la senzorul de temperatura a aerului;
  
-<note tip> +==== Blocurile de cod implementate ==== 
-Descrierea codului aplicaţiei (firmware): +**Senzorul de temperatura a apei** 
-  * mediu de dezvoltare ​(if any) (e.g. AVR Studio, CodeVisionAVR+Pentru citirea datelor de pe senzor se folosesc functiile specifice, date in biblioteca senzorului "​DallasTemperature"​. 
-  * librării şi surse 3rd-party ​(e.g. Procyon AVRlib+  * begin() - Se afla in functia setup() si stabileste comunicarea seriala dintre Arduino si senzor; 
-  * algoritmi şi structuri pe care plănuiţi să le implementaţi +In functia loop(): 
-  * (etapa 3surse şi funcţii implementate +  * requestTemperatures() - Trimite comanda pentru senzor de a efectua o conversie a temperaturii;​ 
-</​note>​+  * getTempCByIndex(index- Primeste temperatura in Celsius; Avand un singur senzor conectat, la parametrul '​index'​ al metodei se pune valoarea zero;
  
 +**Senzorul de temperatura a aerului**
 +Pentru citirea datelor de pe senzor se folosesc functiile specifice, date in biblioteca senzorului "​DHT"​.
 +  * begin() - Se afla in functia setup() si stabileste comunicarea seriala dintre Arduino si senzor;
 +In functia loop():
 +  * readTemperature() - Primeste temperatura citita de senzor in Celsius;
  
-===== Rezultate Obţinute =====+**Senzorul de nivel al apei** 
 +Pentru citirea datelor de pe senzor se foloseste functia analogRead(),​ impreuna cu pinul analog, care citeste valoarea aflata pe pin;
  
-<note tip> +**Modulul cu fotorezistor** 
-Care au fost rezultatele obţinute în urma realizării proiectului vostru+Pentru citirea datelor de pe senzor se foloseste functia digitalRead(),​ impreuna cu pinul digital, care citeste valoarea aflata pe pin; 
-</​note>​+Valoarea va fi HIGH sau LOW; 
 +  * Atunci cand valoarea este egala cu LOW, inseamna ca lumina este prezenta, deci senzorul detecteaza ca este ziIn acest caz, pe LCD se va afisa textul "​DAY",​ iar banda LED se va aprinde; 
 +  * Atunci cand valoarea este egala cu HIGH, inseamna ca lumina este blocata, deci senzorul detecteaza ca este noapte. In acest caz, pe LCD se va afisa textul "​NIGHT",​ iar banda LED se va stinge;
  
-===== Concluzii =====+**Banda LED NeoPixel** 
 +Pentru citirea datelor de pe senzor se folosesc functiile specifice, date in biblioteca senzorului "​Adafruit_NeoPixel"​. 
 +  * begin() - Se afla in functia setup() si stabileste comunicarea seriala dintre Arduino si banda LED; 
 +In functia loop(), in conditiile date de modulul cu fotorezistor:​ 
 +  * Atunci cand este zi, se apeleaza functia setPixelColor() pentru fiecare LED de pe banda. Culoarea transmisa va fi alba. 
 +  * Atunci cand este noapte, se apeleaza functia setPixelColor() pentru fiecare LED de pe banda. Culoarea transmisa va fi neagra. 
 +  * De asemenea, dupa fiecare modificare a culorii, este apelata functa show(), pentru ca datele actualizate sa fie transmise catre banda.
  
-===== Download =====+**Ecranul LCD** 
 +Pentru lucrul cu LCD se folosesc functiile specifice, date in biblioteca LiquidCristal. 
 +  * begin() - Se afla in functia setup() si stabileste comunicarea seriala dintre Arduino si LCD; Se dau numarul de coloane si de randuri care vor fi folosite; 
 +In functia setup() si loop(): 
 +  * setCursor() - Seteaza pozitia de pe care se va continua scrierea pe LCD; 
 +  * print() - Afiseaza datele pe LCD;
  
-<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 ​=====+===== Rezultate Obţinute ​=====
  
-<note tip> +{{:​pm:​prj2022:​avaduva:​demo_ams_video.rar|}} 
-Puteți avea și o secțiune ​de jurnal în care să poată urmări asistentul de proiect progresul proiectului. +===== Concluzii ===== 
-</​note>​+Am invatat foarte multe despre folosirea microprocesoarelor si crearea unor astfel ​de proiecte. De asemenea, voi folosi in continuare proiectul AMS si pentru acvariile mele, deoarece a fost facut si dupa nevoile pe care le aveam eu si isi indeplineste scopul cu eficienta.
  
-===== Bibliografie/​Resurse ​=====+===== Download ​===== 
 +{{:​pm:​prj2022:​avaduva:​ams.rar|}}
  
-<​note>​ +===== Jurnal ===== 
-Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. +  * 26.04 Descriere proiect intermediara 
-</​note>​+  ​15.05 - Finalizare circuit proiect 
 +  ​23.05 - Prezentare faza intermediara 
 +  * 27.05 - Proiect final
  
-<​html><​a class="media mediafile mf_pdf"​ href="?do=export_pdf">​Export to PDF</a></html>+===== Bibliografie/​Resurse ===== 
 +  * Componente : https://​www.optimusdigital.ro/​ 
 +  * https://​learn.adafruit.com/​ 
 +  * https://​www.arduino.cc/​ 
 +  * https://​forum.arduino.cc/​ 
 +  * https://lastminuteengineers.com/
  
pm/prj2022/avaduva/aquarium-monitor-system.1653680415.txt.gz · Last modified: 2022/05/27 22:40 by alexandra.negoita02
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0