5 ' --- Luxmètre numérique --- 10 const device = 3B 20 lcdinit : csroff 25 ' --- Configuration des variables --- 30 dim Ue as integer : dim Us as integer : dim R as integer : dim NUM as integer : dim DEN as integer 31 dim LDR as integer : dim DIV as byte : dim ECL as integer : dim ECLMOY as integer : dim ECLINTER as integer 32 dim S1 as byte : dim S2 as byte 33 dim N as integer 35 cls : locate 0,0 : print "*** Luxmetre ***" : locate 0,1 : print "(c) ELEKTOR 2008" 40 sound 11,159,4 : delay 5000 : cls 50 ' --- Mesure et calcul de la résistance de la LDR --- 60 Ue = 1023 : Us = 0 : ECL = 0 : ECLMOY = 0 : ECLINTER = 0 : R = 100 : DIV = R / 50 : N = 0 70 Us = ADIN(0) 80 if Us < 1023 then DEN = (Ue - Us) / DIV 90 NUM = ((Us/DIV) * R) 95 LDR = (NUM / DEN) * 10 100 gosub 1000 : ' SP Conversion LDR -> Eclairement 120 if ECL = 10 then locate 0,0 : print " Ecl. < 20 lx ":csroff 130 if ECL > 10 then locate 0,0 : print " Ecl. ="; dec (ECL);" lx " 140 locate 0,1 : print " Emoy ="; dec (ECLMOY);" lx " 150 delay 300 160 S1 = KEYIN (1,25) : S2 = KEYIN (2,25) 170 if S1 = 0 and S2 = 1 then locate 0,0 : print "- Memorisation -" : sound 11,159,16 : delay 1000 : sound 11,159,4 : locate 0,0 : print " Ecl. ="; dec (ECL);" lx " 180 if S1 = 0 and S2 = 1 then N = N + 1 : ECLINTER = ECLMOY*(N-1) : ECLMOY = (ECLINTER + ECL) / N 190 if S1 = 1 and S2 = 0 then ECLMOY = 0 : N = 0 : sound 11, 159,16 200 goto 70 1000 ' Sous-programme : conversion LDR -> Eclairement 1010 if LDR > 45528 then ECL = 10 1020 if LDR < 45528 then ECL = 20 1030 if LDR < 33850 then ECL = 30 1040 if LDR < 27430 then ECL = 40 1050 if LDR < 23301 then ECL = 50 1060 if LDR < 20394 then ECL = 60 1070 if LDR < 18221 then ECL = 70 1080 if LDR < 16526 then ECL = 80 1090 if LDR < 15163 then ECL = 90 1100 if LDR < 14039 then ECL = 100 1110 if LDR < 13094 then ECL = 110 1120 if LDR < 12287 then ECL = 120 1130 if LDR < 11589 then ECL = 130 1140 if LDR < 10978 then ECL = 140 1150 if LDR < 10438 then ECL = 150 1160 if LDR < 9957 then ECL = 160 1170 if LDR < 9525 then ECL = 170 1180 if LDR < 9135 then ECL = 180 1190 if LDR < 8781 then ECL = 190 1200 if LDR < 8458 then ECL = 200 1210 if LDR < 8162 then ECL = 210 1220 if LDR < 7889 then ECL = 220 1230 if LDR < 7637 then ECL = 230 1240 if LDR < 7403 then ECL = 240 1250 if LDR < 7185 then ECL = 250 1260 if LDR < 6982 then ECL = 260 1270 if LDR < 6792 then ECL = 270 1280 if LDR < 6614 then ECL = 280 1290 if LDR < 6446 then ECL = 290 1300 if LDR < 6289 then ECL = 300 1310 if LDR < 6140 then ECL = 310 1320 if LDR < 5999 then ECL = 320 1330 if LDR < 5865 then ECL = 330 1340 if LDR < 5739 then ECL = 340 1350 if LDR < 5618 then ECL = 350 1360 if LDR < 5504 then ECL = 360 1370 if LDR < 5395 then ECL = 370 1380 if LDR < 5291 then ECL = 380 1390 if LDR < 5191 then ECL = 390 1400 if LDR < 5096 then ECL = 400 1410 if LDR < 5005 then ECL = 410 1420 if LDR < 4917 then ECL = 420 1430 if LDR < 4834 then ECL = 430 1440 if LDR < 4753 then ECL = 440 1450 if LDR < 4676 then ECL = 450 1460 if LDR < 4601 then ECL = 460 1470 if LDR < 4529 then ECL = 470 1480 if LDR < 4460 then ECL = 480 1490 if LDR < 4393 then ECL = 490 1500 if LDR < 4329 then ECL = 500 1510 if LDR < 4267 then ECL = 510 1520 if LDR < 4207 then ECL = 520 1530 if LDR < 4148 then ECL = 530 1540 if LDR < 4092 then ECL = 540 1550 if LDR < 4038 then ECL = 550 1560 if LDR < 3985 then ECL = 560 1570 if LDR < 3934 then ECL = 570 1580 if LDR < 3884 then ECL = 580 1590 if LDR < 3836 then ECL = 590 1600 if LDR < 3789 then ECL = 600 1610 if LDR < 3743 then ECL = 610 1620 if LDR < 3699 then ECL = 620 1630 if LDR < 3656 then ECL = 630 1640 if LDR < 3614 then ECL = 640 1650 if LDR < 3573 then ECL = 650 1660 if LDR < 3534 then ECL = 660 1670 if LDR < 3495 then ECL = 670 1680 if LDR < 3458 then ECL = 680 1690 if LDR < 3421 then ECL = 690 1700 if LDR < 3385 then ECL = 700 1710 if LDR < 3350 then ECL = 710 1720 if LDR < 3316 then ECL = 720 1730 if LDR < 3283 then ECL = 730 1740 if LDR < 3250 then ECL = 740 1750 if LDR < 3219 then ECL = 750 1760 if LDR < 3188 then ECL = 760 1770 if LDR < 3157 then ECL = 770 1780 if LDR < 3128 then ECL = 780 1790 if LDR < 3099 then ECL = 790 1800 if LDR < 3070 then ECL = 800 1810 if LDR < 3042 then ECL = 810 1820 if LDR < 3015 then ECL = 820 1830 if LDR < 2989 then ECL = 830 1840 if LDR < 2963 then ECL = 840 1850 if LDR < 2937 then ECL = 850 1860 if LDR < 2912 then ECL = 860 1870 if LDR < 2888 then ECL = 870 1880 if LDR < 2864 then ECL = 880 1890 if LDR < 2840 then ECL = 890 1900 if LDR < 2817 then ECL = 900 1910 if LDR < 2794 then ECL = 910 1920 if LDR < 2772 then ECL = 920 1930 if LDR < 2750 then ECL = 930 1940 if LDR < 2729 then ECL = 940 1950 if LDR < 2708 then ECL = 950 1960 if LDR < 2687 then ECL = 960 1970 if LDR < 2667 then ECL = 970 1980 if LDR < 2647 then ECL = 980 1990 if LDR < 2627 then ECL = 990 2000 if LDR < 2608 then ECL = 1000 2010 if LDR < 2589 then ECL = 1010 2020 if LDR < 2571 then ECL = 1020 2030 if LDR < 2552 then ECL = 1030 2040 if LDR < 2534 then ECL = 1040 2050 if LDR < 2517 then ECL = 1050 2060 if LDR < 2499 then ECL = 1060 2070 if LDR < 2482 then ECL = 1070 2080 if LDR < 2465 then ECL = 1080 2090 if LDR < 2449 then ECL = 1090 2100 if LDR < 2433 then ECL = 1100 2110 if LDR < 2417 then ECL = 1110 2120 if LDR < 2401 then ECL = 1120 2130 if LDR < 2385 then ECL = 1130 2140 if LDR < 2370 then ECL = 1140 2150 if LDR < 2355 then ECL = 1150 2160 if LDR < 2340 then ECL = 1160 2170 if LDR < 2325 then ECL = 1170 2180 if LDR < 2311 then ECL = 1180 2190 if LDR < 2297 then ECL = 1190 2200 if LDR < 2283 then ECL = 1200 2210 if LDR < 2269 then ECL = 1210 2220 if LDR < 2255 then ECL = 1220 2230 if LDR < 2242 then ECL = 1230 2240 if LDR < 2229 then ECL = 1240 2250 if LDR < 2216 then ECL = 1250 2260 if LDR < 2203 then ECL = 1260 2270 if LDR < 2190 then ECL = 1270 2280 if LDR < 2178 then ECL = 1280 2290 if LDR < 2165 then ECL = 1290 2300 if LDR < 2153 then ECL = 1300 2310 if LDR < 2141 then ECL = 1310 2320 if LDR < 2129 then ECL = 1320 2330 if LDR < 2117 then ECL = 1330 2340 if LDR < 2106 then ECL = 1340 2350 if LDR < 2094 then ECL = 1350 2360 if LDR < 2083 then ECL = 1360 2370 if LDR < 2072 then ECL = 1370 2380 if LDR < 2061 then ECL = 1380 2390 if LDR < 2050 then ECL = 1390 2400 if LDR < 2039 then ECL = 1400 2410 if LDR < 2029 then ECL = 1410 2420 if LDR < 2018 then ECL = 1420 2430 if LDR < 2008 then ECL = 1430 2440 if LDR < 1998 then ECL = 1440 2450 if LDR < 1988 then ECL = 1450 2460 if LDR < 1978 then ECL = 1460 2470 if LDR < 1968 then ECL = 1470 2480 if LDR < 1958 then ECL = 1480 2490 if LDR < 1949 then ECL = 1490 2500 if LDR < 1939 then ECL = 1500 2510 if LDR < 1930 then ECL = 1510 2520 if LDR < 1920 then ECL = 1520 2530 if LDR < 1911 then ECL = 1530 2540 if LDR < 1902 then ECL = 1540 2550 if LDR < 1893 then ECL = 1550 2560 if LDR < 1884 then ECL = 1560 2570 if LDR < 1876 then ECL = 1570 2580 if LDR < 1867 then ECL = 1580 2590 if LDR < 1858 then ECL = 1590 2600 if LDR < 1850 then ECL = 1600 2610 if LDR < 1841 then ECL = 1610 2620 if LDR < 1833 then ECL = 1620 2630 if LDR < 1825 then ECL = 1630 2640 if LDR < 1817 then ECL = 1640 2650 if LDR < 1809 then ECL = 1650 2660 if LDR < 1801 then ECL = 1660 2670 if LDR < 1793 then ECL = 1670 2680 if LDR < 1785 then ECL = 1680 2690 if LDR < 1777 then ECL = 1690 2700 if LDR < 1770 then ECL = 1700 2710 if LDR < 1762 then ECL = 1710 2720 if LDR < 1755 then ECL = 1720 2730 if LDR < 1747 then ECL = 1730 2740 if LDR < 1740 then ECL = 1740 2750 if LDR < 1732 then ECL = 1750 2760 if LDR < 1725 then ECL = 1760 2770 if LDR < 1718 then ECL = 1770 2780 if LDR < 1711 then ECL = 1780 2790 if LDR < 1704 then ECL = 1790 2800 if LDR < 1697 then ECL = 1800 2810 if LDR < 1690 then ECL = 1810 2820 if LDR < 1684 then ECL = 1820 2830 if LDR < 1677 then ECL = 1830 2840 if LDR < 1670 then ECL = 1840 2850 if LDR < 1664 then ECL = 1850 2860 if LDR < 1657 then ECL = 1860 2870 if LDR < 1650 then ECL = 1870 2880 if LDR < 1644 then ECL = 1880 2890 if LDR < 1638 then ECL = 1890 2900 if LDR < 1631 then ECL = 1900 2910 if LDR < 1625 then ECL = 1910 2920 if LDR < 1619 then ECL = 1920 2930 if LDR < 1613 then ECL = 1930 2940 if LDR < 1607 then ECL = 1940 2950 if LDR < 1601 then ECL = 1950 2960 if LDR < 1595 then ECL = 1960 2970 if LDR < 1589 then ECL = 1970 2980 if LDR < 1583 then ECL = 1980 2990 if LDR < 1577 then ECL = 1990 3000 if LDR < 1571 then ECL = 2000 3010 return