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:photoresistor [2015/03/02 11:37] raivo.sellet:examples:sensor:photoresistor [2020/07/20 09:00] (current) – external edit 127.0.0.1
Line 1: Line 1:
-~~PB~~+<pagebreak>
 ====== Fototakisti ====== ====== Fototakisti ======
  
Line 41: Line 41:
 VT935G andur ei olegi tegelikult mõeldud konkreetseks mõõteseadmeks, pigem üldiste valgustingimuste määramiseks - näiteks kas ruumis põleb lamp või mitte. Sel juhul tuleb lihtsalt mõõta anduri takistus poolpimedas ruumis, see programmi kirja panna ja selle abil võrrelda mõõdetavat - kas on heledam või pimedam. VT935G andur ei olegi tegelikult mõeldud konkreetseks mõõteseadmeks, pigem üldiste valgustingimuste määramiseks - näiteks kas ruumis põleb lamp või mitte. Sel juhul tuleb lihtsalt mõõta anduri takistus poolpimedas ruumis, see programmi kirja panna ja selle abil võrrelda mõõdetavat - kas on heledam või pimedam.
  
-Käesolev harjutus on aga natukese keerulisem, kuna leitakse andurile valgeva valguse valgustustihedust luksides. Selle tegemiseks on kasutusel ligikaudne arvutusvalem ja ujukoma arvud. Ujukoma arvud on C-keeles //float// ja //double// tüüpi, millega saab esitada murdarve. Nende puuduseks on suhteliselt suur ressursinõudlikkus. Arvutites on nende arvutamiseks spetsiaalne riistvara, 8-bitisel AVR mikrokontrolleril tehakse arvutused tarkvaras, mis võtab suhteliselt palju programmimälu ja aega. Kui puudused pole olulised, on ujukoma arvud väärt kasutamist.+Käesolev harjutus on aga natukese keerulisem, kuna leitakse andurile langeva valguse valgustustihedust luksides. Selle tegemiseks on kasutusel ligikaudne arvutusvalem ja ujukoma arvud. Ujukoma arvud on C-keeles //float// ja //double// tüüpi, millega saab esitada murdarve. Nende puuduseks on suhteliselt suur ressursinõudlikkus. Arvutites on nende arvutamiseks spetsiaalne riistvara, 8-bitisel AVR mikrokontrolleril tehakse arvutused tarkvaras, mis võtab suhteliselt palju programmimälu ja aega. Kui puudused pole olulised, on ujukoma arvud väärt kasutamist.
  
 [{{  :examples:sensor:photoresistor:sensor_photoresistor_vt935g_slope.png?260|VT935G valgustustiheduse (E) ja elektritakistuse (R) vaheline seos}}] [{{  :examples:sensor:photoresistor:sensor_photoresistor_vt935g_slope.png?260|VT935G valgustustiheduse (E) ja elektritakistuse (R) vaheline seos}}]
Line 82: Line 82:
  
 <code c> <code c>
-// Kodulabori fototakisti näidisprogramm.+// Kodulabori fototakisti näidisprogramm
 // LCD ekraanil kuvatakse ligikaudne valgustustihedus luksides // LCD ekraanil kuvatakse ligikaudne valgustustihedus luksides
 #include <stdio.h>  #include <stdio.h> 
Line 100: Line 100:
  lcd_gfx_init();   lcd_gfx_init(); 
  
-        //LCD taustavalguse tööle seadmine+        // LCD taustavalguse tööle seadmine
         lcd_gfx_backlight(true);         lcd_gfx_backlight(true);
      
Line 116: Line 116:
  
  // Lõputu tsükkel  // Lõputu tsükkel
- while (true)+ while (1)
  {  {
- // Fototakisti keskmistatud väärtuse lugemine+ // Fototakisti keskmise väärtuse lugemine
  adc_value = adc_get_average_value(13, 10);  adc_value = adc_get_average_value(13, 10);
- // Kodulabor 2 puhul:  + // Kodulabor II 
- // adc_value = adc_get_average_value(1, 10);+ //adc_value = adc_get_average_value(1, 10);
  
  // Pinge arvutamine ADC sisendis  // Pinge arvutamine ADC sisendis
  // Kodulabor II   // Kodulabor II
- // voltage = 5.0 * ((double)adc_value / 1024.0);+ //voltage = 5.0 * ((double)adc_value / 1024.0);
  // Kodulabor III  // Kodulabor III
  voltage = 2.0625 * ((double)adc_value / 2048.0);  voltage = 2.0625 * ((double)adc_value / 2048.0);
Line 131: Line 131:
  // Fototakisti takistuse arvutamine pingejaguris  // Fototakisti takistuse arvutamine pingejaguris
  // Kodulabor II  // Kodulabor II
- // resistance = (10.0 * 5.0) / voltage - 10.0;+ //resistance = (10.0 * 5.0) / voltage - 10.0;
  // Kodulabor III  // Kodulabor III
  resistance = (33.0) / voltage - 10.0;  resistance = (33.0) / voltage - 10.0;
   
- // Valgustustiheduse luksides arvutamine + // Valgustustiheduse luksideks arvutamine
  illuminance = 255.84 * pow(resistance, -10/9);  illuminance = 255.84 * pow(resistance, -10/9);
  // Muutuja ekraanile kuvamiseks selle kaheks  // Muutuja ekraanile kuvamiseks selle kaheks
et/examples/sensor/photoresistor.1425296253.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