Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
en:examples:sensor:mic [2015/12/28 13:38] – created kaupo.raiden:examples:sensor:mic [2020/07/20 09:00] (current) – external edit 127.0.0.1
Line 1: Line 1:
-====== Mikrofon ======+====== Microphone ======
  
-//Vajalikud teadmised:  +//Necessary knowledge:  
-[HW] [[et:hardware:homelab:digi]],+[HW] [[en:hardware:homelab:digi]],
 [AVR] [[et:avr:dac]], [[et:avr:adc]] [AVR] [[et:avr:dac]], [[et:avr:adc]]
-[LIB] [[et:software:homelab:library:adc]], [LIB] [[et:software:homelab:library:module:lcd_graphic]],  +[LIB] [[en:software:homelab:library:adc]], [LIB] [[en:software:homelab:library:module:lcd_graphic]],  
-[LIB] [[et:software:homelab:library:module:sensor]]//+[LIB] [[en:software:homelab:library:module:sensor]]//
  
-===== Teooria ===== +===== Theory ===== 
-[{{ :et:examples:sensor:mic.jpg?150|Mikrofon}}]+[{{ :en:examples:sensor:mic.jpg?150|Microphone}}]
  
-===== Praktika =====+===== Practice =====
  
  
 <code c> <code c>
-// Kodulabori mikrofoni näidisprogramm +// Homelab microphone example 
-// LCD ekraanil kuvatakse helitugevuse graafik ja teatud helitugevusest süüdatakse LED+// Microphone sound level graph is shown on LCD and when sound level exceeds threshold an led lights up.
 #include <stdio.h> #include <stdio.h>
 #include <homelab/adc.h> #include <homelab/adc.h>
Line 24: Line 24:
 #define ADC_CHANNEL 12 #define ADC_CHANNEL 12
  
-// Põhiprogramm+// Main program
 int main(void) int main(void)
 { {
Line 30: Line 30:
  BYTE n;   BYTE n;
   
- // LCD ekraani seadistamine+ // LCD setup function
  lcd_gfx_init();  lcd_gfx_init();
   
Line 36: Line 36:
  adc_init(ADC_REF_AVCC, ADC_PRESCALE_8);  adc_init(ADC_REF_AVCC, ADC_PRESCALE_8);
   
- // LED-i viigu väljundiks seadmine+ // Set LED pin as output
  pin_setup_output(led_yellow);  pin_setup_output(led_yellow);
  pin_set(led_yellow);   pin_set(led_yellow);
   
- // Ekraani päise joonistamine+ // LCD background draw
  FgColor = BLUE;  FgColor = BLUE;
  BkColor = YELLOW;   BkColor = YELLOW;
Line 49: Line 49:
  FgColor = RED;  FgColor = RED;
   
- // Lõputu tsükkel+ // Infinite loop
  while (1)  while (1)
  {   {
- // Graafiku ala kustutamine + // Clear graph area from LCD
  lcd_gfx_fillRect(0, 41, 128, 119, WHITE);   lcd_gfx_fillRect(0, 41, 128, 119, WHITE);
   
- // Graafiku joonistamine. Ekraani laius on 128 pikslit. + // Drawing the graph on LCD. Width of LCD is 128 pixels.
  for (n = 0; n <= 128; n++)  for (n = 0; n <= 128; n++)
  {   {
- // Mikrofoni ADC kanali lugemine ja väärtuse sobivasse vahemikku teisendamine + // Microphone ADC channel read and converting to different values range.
  mic = map(adc_get_value(ADC_CHANNEL), 0, 2047, 0, 120);  mic = map(adc_get_value(ADC_CHANNEL), 0, 2047, 0, 120);
   
- // Punkti graafikule kandmine+ // Draw value on graph as dot
  lcd_gfx_drawPixel(n, 160 - mic + 2);  lcd_gfx_drawPixel(n, 160 - mic + 2);
   
- // LED-i süütamine, kui helitugevus ületab teatud väärtust+ // Light up LED if value exceeds threshold (30)
  if(mic > 30)  if(mic > 30)
  {  {
en/examples/sensor/mic.1451309918.txt.gz · Last modified: 2020/07/20 09:00 (external edit)
CC Attribution-Share Alike 4.0 International
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