This is an old revision of the document!


Walkie-Talkie cu ATmega328P și Bluetooth

Introducere

Proiectul constă în realizarea unui walkie-talkie bazat pe plăcuța ATmega328P Xplained Mini, care comunică wireless cu un laptop prin intermediul unui modul Bluetooth.

* 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.

Fluxul principal al datelor este următorul:

[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

  • controlează întregul sistem
  • citește semnalul audio prin ADC
  • transmite și recepționează date prin UART
  • generează semnal audio prin PWM

* Modul Bluetooth HC-05

  • realizează comunicația wireless cu laptopul
  • funcționează ca interfață serială Bluetooth

* Microfon electret cu amplificator

  • captează vocea utilizatorului
  • adaptează semnalul pentru intrarea ADC

* Difuzor

  • redă semnalul audio recepționat

* Laptop

  • primește și redă date audio
  • poate transmite date audio înapoi către dispozitiv
  • rulează un program simplu în Python pentru comunicare serială

===== 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 ====

ATmega328P TX (PD1) → divizor rezistiv → HC-05 RX

HC-05 TX → ATmega328P RX (PD0)

HC-05 VCC → 5V / 3.3V

HC-05 GND → GND

==== Conectarea microfonului ====

Microfon OUT → PC0 / ADC0

Microfon VCC → 3.3V

Microfon GND → GND

==== Conectarea difuzorului ====

PB1 / OC1A (PWM) → filtru RC → difuzor

==== 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 =====

Această secțiune va fi completată după implementarea și testarea proiectului.

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 =====

Proiectul urmărește realizarea unui sistem embedded complet pentru transmisie audio wireless folosind perifericele interne ale microcontrollerului ATmega328P și comunicație Bluetooth.

===== Download =====

Arhiva finală va conține:

* codul sursă în C/C++ * schemele electrice EAGLE * scriptul Python pentru laptop * README * documentația proiectului

</note>

===== Jurnal =====

* Săptămâna 1

  • alegerea temei
  • documentare despre HC-05 și ADC ATmega328P
  • alegerea componentelor

* Săptămâna 2

  • realizarea schemelor electrice în EAGLE
  • testarea comunicației UART

* Săptămâna 3

  • implementare ADC și transmitere Bluetooth
  • testare recepție pe laptop

* Săptămâna 4

  • implementare redare audio prin PWM
  • integrare completă și testare finală

===== 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

Export to PDF

pm/prj2026/alexandru.jipa2803/iani.irascu.1778161145.txt.gz · Last modified: 2026/05/07 16:39 by iani.irascu
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