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:ir_distance [2014/10/09 09:03] raivo.sellet:examples:sensor:ir_distance [2020/07/20 09:00] (current) – external edit 127.0.0.1
Line 1: Line 1:
-~~PB~~+<pagebreak>
 ====== Infrapuna kaugusandur ====== ====== Infrapuna kaugusandur ======
  
-//Vajalikud teadmised: [HW] [[et:hardware:homelab:lcd]], [HW] [[et:hardware:homelab:sensor]], [AVR] [[et:avr:adc]], [LIB] [[et:software:homelab:library:adc]], [LIB] [[et:software:homelab:library:module:lcd_graphic]], [LIB] [[et:software:homelab:library:module:sensor]]//+//Vajalikud teadmised:  
 +[HW] [[et:hardware:homelab:digi]],  
 +[AVR] [[et:avr:adc]], \\ 
 +[LIB] [[et:software:homelab:library:adc]], [LIB] [[et:software:homelab:library:module:lcd_graphic]], [LIB] [[et:software:homelab:library:module:sensor]]//
  
 ===== Teooria ===== ===== Teooria =====
Line 66: Line 69:
  
 // IR kaugusanduri ADC väärtuse sentimeetriteks teisendamine // IR kaugusanduri ADC väärtuse sentimeetriteks teisendamine
-// Tagastab -1, kui teisendus ei õnnestunud+// Tagastatakse -1, kui teisendus ei õnnestunud
 signed short ir_distance_calculate_cm(ir_distance_sensor sensor, signed short ir_distance_calculate_cm(ir_distance_sensor sensor,
  unsigned short adc_value)  unsigned short adc_value)
Line 80: Line 83:
  
 Teisenduse tegemiseks tuleb välja kutsuda //ir_distance_calculate_cm// funktsioon, mille esimene parameeter on IR kaugusanduri parameetrite objekt, teine aga ADC väärtus. Funktsioon tagastab arvutatud kauguse sentimeetrites. Väära tehte (ehk siis ebaloomuliku ADC väärtuse) korral tagastab funktsioon -1. IR kaugusanduri ja teisendusfunktsiooni kasutamist demonstreerib järgnev programm. Kasutusel on LCD ekraan, kus kuvatakse mõõtetulemust. Ebaloomuliku kauguse puhul kuvatakse küsimärki. Teisenduse tegemiseks tuleb välja kutsuda //ir_distance_calculate_cm// funktsioon, mille esimene parameeter on IR kaugusanduri parameetrite objekt, teine aga ADC väärtus. Funktsioon tagastab arvutatud kauguse sentimeetrites. Väära tehte (ehk siis ebaloomuliku ADC väärtuse) korral tagastab funktsioon -1. IR kaugusanduri ja teisendusfunktsiooni kasutamist demonstreerib järgnev programm. Kasutusel on LCD ekraan, kus kuvatakse mõõtetulemust. Ebaloomuliku kauguse puhul kuvatakse küsimärki.
 +<pagebreak>
 <code c> <code c>
 // Kodulabori IR kaugusmõõdiku näidisprogramm // Kodulabori IR kaugusmõõdiku näidisprogramm
Line 105: Line 108:
  // LCD ekraani seadistamine  // LCD ekraani seadistamine
  lcd_gfx_init();  lcd_gfx_init();
- 
- // LCD ekraani puhastamine 
  lcd_gfx_clear();  lcd_gfx_clear();
- 
- //LCD-l kirjutamise koha valik 
  lcd_gfx_goto_char_xy(1,2);  lcd_gfx_goto_char_xy(1,2);
- 
- // Programmi nimi 
  lcd_gfx_write_string("Kaugusandur");  lcd_gfx_write_string("Kaugusandur");
  
Line 119: Line 116:
  
  // Lõputu tsükkel  // Lõputu tsükkel
- while (true)+ while (1)
  {  {
  // Anduri väljundpinge 4-kordselt ümardatud väärtuse lugemine  // Anduri väljundpinge 4-kordselt ümardatud väärtuse lugemine
Line 129: Line 126:
  lcd_gfx_goto_char_xy(1,3);  lcd_gfx_goto_char_xy(1,3);
  
- // Kas saab kauguse või veateate kuvada ?+ // Kauguse või veateate kuvamine
  if (distance >= 0)  if (distance >= 0)
  {  {
- sprintf(text, "%cm   ", distance);+ sprintf(text, "%3d cm   ", distance);
  }  }
  else  else
Line 139: Line 136:
  }  }
  
- // Teksti kuvamine LCD teise rea alguses 
  lcd_gfx_goto_char_xy(1,3);  lcd_gfx_goto_char_xy(1,3);
  lcd_gfx_write_string(text);  lcd_gfx_write_string(text);
- 
- // Paus 
  sw_delay_ms(500);  sw_delay_ms(500);
  }  }
et/examples/sensor/ir_distance.1412845404.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