Differences

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

Link to this comparison view

pm:prj2025:vstoica:marius.gheorghe0509 [2025/05/29 17:48]
marius.gheorghe0509 [Hardware Design]
pm:prj2025:vstoica:marius.gheorghe0509 [2025/05/30 00:00] (current)
marius.gheorghe0509 [Hardware Design]
Line 95: Line 95:
 | Modul senzor flacără IR | [[https://​sigmanortec.ro/​Senzor-flacara-4-pini-p136262597|Link]] | 1 | 5.95 | | Modul senzor flacără IR | [[https://​sigmanortec.ro/​Senzor-flacara-4-pini-p136262597|Link]] | 1 | 5.95 |
 | Modul senzor IR barieră | [[https://​www.optimusdigital.ro/​ro/​senzori-senzori-optici/​171-senzor-fotoelectric-in-forma-de-u.html|Link]] | 1 | 8.49 | | Modul senzor IR barieră | [[https://​www.optimusdigital.ro/​ro/​senzori-senzori-optici/​171-senzor-fotoelectric-in-forma-de-u.html|Link]] | 1 | 8.49 |
-| Modul senzor fotorezistor LDR | [[https://www.optimusdigital.ro/ro/​componente-electronice-altele/​1863-fotorezistor-tip-5528.html|Link]] | 1 | 1.49 |+| Modul senzor fotorezistor LDR | [[https://sigmanortec.ro/Senzor-lumina-fotorezistor-p125423559|Link]] | 1 | 3.20 |
 | Modul Bluetooth HC-05 | [[https://​www.optimusdigital.ro/​ro/​wireless-bluetooth/​153-modul-bluetooth-master-slave-hc-05-cu-adaptor.html|Link]] | 1 | 28.09 | | Modul Bluetooth HC-05 | [[https://​www.optimusdigital.ro/​ro/​wireless-bluetooth/​153-modul-bluetooth-master-slave-hc-05-cu-adaptor.html|Link]] | 1 | 28.09 |
 | Servomotor SG90 | [[https://​www.optimusdigital.ro/​ro/​motoare-servomotoare/​2261-micro-servo-motor-sg90-180.html|Link]] | 3 | 6.00 | | Servomotor SG90 | [[https://​www.optimusdigital.ro/​ro/​motoare-servomotoare/​2261-micro-servo-motor-sg90-180.html|Link]] | 3 | 6.00 |
Line 105: Line 105:
 | Modul Senzor umiditate sol | [[https://​sigmanortec.ro/​Senzor-umiditate-sol-higrometru-p125814620|Link]] | 1 | 4.01|  | Modul Senzor umiditate sol | [[https://​sigmanortec.ro/​Senzor-umiditate-sol-higrometru-p125814620|Link]] | 1 | 4.01| 
  
-^ **TOTAL** ​  ^ **178.73** ^+^ **TOTAL** ​  ^ **161.14** ^
  
 **Electrical Diagram:** **Electrical Diagram:**
Line 125: Line 125:
 ^ Componentă ​                 ^ Pin Arduino ​    ^ Interfață ​    ^ Funcție principală ​                                     ^ ^ Componentă ​                 ^ Pin Arduino ​    ^ Interfață ​    ^ Funcție principală ​                                     ^
 | Senzor fotoelectric ​        | A0              | Analog (ADC)  | Detectează obiecte care întrerup un fascicul (garaj) ​   | | Senzor fotoelectric ​        | A0              | Analog (ADC)  | Detectează obiecte care întrerup un fascicul (garaj) ​   |
-| Senzor fotorezistiv (LDR)   ​| ​A1              ​| ​Analog (ADC)  | Măsoară lumina pentru activarea LED-ului alb            |+| Senzor fotorezistiv (LDR)   ​| ​D6              ​| ​Digital ​ | Măsoară lumina pentru activarea LED-ului alb            |
 | Senzor nivel apă            | A2              | Analog (ADC)  | Detectează apă pentru închiderea automată a ferestrei ​  | | Senzor nivel apă            | A2              | Analog (ADC)  | Detectează apă pentru închiderea automată a ferestrei ​  |
 | Senzor umiditate sol        | A3              | Analog (ADC)  | Măsoară umiditatea pentru irigare automată ​             | | Senzor umiditate sol        | A3              | Analog (ADC)  | Măsoară umiditatea pentru irigare automată ​             |
-| LCD1602 I2C                 | SDA, SCL     | I2C           | Afișează ​starea senzorilor / mesaje ​                    +| LCD1602 I2C                 | SDA, SCL     | I2C           | Afișează ​parola pentru acces in casa                 
-| Bluetooth HC-05             | RX, TX| UART          | Comunicare serială cu telefonul mobil                   |+| Bluetooth HC-05             | RX, TX, D13| UART          | Comunicare serială cu telefonul mobil                   |
 | Senzor sunet                | D2              | Digital ​      | Detectează zgomote sau bătăi ​                           | | Senzor sunet                | D2              | Digital ​      | Detectează zgomote sau bătăi ​                           |
 | Buzzer ​                    | D3              | Digital ​      | Emite avertizări sonore ​                               | | Buzzer ​                    | D3              | Digital ​      | Emite avertizări sonore ​                               |
-| Buton roșu                 ​| ​D4              | Digital ​      | Control manual pentru cod de acces                     | +| Buton roșu                 ​| ​D5              | Digital ​      | Control manual pentru cod de acces                     | 
-| Buton verde                | D5              ​| Digital ​      | Confirmare acțiuni ​                                    +| Buton verde                | D4             | Digital ​      | Confirmare acțiuni ​                                    |
-| Ventilator (motor DC)      | D6              | PWM           | Control prin tranzistor NPN, în funcție de temperatură  ​|+
 | Senzor flacără IR          | D8              | Digital ​      | Detectează prezența flăcărilor ​                         | | Senzor flacără IR          | D8              | Digital ​      | Detectează prezența flăcărilor ​                         |
 | Servomotor ușă             | D9              | PWM           | Deschide/​închide automat ușa                           | | Servomotor ușă             | D9              | PWM           | Deschide/​închide automat ușa                           |
 | Servomotor fereastră ​      | D10             | PWM           | Închide geamul dacă senzorul detectează ploaie ​        | | Servomotor fereastră ​      | D10             | PWM           | Închide geamul dacă senzorul detectează ploaie ​        |
-| Servomotor ​poartă ​         ​| D11             | PWM           | Controlează deschiderea ​porții sau barierei ​           |+| Servomotor ​garaj         | D11             | PWM           | Controlează deschiderea barierei ​           |
 | LED alb                    | D12             | Digital ​      | Aprins automat în întuneric ​                           | | LED alb                    | D12             | Digital ​      | Aprins automat în întuneric ​                           |
-| LED roșu                   ​| ​D13             | Digital ​      | Semnalizează stare critică sau alertă ​                 |+| LED roșu                   ​| ​D7             | Digital ​      | Semnalizează stare critică sau alertă ​                 |
  
  
Line 170: Line 169:
  
  
-<note tip> +Proiectul este funcțional și include următoarele componente software: 
-Descrierea codului aplicaţiei ​(firmware): + 
-  * mediu de dezvoltare ​(if any) (e.g. AVR Studio, CodeVisionAVR+  *Control acces pe bază de parolă Morse 
-  * librării şsurse 3rd-party (e.g. Procyon AVRlib+ 
-  * algoritmi şstructuri pe care plănuiţsă le implementaţ+  *Afișare informații pe ecran LCD (I2C) 
-  * (etapa 3surse şi funcţii implementate + 
-</note> +  *Control servo-motoare (Timer1 și PWM manual) 
-link github:​https://​github.com/​razvang05/​PM_project+ 
 +  *Control LED automat în funcție ​de sunet și lumină 
 + 
 + ​Detectare:​ 
 + 
 +  *Flacără ​(digital) 
 + 
 +  *Lumină ​(fotorezistor digital) 
 + 
 +  *Ploaie 
 + 
 +  *Umiditate sol 
 + 
 + 
 +Interfață Bluetooth HC-05 prin UART + control cu aplicație MIT App Inventor 
 + 
 +** Utilizarea funcționalităților din laborator:​** 
 + 
 +| Funcționalitate | Modul          | Observație ​                                   | 
 +| PWM șTimer    | Servo (Timer1) | Servo deschidere ușă/​geam/​garaj ​                   | 
 +| ADC             | `read_adc()` ​  | Senzori analogici (umiditate, ploaie, lumină) | 
 +| UART            | bluetooth.cpp ​ | Comunicare HC-05                              | 
 +| GPIO direct ​    | Parola, LED    | Control LED, senzori, butoane ​                | 
 +| LCD I2C (soft)  | lcd.cpp        | Comunicare TWI prin registre ​                 | 
 + 
 + ​**Calibrarea senzorilor:​** 
 + 
 +  *Fotorezistor (lumină): prag = 500 (empiric în cameră întunecată/​luminată) 
 + 
 +  *Umiditate sol: prag = 1000 (umiditate maximă simulată) 
 + 
 +  *Pluviometru (ploaie): prag = 100 (test cu apă picurată) 
 + 
 +  *Calibrarea s-a făcut prin afișarea valorilor ADC șstabilirea pragurilor. 
 + 
 +**Motivația alegerii bibliotecilor:​** 
 + 
 +  *Am evitat biblioteci externe și am folosit direct registre AVR pentru: 
 + 
 +  *Control precis 
 + 
 +  *Reducerea memoriei consumate 
 + 
 +  *Învățarea arhitecturii hardware 
 + 
 +  *Totuși, folosesc Arduino.h pentru compatibilitate cu PlatformIO și pentru String. 
 + 
 +**Optimizări:** 
 + 
 +  *Separare cod în fișiere pentru claritate șmentenanță 
 + 
 +  *Eliminare biblioteci externe 
 + 
 +  *Utilizarea Timer1 direct în loc de Servo.h 
 + 
 +  *Folosirea String doar când e necesar, evitând alocări dinamice costisitoare 
 + 
 +**Detalii tehnice firmware:​** 
 + 
 +  *Mediu dezvoltare: PlatformIO + VSCode 
 + 
 +  *Compilator:​ avr-g++ 
 + 
 +  *Board: Arduino UNO (ATmega328P) 
 + 
 +  *Frecvență:​ 16 MHz (F_CPU) 
 + 
 +  *Interfață Bluetooth: UART (registri UBRR0, UCSR0X) 
 + 
 +  *LCD: I2C pe TWI (registri TWCR, TWDR, TWBR) 
 + 
 +  *Senzori analogici: ADC cu prescaler 64 
 + 
 +**Funcții și module ​implementate:** 
 + 
 +  *ParolaMorse() – citire Morse din butoane 
 + 
 +  *servo_set_angle_timer1() – PWM pe Timer1 
 + 
 +  *pulse_servo_d11() – PWM manual 
 + 
 +  *generate_tone() – buzzer 
 + 
 +  *lcd_write_raw() – trimitere comenzi I2C 
 + 
 +  *read_adc() – citire valori analogice 
 + 
 +  *control_bluetooth() – interpretare comenzi BT 
 + 
 +  *control_led() – logica sunet/lumină 
 + 
 + 
 + 
 + 
 +link github:​https://​github.com/​razvang05/​Smart_Home
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
-<note tip> +Link youtube:
-Care au fost rezultatele obţinute în urma realizării proiectului vostru. +
-</​note>​+
  
 +{{:​pm:​prj2025:​vstoica:​1000203288.jpg?​400|}}
 +
 +https://​youtube.com/​shorts/​M6zA6UMoJTA?​feature=share
 ===== Concluzii ===== ===== Concluzii =====
  
 ===== Download ===== ===== Download =====
  
-<note warning>​ +link githubhttps://github.com/​razvang05/Smart_Home
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectuluisurse, 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 ===== ===== Jurnal =====
  
Line 202: Line 291:
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
  
-<​note>​ +  *Arduino UNO https://​docs.arduino.cc/​resources/​datasheets/​A000066-datasheet.pdf 
-Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. +  ​*LCD 1602/I2C - https://​www.waveshare.com/​w/​upload/​4/​4d/​LCD1602_I2C_Module.pdf 
-</note>+  ​*Modul Bluetoot hHC-05-https:​//​components101.com/​sites/​default/​files/​component_datasheet/​HC-05%20Datasheet.pdf
  
 <​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/prj2025/vstoica/marius.gheorghe0509.1748530109.txt.gz · Last modified: 2025/05/29 17:48 by marius.gheorghe0509
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