This shows you the differences between two versions of the page.
|
pm:prj2025:vstoica:marius.gheorghe0509 [2025/05/29 19:29] 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 | |
| - | - Interfață Bluetooth HC-05 prin UART + control cu aplicație MIT App Inventor | + | |
| ** Utilizarea funcționalităților din laborator:** | ** Utilizarea funcționalităților din laborator:** | ||
| Line 204: | Line 203: | ||
| **Calibrarea senzorilor:** | **Calibrarea senzorilor:** | ||
| - | Fotorezistor (lumină): prag = 500 (empiric în cameră întunecată/luminată) | + | *Fotorezistor (lumină): prag = 500 (empiric în cameră întunecată/luminată) |
| - | Umiditate sol: prag = 1000 (umiditate maximă simulată) | + | *Umiditate sol: prag = 1000 (umiditate maximă simulată) |
| - | Pluviometru (ploaie): prag = 100 (test cu apă picurată) | + | *Pluviometru (ploaie): prag = 100 (test cu apă picurată) |
| - | Calibrarea s-a făcut prin afișarea valorilor ADC și stabilirea pragurilor. | + | *Calibrarea s-a făcut prin afișarea valorilor ADC și stabilirea pragurilor. |
| **Motivația alegerii bibliotecilor:** | **Motivația alegerii bibliotecilor:** | ||
| - | Am evitat biblioteci externe și am folosit direct registre AVR pentru: | + | *Am evitat biblioteci externe și am folosit direct registre AVR pentru: |
| - | Control precis | + | *Control precis |
| - | Reducerea memoriei consumate | + | *Reducerea memoriei consumate |
| - | Învățarea arhitecturii hardware | + | *Învățarea arhitecturii hardware |
| - | Totuși, folosim Arduino.h pentru compatibilitate cu PlatformIO și pentru String. | + | *Totuși, folosesc Arduino.h pentru compatibilitate cu PlatformIO și pentru String. |
| **Optimizări:** | **Optimizări:** | ||
| - | Separare cod în fișiere pentru claritate și mentenanță | + | *Separare cod în fișiere pentru claritate și mentenanță |
| - | Eliminare biblioteci externe | + | *Eliminare biblioteci externe |
| - | Utilizarea Timer1 direct în loc de Servo.h | + | *Utilizarea Timer1 direct în loc de Servo.h |
| - | Folosirea String doar când e necesar, evitând alocări dinamice costisitoare | + | *Folosirea String doar când e necesar, evitând alocări dinamice costisitoare |
| **Detalii tehnice firmware:** | **Detalii tehnice firmware:** | ||
| - | Mediu dezvoltare: PlatformIO + VSCode | + | *Mediu dezvoltare: PlatformIO + VSCode |
| - | Compilator: avr-g++ | + | *Compilator: avr-g++ |
| - | Board: Arduino UNO (ATmega328P) | + | *Board: Arduino UNO (ATmega328P) |
| - | Frecvență: 16 MHz (F_CPU) | + | *Frecvență: 16 MHz (F_CPU) |
| - | Interfață Bluetooth: UART (registri UBRR0, UCSR0X) | + | *Interfață Bluetooth: UART (registri UBRR0, UCSR0X) |
| - | LCD: I2C pe TWI (registri TWCR, TWDR, TWBR) | + | *LCD: I2C pe TWI (registri TWCR, TWDR, TWBR) |
| - | Senzori analogici: ADC cu prescaler 64 | + | *Senzori analogici: ADC cu prescaler 64 |
| **Funcții și module implementate:** | **Funcții și module implementate:** | ||
| - | ParolaMorse() – citire Morse din butoane | + | *ParolaMorse() – citire Morse din butoane |
| - | servo_set_angle_timer1() – PWM pe Timer1 | + | *servo_set_angle_timer1() – PWM pe Timer1 |
| - | pulse_servo_d11() – PWM manual | + | *pulse_servo_d11() – PWM manual |
| - | generate_tone() – buzzer | + | *generate_tone() – buzzer |
| - | lcd_write_raw() – trimitere comenzi I2C | + | *lcd_write_raw() – trimitere comenzi I2C |
| - | read_adc() – citire valori analogice | + | *read_adc() – citire valori analogice |
| - | control_bluetooth() – interpretare comenzi BT | + | *control_bluetooth() – interpretare comenzi BT |
| - | control_led() – logica sunet/lumină | + | *control_led() – logica sunet/lumină |
| - | link github:https://github.com/razvang05/PM_project | + | 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 github: https://github.com/razvang05/Smart_Home |
| - | O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, 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 296: | 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> | ||