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 20:17]
alexandra.negoita02 [Proiect realizat de Negoita Alexandra-Ana, FILS, grupa 1220FB]
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 13: Line 16:
  
 ===== Descriere generală ===== ===== Descriere generală =====
 +==== Interactiunea cu utilizatorul ====
 +Pe cutia sistemului AMS, utilizatorul are la dispozitie:
  
-<note tip> +**1.** Un ecran LCD pe care sunt afisati parametrii in mod corespunzator:​ 
-(Aici va urma prezentarea schemei bloc a proiectului)+  
-O schemă bloc cu toate modulele proiectului vostruatât software cât şi hardware însoţită ​de o descriere ​acestora precum şi a modului în care interacţionează.+Ecranul are un afisaj structurat astfel:  
 +{{ :​pm:​prj2022:​avaduva:​schema_lcd_ams_negoita_alexandra_new.png?​300 |}} 
 +  * Tapa - temperatura apei, urmata de valoarea acesteia
 +  * Taer - temperatura din cameraurmata de valoarea acesteia; 
 +  * LvL - nivelul apei, urmat de o valoare de la 1 la 5; 
 +  * DAY/NIGHT - arata ce perioada ​zilei detecteaza sistemul si starea luminii acvariului ( DAY - lumina este inchisa; NIGHT - lumina este aprinsa);
  
-Exemplu ​de schemă blochttp://​www.robs-projects.com/​mp3proj/​newplayer.html +**2.** Utilizatorul are de asemenea doua comutatoare
-</​note>​+  * Un comutator pentru a conecta circuitul principal la prima baterie (9V); 
 +  * Un comutator pentru a conecta sursa de lumina la cea de a doua baterie (9V);
  
 +
 +**3.** Exista, de asemenea, si un potentiometru pentru a regla contrastul ecranului.
 +
 +
 +==== Senzorii si pozitionarea lor ====
 +  - Sistemul de monitorizare se afla intr-o cutie transparenta,​ pentru a se vedea prototipul cat mai bine.
 +  - Senzorul de temperatura a apei, dar si senzorul de nivel al apei se afla in afara cutiei, pentru a fi plasate cu usurinta in acvariu, pe peretii acestuia;
 +  - Senzorul de temperatura a camerei se afla in interiorul cutiei, plasat cu un surub de peretele acesteia;
 +  - In acest fel este pus si modulul cu fotorezistor,​ acesta mai avand si o perforatie pentru a putea detecta nivelul de lumina;
 +  - Placa compatibilă cu Arduino UNO R3 se afla in partea de jos a cutiei, impreuna cu cele doua baterii in lateral si placa de prototipare deasupra acestora;
 +
 +
 +===== Schema bloc =====
 +{{ :​pm:​prj2022:​avaduva:​schema_bloc_ams_negoita_alexandra_new.png?​300 |}}
 ===== Hardware Design ===== ===== Hardware Design =====
  
-<note tip> 
 Lista pieselor folosite: ​ Lista pieselor folosite: ​
   * Placă compatibilă cu Arduino UNO R3   * Placă compatibilă cu Arduino UNO R3
   * LCD 1602 cu backlight albastru   * LCD 1602 cu backlight albastru
-  * Buzzer activ 
   * Senzor de temperatura rezistent la apa   * Senzor de temperatura rezistent la apa
 +  * Senzor de temperatura aer
   * Senzor nivel apa   * Senzor nivel apa
   * Senzor intensitate luminoasa   * Senzor intensitate luminoasa
   * Banda LED   * Banda LED
-</​note>​+  * Placa de prototipare 
 +  * Comutatoare 
 +  * Potentiometru 
 +  * Rezistente 
 +  * Fire
  
 ===== 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;
  
-===== Rezultate Obţinute =====+**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;
  
-<note tip> +**Senzorul de nivel al apei** 
-Care au fost rezultatele obţinute în urma realizării proiectului vostru. +Pentru citirea datelor de pe senzor se foloseste functia analogRead(),​ impreuna cu pinul analog, care citeste valoarea aflata pe pin;
-</​note>​+
  
-===== Concluzii =====+**Modulul cu fotorezistor** 
 +Pentru citirea datelor de pe senzor se foloseste functia digitalRead(),​ impreuna cu pinul digital, care citeste valoarea aflata pe pin; 
 +Valoarea va fi HIGH sau LOW; 
 +  * Atunci cand valoarea este egala cu LOW, inseamna ca lumina este prezenta, deci senzorul detecteaza ca este zi. In 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;
  
-===== Download =====+**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.
  
-<note warning> +**Ecranul LCD** 
-O arhivă (sau mai multe dacă este cazul) ​cu fişierele obţinute în urma realizării proiectului:​ sursescheme, etcUn fişier README, un ChangeLog, un script ​de compilare şi copiere automată ​pe uC crează întotdeauna o impresie bună ;-).+Pentru lucrul ​cu LCD se folosesc functiile specificedate 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;
  
-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> +===== Rezultate Obţinute =====
-Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. +
-</​note>​+
  
-===== Bibliografie/​Resurse ​=====+{{:​pm:​prj2022:​avaduva:​demo_ams_video.rar|}} 
 +===== Concluzii ​===== 
 +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.
  
-<​note>​ +===== Download ===== 
-Listă cu documente, datasheet-uri,​ resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. +{{:​pm:​prj2022:​avaduva:​ams.rar|}}
-</​note>​+
  
-<​html><​a class="media mediafile mf_pdf"​ href="?do=export_pdf">​Export to PDF</a></html>+===== Jurnal ===== 
 +  * 26.04 - Descriere proiect intermediara 
 +  * 15.05 - Finalizare circuit proiect 
 +  * 23.05 - Prezentare faza intermediara 
 +  * 27.05 - Proiect final 
 + 
 +===== 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.1653671875.txt.gz · Last modified: 2022/05/27 20:17 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