Andreea-Luciana ACHIRILOAEI (78381) - Reportofon

Autorul poate fi contactat la adresa:

Introducere

Tema proiectului este realizarea unui reportofon care inregistreaza in momentul in care detecteaza miscare.

Descriere generală

In starea initiala, reportofonul nu inregistreaza. In momentul in care senzorul detecteaza miscare, reportofonul incepe sa inregistreze sunetele din jurul sau. Proiectul ofera utilizatorului posibilitatea de a parcurge ultimele inregistrari, ale caror nume sunt afisate pe ecranul unui LCD, si de a reda o inregistrare selectata.

Schema bloc cu toate componentele hardware ale proiectului este urmatoarea:

Inregistrarea vocii presupune conversia in digital a unui semnal analogic - cel produs de vibratiile corzilor vocale. Frecventele emise de vocea umana se incadreaza in spectrul 300 - 4000 Hz, si conform teoremei de esantionare, pentru a putea fi inregistrata corect, este necesara o frecventa de esantionare de cel putin 8000 de Hz. In aplicatie, pentru a mai compensa din pierderile de precizie datorate folosirii unei dimensiuni de 8 biti pe esantion, vocea se va inregistra cu o frecventa de 16kHz.

In cadrul acestui proiect, modalitatea de stocare a sunetului este cardul SD.

  • Butoanele de control : ofera posibilitatea parcurgerii ultimelor inregistrari de pe cardul SD
    1. buton next
    2. buton previous
    3. buton play : redarea inregistrarii curente
  • LCD : afiseaza numele fisierului .WAV curent si starea reportofonului : playing/recording/none
  • Microfon : ofera semnalul analogic pentru inregistrarea; modulul microfonului are incorporat si un preamplificator
  • Card SD : modalitatea de stocare a fisierelor .WAV
  • Speaker : este conectat la amplificator; reda melodia selectata

Hardware Design

Lista de piese:

→ Microcontroller ATmega324
→ 3 butoane
→ Microfon
→ Ecran LCD
→ Senzor de miscare
→ Speaker
→ Amplificator

Schema electrica a proiectului este urmatoarea :

LCD:

LCD-ul suporta modul de transmisie a datelor pe 4 biti. API-ul folosit pentru LCD este mapat pe cel oferit in cadrul laboratului. Acesta a fost conectat la portul D al microcontroller-ului, cu exceptia pinului D7 conectat la pinul 1 al portului B. Am facut aceasta alegere pentru a putea conecta speaker-ul la pinul 4 al portului D.

Butoane de control:

Schema electrica modul senzor sunet analogic si digital (chip principal : LM393):

Schema amplificator + speaker:

Desi amplificatorul este stereo, am conectat un singur difuzor la right.

Schema electrica modul senzor de miscare PIR HC-SR501:

Adaptor card sd:

Biblioteca folosita: Petit FAT Filesystem.

Software Design

Descriere implementare software:

Module folosite:

- LCD.h : API LCD folosit si in cadrul laboratorului cu mici modificari
- pff.h : biblioteca pentru implementarea sistemului de fisiere Petit FatFs
- sd.h : biblioteca pentru initializarea cardului SD
- spi.h : functii pentru configurare SPI
- main.c : modulul principal al proiectului care implementeaza urmatoarele functii :

  • next_file() : intoarce urmatorul fisier .WAV
  • prev_file() : intoarce fisierul precedent .WAV
  • play() : reda fisierul .WAV curent
  • rec_event() : salveaza sunetul detectat de microfon; inregistrarea se bazeaza pe suprascrierea fisierelor deja existente. Utilizatorul selecteaza un fisier din cele deja existente si in momentul in care senzorul de miscare detecteaza miscare, inregistrarea va incepe in fisierul curent.
  • load_header() : citeste headerul unui fisier .WAV si il analizeaza (functie din laborator)
  • build_header() : construieste un header pentru un fisier .WAV in formatul standard

Rezultate Obţinute

Concluzii

Realizarea unui astfel de proiect de la faza initiala (lipitul pieselor pe placuta) si pana la cea finala (implementare software) a fost un drum interesant si anevoios. :) Anevoios in sensul in care, spre deosebire de restul materiilor parcurse pana acum in facultate, in momentul in care detectai o problema, sursa acesteia putea fi atat in partea hardware, cat si in cea software.
De asemenea, am folosit pentru prima data letcon-ul pentru a lipi piesele, ceea ce e a fost o experienta placuta si am parcurs majoritatea subiectelor din cadrul laboratorului (LCD, SPI, filesystem, PWM, timere, intreruperi, ADC).

Bibliografie/Resurse

Download

  • Documentația în format PDF
pm/prj2018/avoinescu/reportofon.txt · Last modified: 2021/04/14 17:07 (external edit)
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