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 19:12]
marius.gheorghe0509 [Software 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** ​  ^ **159.43** ^+^ **TOTAL** ​  ^ **161.14** ^
  
 **Electrical Diagram:** **Electrical Diagram:**
Line 171: Line 171:
 Proiectul este funcțional și include următoarele componente software: Proiectul este funcțional și include următoarele componente software:
  
- ​- ​Control acces pe bază de parolă Morse+  *Control acces pe bază de parolă Morse
  
- ​- ​Afișare informații pe ecran LCD (I2C)+  *Afișare informații pe ecran LCD (I2C)
  
- ​- ​Control servo-motoare (Timer1 și PWM manual)+  *Control servo-motoare (Timer1 și PWM manual)
  
- ​- ​Control LED automat în funcție de sunet și lumină+  *Control LED automat în funcție de sunet și lumină
  
- Detectare:+ ​Detectare:​
  
- ​1. ​Flacără (digital)+  *Flacără (digital)
  
- ​2. ​Lumină (fotorezistor digital)+  *Lumină (fotorezistor digital)
  
- ​3. ​Ploaie+  *Ploaie
  
- ​4. ​Umiditate sol+  *Umiditate sol
  
- - Interfață Bluetooth HC-05 prin UART + control cu aplicație MIT App Inventor 
  
-link github:​https://​github.com/​razvang05/​PM_project+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 și 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 și 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 și 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 216: 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.1748535145.txt.gz · Last modified: 2025/05/29 19:12 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