This is an old revision of the document!
* Ce face: captează vocea utilizatorului printr-un microfon, convertește semnalul analogic în date digitale folosind ADC-ul microcontrollerului și transmite datele prin Bluetooth către laptop. Laptopul poate reda sunetul prin boxe și poate trimite audio înapoi către dispozitiv. * Scopul proiectului: înțelegerea modului în care funcționează un lanț complet de comunicație audio embedded: captare audio → procesare → transmisie wireless → redare. * Ideea de la care am pornit: walkie-talkie-urile clasice folosesc module RF dedicate. În acest proiect, comunicarea este realizată folosind Bluetooth serial (SPP), iar procesarea audio este implementată direct pe ATmega328P folosind perifericele interne. * Utilitate: proiectul poate fi extins pentru interfoane, sisteme de monitorizare audio, comunicație embedded sau aplicații IoT care necesită transmisie audio simplă.
</note>
===== Descriere generală =====
Schema bloc a proiectului va fi realizată folosind draw.io.
[Microfon electret] → [ADC ATmega328P] → [UART] → [Modul Bluetooth HC-05] → [Laptop]
În sens invers:
[Laptop] → [Bluetooth HC-05] → [UART] → [PWM ATmega328P] → [Difuzor]
==== Modulele proiectului ====
* ATmega328P Xplained Mini
* Modul Bluetooth HC-05
* Microfon electret cu amplificator
* Difuzor
* Laptop
===== Hardware Design =====
==== Listă de componente ====
| Nr. | Componentă | Cantitate | Sursă |
|---|---|---|---|
| 1 | ATmega328P Xplained Mini | 1 | existent |
| 2 | Modul Bluetooth HC-05 | 1 | Optimus Digital |
| 3 | Microfon electret cu amplificator MAX9812 | 1 | Optimus Digital |
| 4 | Difuzor 8Ω | 1 | Optimus Digital |
| 5 | Breadboard | 1 | kit |
| 6 | Fire Dupont | set | kit |
| 7 | Rezistențe 1kΩ și 2kΩ | câteva | kit |
| 8 | Condensatori 100nF și 10µF | câteva | kit |
==== Scheme electrice ====
Schemele electrice vor fi realizate în EAGLE CAD.
==== Conectarea modulului HC-05 ====
HC-05 TX → ATmega328P RX (PD0)
HC-05 VCC → 5V / 3.3V
HC-05 GND → GND
==== Conectarea microfonului ====
Microfon VCC → 3.3V
Microfon GND → GND
==== Conectarea difuzorului ====
==== Caracteristici hardware ====
* ADC configurat pentru eșantionare audio (~8kHz) * UART configurat la 115200 baud * PWM folosit pentru redarea audio * Comunicație Bluetooth prin protocol SPP
===== Software Design =====
==== Mediu de dezvoltare ====
* Limbaj: C/C++ * IDE: Microchip Studio * Compilator: avr-gcc * Programare directă folosind registre AVR și GPIO * Fără framework Arduino
==== Librării folosite ====
* avr/io.h
* avr/interrupt.h
* util/delay.h
* stdint.h
==== Funcționalități software ====
* configurare GPIO * configurare ADC pentru citirea microfonului * configurare UART pentru Bluetooth * configurare PWM pentru ieșire audio * transmitere și recepție date prin întreruperi * utilizarea bufferelor circulare pentru flux audio
==== Funcții planificate ====
* gpio_init()
* adc_init()
* uart_init()
* pwm_init()
* bluetooth_send()
* bluetooth_receive()
* ISR(ADC_vect)
* ISR(USART_RX_vect)
* main()
==== Program laptop ====
Laptopul va rula un script Python care:
* deschide conexiunea serială Bluetooth * primește date audio * redă audio prin boxe * poate trimite audio înapoi către dispozitiv
Biblioteci Python folosite:
* pyserial
* pyaudio
===== Rezultate Obţinute =====
Rezultate așteptate:
* transmisie audio funcțională între dispozitiv și laptop * latență redusă * comunicație wireless stabilă pe distanțe scurte * voce inteligibilă și fără întreruperi majore
===== Concluzii =====
===== Download =====
* codul sursă în C/C++ * schemele electrice EAGLE * scriptul Python pentru laptop * README * documentația proiectului
</note>
===== Jurnal =====
* Săptămâna 1
* Săptămâna 2
* Săptămâna 3
* Săptămâna 4
===== Bibliografie/Resurse =====
==== Resurse Hardware ====
* Datasheet](https://ww1.microchip.com/downloads/en/DeviceDoc/ATmega328P-DataSheet-DS40002061B.pdf|Datasheet) ATmega328P * ATmega328P](https://www.microchip.com/en-us/development-tool/atmega328p-xmini|ATmega328P) Xplained Mini * HC-05](https://components101.com/wireless/hc-05-bluetooth-module|HC-05) Bluetooth Module * MAX9812](https://datasheets.maximintegrated.com/en/ds/MAX9812-MAX9813L.pdf|MAX9812) Datasheet
==== Resurse Software ====
* PySerial](https://pyserial.readthedocs.io/|PySerial) Documentation * PyAudio](https://people.csail.mit.edu/hubert/pyaudio/|PyAudio) Documentation * Curs](https://ocw.cs.pub.ro/courses/pm|Curs) PM - OCW CS PUB