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:53]
marius.gheorghe0509 [Pini utilizați și justificare]
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** ​  ^ **159.43** ^+^ **TOTAL** ​  ^ **161.14** ^
  
 **Electrical Diagram:** **Electrical Diagram:**
Line 169: 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 201: 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.1748530421.txt.gz · Last modified: 2025/05/29 17:53 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