Differences

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

Link to this comparison view

pm:prj2026:atoader:cristiana.tabacaru [2026/05/09 19:15]
cristiana.tabacaru [Hardware Design]
pm:prj2026:atoader:cristiana.tabacaru [2026/05/15 00:22] (current)
cristiana.tabacaru
Line 1: Line 1:
 ====== Monitor de Hidratare ====== ====== Monitor de Hidratare ======
 +
 ===== Introducere ===== ===== Introducere =====
  
Line 19: Line 20:
   * **Butoane**:​ permit utilizatorului sa seteze obiectivul zilnic de hidratare, sa efectueze functia tare (zero) si sa navigheze in meniu.   * **Butoane**:​ permit utilizatorului sa seteze obiectivul zilnic de hidratare, sa efectueze functia tare (zero) si sa navigheze in meniu.
   * **Buzzer pasiv**: emite semnale sonore la intervale regulate (reminder de hidratare) sau la atingerea obiectivului zilnic. Controlat prin semnal PWM.   * **Buzzer pasiv**: emite semnale sonore la intervale regulate (reminder de hidratare) sau la atingerea obiectivului zilnic. Controlat prin semnal PWM.
 +
 +===== Laboratoare utilizate =====
 +
 +  * **Lab 0 - GPIO** — butoanele de navigare si modulul buzzer sunt conectate prin pini GPIO
 +  * **Lab 2 - Intreruperi** — apasarea butoanelor este detectata prin intreruperi externe, nu prin polling
 +  * **Lab 3 - Timere si PWM** — buzzerul pasiv este controlat prin semnal PWM, iar reminderele de hidratare sunt generate cu un timer periodic
 +  * **Lab 6 - I2C** — comunicarea cu display-ul OLED SSD1306 se face prin protocolul I2C
 ===== Hardware Design ===== ===== Hardware Design =====
  
 ==== Lista de piese ==== ==== Lista de piese ====
-  
-^ Nr. ^ Componenta ^ Cantitate ^ Rol in proiect ^ Interfata ^ 
-| 1 | Load Cell 5kg | 1 buc. | Senzorul care simte cat cantareste sticla in fiecare moment | - | 
-| 2 | Modul HX711 | 1 buc. | Preia semnalul slab de la load cell si il face utilizabil pentru microcontroller | GPIO (CLK + DAT) | 
-| 3 | Ecran OLED SSD1306 0.96" | 1 buc. | Singura interfata vizuala a proiectului,​ arata progresul de hidratare in timp real | I2C (SDA + SCL) | 
-| 4 | ATmega328PB Xplained Mini | 1 buc. | Creierul intregului sistem, coordoneaza toate celelalte componente | GPIO, I2C, PWM, Intreruperi | 
-| 5 | Modul Buzzer Pasiv 5V | 1 buc. | Reaminteste utilizatorului sa bea apa daca trece prea mult timp fara consum | PWM | 
-| 6 | Butoane PCB Mini 6x6x5mm | 3 buc. | Permit setarea obiectivului zilnic si resetarea cantarului | GPIO + Intreruperi | 
-| 7 | Kit rezistente | 1 set | Rezistente de pull-up pentru butoane | - | 
-| 8 | Fire Dupont M-F | 1 set | Leaga modulele externe la placa fara lipire | - | 
-| 9 | Fire breadboard M-M | 1 set | Conexiuni rapide intre componente pe breadboard | - | 
-| 10 | Placa de prototipare 830 pini | 1 buc. | Permite testarea circuitului fara lipire permanenta | - | 
-| 11 | Cablu Micro-USB | 1 buc. | Alimentare si programare placa de la laptop sau power bank | USB | 
  
 +^ Nr. ^ Componenta ^ Cantitate ^ Rol in proiect^
 +| 1 | Load Cell 5kg | 1 buc. | Senzorul care simte cat cantareste sticla in fiecare moment |
 +| 2 | Modul HX711 | 1 buc. | Preia semnalul slab de la load cell si il face utilizabil pentru microcontroller |
 +| 3 | Ecran OLED SSD1306 0.96" | 1 buc. | Afiseaza progresul de hidratare in timp real |
 +| 4 | ATmega328PB Xplained Mini | 1 buc. | Creierul intregului sistem, coordoneaza toate celelalte componente |
 +| 5 | Modul Buzzer Pasiv 5V | 1 buc. | Reaminteste utilizatorului sa bea apa daca trece prea mult timp fara consum |
 +| 6 | Butoane PCB Mini 6x6x5mm | 3 buc. | Permit setarea obiectivului zilnic si resetarea cantarului |
 +| 7 | Kit rezistente | 1 set | Rezistente de pull-up pentru butoane |
 +| 8 | Fire Dupont M-F | 1 set | Leaga modulele externe la placa fara lipire |
 +| 9 | Fire breadboard M-M | 1 set | Conexiuni rapide intre componente pe breadboard |
 +| 10 | Breadboard 830 pini | 1 buc. | Permite testarea circuitului fara lipire permanenta |
 +| 11 | Cablu Micro-USB | 1 buc. | Alimentare si programare placa de la laptop sau power bank |<​hidden>​Hidden section</​hidden>​
  
 +==== Circuit ====
 +{{:​pm:​prj2026:​atoader:​monitor_hidratare_circuit.png?​500|}}
  
