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:
Se emite un sunet pe o anumita frecventa stand la o distanta rezonabila de masina.
Microfoanele inregistreaza tot zgomotul din jur si il trimit microprocesorului.
Microprocesorul compara cele doua semnale in functie de amplitudine si determina directia suneteului transmis.
Microprocesorul porneste motoarele, prin drivere, astfel incat masina sa mearga inspre directia determinata la pasul anterior.
Schema Bloc
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
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
NU conecta microfoane de 3,3V la 5V
NU conecta microfoane de 3,3V la 5V
Serios, mai citeste o data datasheetul
Gandeste de minim 5 ori inainte sa comanzi piese
Ia de 3 ori mai multe piese de care ai nevoie si pe care le poti arde usor
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)
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
Primit placuta cu o luna mai tarziu decat restul

Facut schema electrica si comandat piese aditionale specifice proiectului
Lipit placuta si mers la laborator pentru bootloader
Primit piese aditionale
-
Lipit motoare
Scris si testat cod pentru motoare

Poze + Filmulet stadiu intermediar
Lipit microfoane
Facut comanda 2 de piese
Constatat ca am ars microfoanele

<note>Poate de faptul ca le-am pus la 5V cand aveau nevoie de maxim 3.6V. Poate ca am pus firele invers decat in datasheet. Nu voi stii niciodata.</note>
Microfoane noi cu tot cu niste rezistente de 1K5 intre date si GND ca sa nu le mai ard
Adaugat incarcare de la baterie externa pentru ca pinul de USB era si de USART1
Testat + debugat codul cu toate functionalitatile(motoare + microfoane)
Asta e partea unde nu fac filmulet cand merge ca daca se intampla ceva sa nu am dovada ca a functionat vreodata codul

Incercat sa adaug si LCD ca bonus
???
Nu mai merge nimic
???
Descoperit ca nu imi merge de fapt sa mai fac flash pe atmega, in ciuda lipsei de erori in programul de flash-uit.
???
Prezentat proiect care merge la PMfair

Bibliografie/Resurse
Daca citesti acest mesaj inseamna ca nu am terminat de adaugat toate resursele.
Download page as PDF