Table of Contents

Avram Ana-Maria - Sound Follower

Introducere

Sound Follower este o masinuta ghidata prin sunet. Aceasta se va deplasa dreapta sau stanga in functie de directia din care este emis sunetul. Detectarea acestei directii se va face prin intermediul a doua microfoane.

Descriere Generala

Ghidarea masinutei functioneaza in felul urmator:

  1. Se emite un sunet pe o anumita frecventa stand la o distanta rezonabila de masina.
  2. Microfoanele inregistreaza tot zgomotul din jur si il trimit microprocesorului.
  3. Microprocesorul compara cele doua semnale in functie de amplitudine si determina directia suneteului transmis.
  4. Microprocesorul porneste motoarele, prin drivere, astfel incat masina sa mearga inspre directia determinata la pasul anterior.

Schema Bloc

Schema Sound Follower

Descriere

Daca citesti acest mesaj inseamna ca nu am modificat inca schema bloc.

Masinuta are 2 microfoane PDM care sunt legate direct la pinii de clock si de date de pe USART0 si USART1. Cele 2 motoare sunt folosite in felul urmator: primul roteste rotile din fata stanga/dreapta, al doilea roteste rotile din spate fata/spate. Fiecare motor e legat la un driver de motor care e legat la randul sau la placuta. Motoarele au nevoie de alimentare la 5 volti, microfoanele la 3,3 volti, asa ca am pus si regulatorul de tensiune + condensatorul lui. Microprocesorul se alimenteaza cu 5 volti de la o baterie externa. Motivul pentru care alimentez placuta la baterie externa este faptul ca pinul PD2, folosit pentru USB, este si pinul de date pe USART1, ceea ce inseamna ca nu pot primi date de la microfon cand am usbul bagat in placuta. Bonus, alimentarea de la baterie inseamna si ca nu trebuie sa alerg cu laptopul dupa masina.

Hardware Design

Lista de Piese

*Piese de baza*

*Piese aditionale*

Schema Electrica

Schema Electrica Sound Follower

Software Design

Din punct de vedere software, proiectul se imparte in 2 parti: analiza rezultate si pornit motoare + colectare si prelucrare date microfon.

Partea intai: colectare si prelucrare date microfon Memoria disponibila e destul de mica pe Atmega, indeajuns incat sa nu pot tine intr-un vector toate datele primite de la cele 2 microfoane pe o perioada suficient de mare de timp. Astfel incat am fost nevoita sa fac calculele pentru amplitudinile semnalelor intre doua citiri succesive de date. Am facut si niste optimizari de cod( operatii de shiftare biti in loc de impartiri), dar am si modificat baudrate-ul astfel incat sa dau un clock prin USART microfoanelor care sa imi si permita un timp mai mare de prelucrare a datelor.

Partea a doua: analiza rezultate si pornit motoare Asta a fost partea simpla. Am facut metode de pornire a masinutei in diferite directii si le apelaz pe cele de care aveam nevoie in functie de rezultatele din partea intai. Daca sunetele inregistrate de la microfoane nu depasesc un prag de zgomot atunci masina nu se misca. Daca sunetele de la microfonul 0 au fost mai mari cu cel putin un prag decat cele de la microfonul 1, masina merge la stanga. Masina merge la dreapta, in cazul invers.

Rezultate Obţinute

Am terminat doua demouri: unul pentru un singur microfon si celalalt cu ambele microfoane. Primul demo are ca scop demonstarea functionalitatii unui singur microfon: faptul ca masina analizeaza datele de la microfon si porneste doar daca “aude” sunet peste nivelul de zgomot. Al doilea demo are ca scop demonstrarea functionalitatii de determinare a directiei: masina porneste si face stanga sau dreapta in functie de microfonul care aude sunetul mai tare.

Concluzii

  1. NU conecta microfoane de 3,3V la 5V
  2. NU conecta microfoane de 3,3V la 5V
  3. Serios, mai citeste o data datasheetul
  4. Gandeste de minim 5 ori inainte sa comanzi piese
  5. Ia de 3 ori mai multe piese de care ai nevoie si pe care le poti arde usor
  6. Doar pentru ca un program nu da eroare nu inseamna ca a terminat cu succes ceea ce avea de facut(I'm looking at you HIDBootFlash.exe)
  7. Puterea prieteniei. Fara gluma. Daca nu aveam prieteni sa imi faca flash la PMfair cu versiunea buna a codului meu, nu aveam ce sa prezint.

Download

Daca citesti acest mesaj inseamna ca nu am terminat de adaugat toate resursele.

Jurnal

Bibliografie/Resurse

Daca citesti acest mesaj inseamna ca nu am terminat de adaugat toate resursele.

Download page as PDF