-<note tip> +==== Schema electrica ==== 
-Aici puneţi tot ce ţine de hardware design: + 
-  * listă ​de piese +=== Pini folositi === 
-  * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, e.g. http://www.captain.at/electronic-atmega16-mmc-schematic.png) + 
-  * diagrame ​de semnal ​ +^ Componenta ^ Pin componenta ^ Pin ATmega328PB Xplained Mini ^ Explicatie ^ 
-  * rezultatele simulării +| HX711 | VCC | 5V | Modulul este alimentat la 5V de la placa | 
-</​note>​+| HX711 | GND | GND | Toate componentele trebuie sa aiba masa comuna | 
 +| HX711 | DAT / DOUT | PD2 | Pin digital folosit pentru citirea datelor ​de la HX711 | 
 +| HX711 | CLK / SCK | PD3 | Pin digital folosit pentru semnalul ​de clock catre HX711 | 
 +| OLED SSD1306 | VDD / VCC | 5V | Display-ul este alimentat de la placa | 
 +| OLED SSD1306 | GND | GND | Masa comuna | 
 +| OLED SSD1306 | SDA | PC4 SDA | Pinul standard pentru date I2C | 
 +| OLED SSD1306 | SCL | PC5 SCL | Pinul standard pentru clock I2C | 
 +| Buton UP | semnal | PD4 | Buton pentru navigare in meniu | 
 +| Buton DOWN | semnal | PD5 | Buton pentru navigare in meniu | 
 +| Buton OK/TARE | semnal | PD6 | Buton pentru confirmare si resetarea cantarului | 
 +| Buzzer pasiv | semnal / + | PB1 / OC1A | Pin potrivit pentru PWM, folosit pentru generarea sunetului | 
 +| Buzzer pasiv | GND / - | GND | Masa comuna | 
 + 
 +=== Schema === 
 +{{:​pm:​prj2026:​atoader:​monitor_hidratare_schema_electrica.png?700|Schema electrica Monitor de Hidratare}} 
 + 
 +Butoanele vor fi citite folosind rezistentele interne ​de pull-up ale microcontrollerului. Asta inseamna ca un pin al butonului merge la pinul digital, iar celalalt merge la GND. Cand butonul este apasat, pinul este tras la 0 logic. 
 + 
 +Am ales pinii PC4 si PC5 pentru OLED deoarece acestia sunt pinii dedicati pentru I2C. Pentru buzzer am ales PB1, deoarece poate fi folosit cu PWM. Pentru HX711 am folosit PD2 si PD3 pentru ca modulul are nevoie doar de doua linii digitale: una pentru date si una pentru clock.
  
 ===== Software Design ===== ===== Software Design =====
Line 81: Line 108:
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
  
-<​note>​ +==== Resurse hardware ==== 
-Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse ​Hardware**. + 
-</note>+  * ATmega328PB Xplained Mini documentatie Microchip: https://​www.microchip.com/​en-us/​development-tool/​ATMEGA328PB-XMINI 
 +  ​Load Cell 5kg: https://​www.drot.ro/​platforma-arduino/​1119-senzor-de-greutate-5-kg.html 
 +  ​Modul HX711: https://​sigmanortec.ro/​en/​weight-reading-module-hx711-24ad-2-channels-3-5v 
 +  ​Display OLED SSD1306 0.96": https://​www.drot.ro/​platforma-arduino/​1569-ecran-oled-iic-i2c-0-96-alb-128-x-64.html 
 +  ​Modul buzzer pasiv si butoane: https://​sigmanortec.ro/​en/​passive-buzzer-mode 
 + 
 +==== Resurse ​software / scheme ==== 
 + 
 +  ​EasyEDA - realizare schema electrica: https://​easyeda.com/ 
 +  * Cirkit Designer - schema orientativa de conectare pe breadboard: https://​www.cirkitdesigner.com/
  
 <​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>​
  
pm/prj2026/atoader/cristiana.tabacaru.1778343313.txt.gz · Last modified: 2026/05/09 19:15 by cristiana.tabacaru
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