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:potentiometer [2015/02/26 12:56] raivo.sellet:examples:sensor:potentiometer [2020/07/20 09:00] (current) – external edit 127.0.0.1
Line 1: Line 1:
-~~PB~~+<pagebreak>
 ====== Potentsiomeeter ====== ====== Potentsiomeeter ======
  
Line 26: Line 26:
  
 Funktsioon //adc_init// tuleb välja kutsuda programmi alguses, millega seatakse AVR-i ADC töövalmis. Valida tuleb võrdluspinge kas AREF või AVCC viigult või hoopis sisemine  pinge. Lisaks tuleb määrata muunduri töötakt, täpsemalt sagedusjaguri tegur, millega jagatakse läbi mikrokontrolleri töötakt. Kõrgema taktiga käib muundamine kiiremini, kuid võib kannatada mõõtmistäpsus. Mõõtmiseks on //adc_get_value// funktsioon, millega saab valida kanali ja mis tagastab 16-bitise täisarvuna 10-bitise (Kodulabor III puhul 11-bitise) mõõtmistulemuse. Mõõtmisfunktsioon on blokeeruv ehk see jääb ootama muundamise lõppu ja tagastab väärtuse alles siis, kui mõõtmine on tehtud.  Funktsioon //adc_init// tuleb välja kutsuda programmi alguses, millega seatakse AVR-i ADC töövalmis. Valida tuleb võrdluspinge kas AREF või AVCC viigult või hoopis sisemine  pinge. Lisaks tuleb määrata muunduri töötakt, täpsemalt sagedusjaguri tegur, millega jagatakse läbi mikrokontrolleri töötakt. Kõrgema taktiga käib muundamine kiiremini, kuid võib kannatada mõõtmistäpsus. Mõõtmiseks on //adc_get_value// funktsioon, millega saab valida kanali ja mis tagastab 16-bitise täisarvuna 10-bitise (Kodulabor III puhul 11-bitise) mõõtmistulemuse. Mõõtmisfunktsioon on blokeeruv ehk see jääb ootama muundamise lõppu ja tagastab väärtuse alles siis, kui mõõtmine on tehtud. 
-~~PB~~ + 
-Järgnevad teegifunktsioonide näited on toodu ATmega2561 ADC muunduri kohta.+Järgnevad teegifunktsioonide näited on toodud ATmega2561 ADC muunduri kohta.
  
 <code c> <code c>
Line 71: Line 71:
  
 // Robootika Kodulabor II // Robootika Kodulabor II
-// #define ADC_CHANNEL 3+//#define ADC_CHANNEL 3
  
 // Robootika Kodulabor III // Robootika Kodulabor III
Line 81: Line 81:
  int value;  int value;
  
- // 7-segmendilise indikaatori seadistamine+ // 7-segmendilise numberindikaatori seadistamine
  segment_display_init();  segment_display_init();
  
  // ADC muunduri seadistamine  // ADC muunduri seadistamine
- adc_init(ADC_REF_AVCC, ADC_PRESCALE_8);+ adc_init(ADC_REF_AVCC, ADC_PRESCALE_16);
  
  // Lõputu tsükkel  // Lõputu tsükkel
- while (true)+ while (1)
  {  {
  // Kanali 4-kordselt ümardatud väärtuse lugemine  // Kanali 4-kordselt ümardatud väärtuse lugemine
Line 94: Line 94:
  
  // Näidu sajandike näitamine  // Näidu sajandike näitamine
- //Kodulabor II+ // Kodulabor II
  //segment_display_write(value * 10 / 1024);  //segment_display_write(value * 10 / 1024);
- //Kodulabor III+ // Kodulabor III
  segment_display_write(value * 10 / 2048);  segment_display_write(value * 10 / 2048);
  }  }
 } }
 </code> </code>
et/examples/sensor/potentiometer.1424955364.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