Operácie

Hlukomer: Rozdiel medzi revíziami

Zo stránky SensorWiki

StudentMIPS (diskusia | príspevky)
Bez shrnutí editace
StudentMIPS (diskusia | príspevky)
Bez shrnutí editace
Riadok 44: Riadok 44:


Db  -->  25
Db  -->  25
■■         
■■         


Riadok 49: Riadok 50:


Db  -->  100
Db  -->  100
■■■■■■■■
■■■■■■■■



Verzia z 00:57, 6. jún 2023

Záverečný projekt predmetu MIPS / LS2023 - Sabadash


Zadanie

Hlukomer: - naprogramujte zariadenie na meranie úrovne hluku so zobrazením na LCD displej. Zobrazenie v dB a pomocou stupnice.

Hlukomer.


Literatúra:


Analýza a opis riešenia

Zapojenie nasho Hlukomeru bolo urobene strucne podla cviceni, kde nas senzor zvuku je A/D prevodnikom (cvicenie 9) a LCD displej z cvicenia 4

Prikladam schemy zapojenia z cviceni

Schéma pripojenia LCD displeja k procesoru.
Zapojovaci diagram pre A/D prevodnik.


Algoritmus a program

Algoritmus programu je taky ze:

Sme inicializujeme A/D prevodnik, inicializujeme LCD displej a overujeme spravnost ho zapojenia, ked je vsetko v pohode tak displej sa zapne a sa zacnu ukazovat tam data ktore sme tam posleme (ked ze sme tam nieco posleme).

Dalej, zadefinujeme "lcd_puts" (funkcia na vypis veci na displej), zoberieme nase vstupne data z funkcie "adc_read()", a vyskusame ich v Serial Plot-e. Tu sme overime ci je nas senzor zvuku funkcny/zapojeny, lebo priebeh data ktore on nam posiela vidime na diagrame.

Teraz, zadefinujeme riadok, "vypocitame" hodnotu ktoru chceme vidiet na displeji, a vypiseme to pomocou funkcie "sprintf()".

A, pre lepsi vyhlad nasho hlukomeru pridame mu stupnicu hluku, ktoru vytvorime z ciernych stvorcekov a "pustych miest" (space key)

Kedy nam to vsetko vypise, dostaneme vypis na LCD ktory bude vyzerat priblizne takto:

Db --> 25

■■

Alebo napriklad takto

Db --> 100

■■■■■■■■

Potom, sme vratime kurzor na zaciatok, a urobime meranie a vypis znova


#include <avr/io.h>

int main(void)
{
  unsigned int measuredValue;

  while (1)
  {
    /*  relax  */  
  }

  return(0);
}
#include <avr/io.h>

void adc_init(void);                                   // A/D converter initialization

unsigned int adc_read(char a_pin);

Pridajte sem aj zbalený kompletný projekt, napríklad takto (použite jednoznačné pomenovanie, nemôžeme mať na serveri 10x zdrojaky.zip:

Zdrojový kód: zdrojaky.zip


Overenie

Na používanie našej aplikácie stačia dve tlačítka a postup používania je opísaný v sekcii popis riešenia. Na konci uvádzame fotku záverečnej obrazovky pred resetom. Vypísaný je tu priemerný čas a najlepší čas.

Video:

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