Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
et:examples:sensor:mic [2015/11/25 08:48] raivo.sellet:examples:sensor:mic [2020/07/20 09:00] (current) – external edit 127.0.0.1
Line 8: Line 8:
  
 ===== Teooria ===== ===== Teooria =====
- +[{{ :et:examples:sensor:mic.jpg?150|Mikrofon}}]
-[{{  :examples:sensor:photoresistor:sensor_photoresistor_designator.png?150|Fototakisti elektriline tähis}}]+
  
 ===== Praktika ===== ===== Praktika =====
Line 15: Line 14:
  
 <code c> <code c>
-// Kodulabori fototakisti näidisprogramm +// Kodulabori mikrofoni näidisprogramm 
-// LCD ekraanil kuvatakse ligikaudne valgustustihedus luksides+// LCD ekraanil kuvatakse helitugevuse graafik ja teatud helitugevusest süüdatakse LED 
 +#include <stdio.h> 
 +#include <homelab/adc.h> 
 +#include <homelab/delay.h> 
 +#include <homelab/module/sensors.h> 
 +#include <homelab/module/lcd_gfx.h> 
 + 
 +#define ADC_CHANNEL 12 
 + 
 +// Põhiprogramm 
 +int main(void) 
 +
 + signed short mic; 
 + BYTE n;  
 +  
 + // LCD ekraani seadistamine 
 + lcd_gfx_init(); 
 +  
 + // ADC muunduri seadistamine 
 + adc_init(ADC_REF_AVCC, ADC_PRESCALE_8); 
 +  
 + // LED-i viigu väljundiks seadmine 
 + pin_setup_output(led_yellow); 
 + pin_set(led_yellow);  
 +  
 + // Ekraani päise joonistamine 
 + FgColor = BLUE; 
 + BkColor = YELLOW;  
 + lcd_gfx_fillScreen(YELLOW); 
 + lcd_gfx_goto_char_xy(6,1); 
 + lcd_gfx_write_string("Mikrofon"); 
 + lcd_gfx_drawLine(0,40,128,40,BLUE);  
 + FgColor = RED; 
 +  
 + // Lõputu tsükkel 
 + while (1) 
 + {  
 + // Graafiku ala kustutamine  
 + lcd_gfx_fillRect(0, 41, 128, 119, WHITE);  
 +  
 + // Graafiku joonistamine. Ekraani laius on 128 pikslit.  
 + for (n = 0; n <= 128; n++) 
 + {  
 + // Mikrofoni ADC kanali lugemine ja väärtuse sobivasse vahemikku teisendamine  
 + mic = map(adc_get_value(ADC_CHANNEL), 0, 2047, 0, 120); 
 +  
 + // Punkti graafikule kandmine 
 + lcd_gfx_drawPixel(n, 160 - mic + 2); 
 +  
 + // LED-i süütamine, kui helitugevus ületab teatud väärtust 
 + if(mic > 30) 
 +
 + pin_toggle(led_yellow); 
 + }  
 + }  
 +  
 +
 +}
  
 </code> </code>
et/examples/sensor/mic.1448441338.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