Operácie

MEMS mikrofón ADMP401: Rozdiel medzi revíziami

Z SensorWiki

(Popis riešenia)
(Analýza)
Riadok 47: Riadok 47:
  
 
V rámci projektu sme riešili na vývojovej doske '''ACROB''' ([http://ap.urpi.fei.stuba.sk/sensorwiki/index.php/Acrob_technical_description#Documentation ACROB dokumentácia]), s osadeným mikroprocesorom '''ATmega328P'''. Na vývojovú dosku sme zapojili ADMP401 a jednu LED. Navrhnutá aplikácia demonštruje použitie mikrofónu na ovládanie osvetlenia. Na komunikáciu medzi vývojovou doskou a PC sme použili seriový port alebo '''RS232 linku'''. Cez sériovú linku posielame údaje do PC a zobrazujeme ich v programe serial chart.  
 
V rámci projektu sme riešili na vývojovej doske '''ACROB''' ([http://ap.urpi.fei.stuba.sk/sensorwiki/index.php/Acrob_technical_description#Documentation ACROB dokumentácia]), s osadeným mikroprocesorom '''ATmega328P'''. Na vývojovú dosku sme zapojili ADMP401 a jednu LED. Navrhnutá aplikácia demonštruje použitie mikrofónu na ovládanie osvetlenia. Na komunikáciu medzi vývojovou doskou a PC sme použili seriový port alebo '''RS232 linku'''. Cez sériovú linku posielame údaje do PC a zobrazujeme ich v programe serial chart.  
 +
 +
'''Schéma zapojenia snímača'''
 +
[[Súbor:zapojenieADMP.jpg]]
  
 
Popis komunikačnej linky '''RS232''' : Sériový port je určený na vzájomnú sériovú komunikáciu dvoch zariadení, čiže dáta sa prenášajú po jednotlivých bitoch postupne za sebou (v sérii) po jednom vodiči.
 
Popis komunikačnej linky '''RS232''' : Sériový port je určený na vzájomnú sériovú komunikáciu dvoch zariadení, čiže dáta sa prenášajú po jednotlivých bitoch postupne za sebou (v sérii) po jednom vodiči.

Verzia zo dňa a času 07:34, 13. február 2015

Autori: Jakub Bohuš
Ivona Gašparová
Radovan Vargic
Študijný odbor: Aplikovaná mechatronika
Ročník: 2. Ing. (2014)

Zadanie

Naším zadaním bolo popísanie senzora ADMP401, jeho funkcionalitu a čo všetko je možné s ním merať. Charakteristika senzora ADMP401 :

  • malé rozmery 4.72 mm x 3.76 mm x 1.0 mm (SMD)
  • High SNR 62dB
  • citlivosť -42 dBV
  • frekvenčná odozva od 100 Hz po 15 kHz
  • nízka spotreba prúdu < 250 uA
  • analógový výstup
  • vysoká PSR 70 dB
  • kompatibilný s Sn / Pb a Pb spojkovacích procesov
  • 1.5 až 3.3 VDC napájacie napätie
SparkFun Admp401.jpg

V súčasnosti sa s obľubou využíva v nasledovných zariadeniach :

  • smartphony a iné telefóny
  • telekonferenčné systémy
  • digitálne video kamery
  • bluetooth náhlavne súpravy
  • tablety


Literatúra:


Analýza

V rámci projektu sme riešili na vývojovej doske ACROB (ACROB dokumentácia), s osadeným mikroprocesorom ATmega328P. Na vývojovú dosku sme zapojili ADMP401 a jednu LED. Navrhnutá aplikácia demonštruje použitie mikrofónu na ovládanie osvetlenia. Na komunikáciu medzi vývojovou doskou a PC sme použili seriový port alebo RS232 linku. Cez sériovú linku posielame údaje do PC a zobrazujeme ich v programe serial chart.

Schéma zapojenia snímača Súbor:ZapojenieADMP.jpg

Popis komunikačnej linky RS232 : Sériový port je určený na vzájomnú sériovú komunikáciu dvoch zariadení, čiže dáta sa prenášajú po jednotlivých bitoch postupne za sebou (v sérii) po jednom vodiči.

Parametre charakterizujúce sériový port :

  • číslo portu (napr. COM1,COM2), obvykle je spojené s prerušením IRQ a a dresou viazanými na port. Nastavenia sú obvyklé, dajú sa však zmeniť.
  • rýchlosť prenosu baud (napr. 9600)
  • počet bitov (napr. 8)
  • parita - 'N' - žiadna parita,'O' - nepárna,'E' - párna parita,'M' - paritný bit má vždy hodnotu 1 a 'S' - paritný bit má vždy hodnotu 0
  • stop bity - 0=1; 1=1,5; 2=2
  • hardwarové riadenie toku - zapnuté / vypnuté
  • softwarové riadenie toku - zapnuté / vypnuté

Prenos dát :

  • Synchrónny prenos. Pri synchrónnom prenose sa na vodičoch nastaví úroveň a informácia sa potvrdí impulzom, alebo zmenou úrovne synchronizačného signálu. Synchronizačný signál je vysielaný aj keď sa neprenášajú žiadne dáta. Synchronizácia umožňuje rýchlejší prenos dát ako asynchrónny, keďže nevyžaduje vysielanie dodatočných znakov vyznačujúcich začiatok a koniec prenášaného rámca. Vysielacia a prijímacia strana musia mať časové základne (generátory taktovacích impulzov), ktoré musia byť synchronizované. Značky sú vysielané ako nepretržitý reťazec bitov, v medzerách sa automaticky vkladajú stavové bity. Začiatky a konce všetkých bitov musia korenšpondovať s časovou základňou. Nevýhodou je zložité synchronizovanie, veľkou výhodou však je efektívne využitie kanála a možnost zabezpečenia prenosu proti chybovosti. Dátové prvky majú rovnakú dlžku trvania, prenos sa používa pre veľké objemy dát a tam, kde je potrebné počas prenosu zabezpečiť šírku pásma.
  • Asynchrónny prenos. RS-232 používa asynchrónny prenos informácií. Pri asynchrónnom prenose sa dáta prenášajú v sekvenciách (rámcoch) danou rýchlosťou s úvodnou štartovacou sekvenciou vyslaním start bitu. Hneď ako bol start bit vyslaný, vysielač posiela dátové bity, ktorých môže byť 5, 6, 7, alebo 8, v závislosti od konfiguračnej voľby. Nasleduje paritný bit (nie je povinný). Prenášaný rámec je ukončený stop bitom. Dĺžky trvania jednotlivých bajtov sú rôzne, rôzne sú i medzery medzi dvoma blokmi. Prijímač nerozozná dva nasledujúce dátové bloky. Objem prenášaných dát sa pri tomto type prenosu rozdelí na menšie casti, každá časť sa posiela nezávisle na ostatných, časové intervaly medzi odosielaním jednotlivých bajtov sa môžu líšiť.

Popis riešenia

Po naštudovaní senzora ADMP401 a zapojení na vývojovú dosku ACROB sme zaznamenávali dáta pomocou sériovej linky RS232 do PC. Pomocou programu Serial Chart sme dané dáta vykreslovali. Určili sme si že signál na ovládanie LED bude dvojité tlesknutie rukami. Najprv sme zapojili na dosku len modul s ADMP401 a sledovali sme odozvu snímača na dvojité tlesknutie. Po analýze tejto zvukovej stopy sme navrhli algoritmus, ktorý takúto zvukovú stopu dokáže detekovať. Ak sa v zázname daná zvuková stopa vyskytne, program zapne/vypne LED.



Pozn.: Názov obrázku musí byť jedinečný, uvedomte si, že Obr1.jpg už pred vami skúsilo nahrať už aspoň 10 študentov.


Algoritmus a program

Uveďte stručný popis algoritmu, v akom jazyku a verzii vývojového prostredia ste ho vytvorili. Je vhodné nakresliť aspoň hrubú štruktúru programu napríklad vo forme vývojového diagramu. Rozsiahly program pre lepšiu prehľadnosť rozdeľte do viacerých súborov.

Vyberte podstatné časti zdrojového kódu, použite na to prostredie source:

/* A nezabudnite zdroják hojne komentovať  */

int main(void) {
    
    printf("Hello, World!\n");  
    return(0);  
}

Nezabudnite však nahrať aj kompletné zdrojové kódy vášho programu!

Zdrojový kód: serial.h a main.c

program.c

Overenie

Nezabudnite napísať čosi ako užívateľský návod. Z neho by malo byť jasné čo program robí, ako sa prejavuje a aké má užívateľské rozhranie (čo treba stlačiť, čo sa kde zobrazuje). Ak ste namerali nejaké signály, sem s nimi. Ak je výsledkom nejaký údaj na displeji, odfotografujte ho.

Kľúčové slová 'Category', ktoré sú na konci stránky nemeňte.