3.6. ИЗМЕРИТЕЛЬ ОСВЕЩЕННОСТИ
Если подключить фоторезистор (LDR) к одному из входов АЦП и произвести
калибровку, то получим измеритель освещенности, спектральная чувствительность
которого может иметь различные применения.
На рис. 3.3. изображена схема включения фоторезистора. Фоторезистор более
подходит для использования в измерителе освещенности (фотометре), чем солнечный
элемент для которого требуется усилить сигнал прежде чем подать его на вход АЦП,
работающего в диапазоне от 0 0 до 10 В. При изменении сопротивления фоторезистора
от 20 Ом (на свету) до 200 кОм (в темноте) напряжение поступающее на вход АЦП
от изображенной схемы изменяется от 0 до 9 В. Перевод этого напряжения в люмены
или другие единицы производится по формуле пересчета. Формула находится при
сравнении показаний с показаниями эталонного фотометра и может быть записана в
программе, например в таком виде:
Y-IN24*X/255
Если потребуется большие символы, то можно использовать программу "LARGE",
загрузив сначала программу в машиннных кодах и затем присоединив следующие
строки:
10 LET YS - 4.LET XS - LET CS - 8: LET Y - 100:
LET D$ - STR $ IN24: GOSUB 9390.
20 GOTO 10
соответственнно в STR $ можно использовать и калибровальную величину Y.
Фотометр может быть построен и на двух других типах светочувствительных
элементов: фотодиоде и фототранзисторе. На рис 3.3 показано как подключить эти
приборы. Фотодиод включается в обратной полярности, а нагрузочный резистор
подбирается для получения выходного напряжения подходящего для работы АЦП.
Фототранзистор подключается по схеме с "оборванной" базой, коллектор и эмиттер
подключаются стандартно, когда эмиттер заземлен. Нагрузочный резистор всегда
приходится подбирать, поскольку все фоточувствительные приборы по разному pea-
гируют на освещенность, цвет и дают разный выходной ток. Резистор подбирается с
помощью программы приведенной в разделе 3.4 до тех пор пока не будет получен
верный входной сигнал. Показания могут быть откалиброваны, если это необходимо,
путем использования подходящей формулы.
В начале этого раздела упоминалось о спектральной характеристике фоторезито-
ра. Большинство оптоэлектронных приборов более чувствительны к красной части
спектра и, особенно, к инфра-красной. Это делает их веема подходящими для исполь-
зования в устройствах на невидимых лучах, таких, например, как охранная сигнали-
зация. В то же время они могут применяться в устройствах использующих белый свет.
Если спектральная чувствительность эажна, как например в фотографии, то из всех
приборов более всего подходит фотодиод, особенно типа BPW21, который имеет
спектральную чувствительность чёловеческогоздаза. Этот прибор может быть ис-
пользован для измерения интенсивности света такках лрказано на рис.3.3. Однако он
невыгоден из-за своей цены; которая в 3 раза выше 46MORP12.
Более дешевый фотодиод можетбыть получен из германиевого или кремниевого
фототранзистора, еслиодпючить efb как показано на рй&З.З. С резистором в цепи
коллектора эта схема даепг на выше АЦП от 150 (в темноте) до 20(на свету). Многие
фототранзисторы используются соборванной цепью баз&н как фоторезисторы чув-
ствительны к красному краю спектра.
3.7. СИСТЕМА ДЛЯ ЦВЕТНОЙ ПЕЧАТИ
Энтузиастам фотографий;Гфояв^ющим че$»ИО^елые и цветные пленки может
быть полезен фотомер описанный й ]^аз;^е 3^6 н^гаймер с секундными и/или минут-
но-секундным отсчетом. Показания фотометра могут отображаться на экране TV
вместе с показаниями таймера. Кроме того окончание заданного интервала времени
может отмечаться звуковым сигналом.
Те пользватели, кому нужен маймер только с секундным отсчетом могут исполь-
зовать следующую прогамму:
LOAD "LARGE" и затем MERGE следующее:
10 РОКЕ 23672,0: РОКЕ 23693,0: РОКЕ 23674,0
20 LET Т - INT ((65536+РЕЕК 23674+256+РЕЕК 23673+РЕЕК 23672) /50)
30 LET YS - 4: LET XS - 4: LET CS - 8: LET Y - 100: LET D$ -
STR $T : GOSUB 9390— -=- -=r_ — - - -
40 GOTO 10 , j? ' -b : ; ^
Те, кому з^жньГминуты и секунды могут испольЗСюатьпрограмму: щг
LOAD "WRGW и затем MERGE следующие строки: ,г,_ ; 'Р' =
5 LET М-0: LET S-0
10 как и в предыдущей программе
20 LET Т - как и в предыдущей программе
30 IF S-59 THEN CLS
40 LET M - INT (Т/60): LET S - T- (M+60)
50 LET YS - 4 : LET XS - 4: LET CS - 8 : LET Y - 10: LET D$ -
STR$M: GOSUB 9390
60 LET Y-100: LET D$ - STR$S : GOSUB 9390
70 GOTO 20
Если требуется звуковая сигнализация, то можно включить в программу соответ-
ствующие строки.
Следующая сторка может быть включена в предыдущие программы для генерации
звукового сигнала после, например, 90 секундной выдержки:
45 IF М - 1 AND S - 30 THEN ВЕЕР 1,10
При выполнении этой строки таймер не сбрасывается, а продолжает отсчет време-
ни. Для сброса необходимо перезапустить программу. При необходимости в програм-
му могут быть встроены несколько подобных сток.
Для тех кто занимается проявлением цветных пленок и цветной печатью АЦП
может быть приспособлен для измерения красной, зеленой и синей состовляющих
пленки и отображения результатов на экране TV.
Ниже приведена программа обрабатывающая сигналы от трех фотоприемников
(описанных в разделе 3.6) подключенных ко входам АЦП с адресами 24, 25 и 26.
10 РОКЕ 23672,0: РОКЕ 23673,0: РОКЕ 23674,0
11 LET ш-0: LET s-0
20 LET t-INT ((65536*PEEK 23674+256*PEEK 23673+PEEK 23672) /50)
30 IF s-59 THEN CLS
40 LET m-INT (t/60): LET s-t- (m*60)
45 IF s-20 THEN BEEP 1,10
50 LET ys-4 LET: xs-4: LET cs-8: LET y-10: LET d$-STR$ m: GO SUB 9390
60 LET y-100: LET d$-STR$ s: GO SUB 9390
70 FOR z-1 TO 3
80 LET ys-2: LETxs-2: LET y-1 50: LETx-20f(70*(z-l)): LET d$-
STR$ IN (23+z): INK (z+1): GO SUB 9400: INK 0
90 NEXTz
100 GO TO 20
9390 LET x-(256-xs*cs*LEN d$)/2
9400 LET a-23306: POKE a,x: POKE a+1 ,y: POKE a+2,xs: POKE a+3,ys
:POKE a+4,cs: LET a-a+4: FOR i-1 TO LEN d$: POKE a+i,CODE
d$(i) : NEXT i: POKE a+i,255: RANDOMIZ E USR 32256: RETURN
Для компенсации различия в спектральной чувствительности фоторезисторов опе-
ратор STR$ может быть изменен:
STR $ IN (23+Z) *W/255
Также как и раньше может быть включена звуковая сигнализация окончания
заданного интервала времени. Необходимо отметить, что если TV будет устанавли-
ваться в темной фотокомнате, то яркость должна быть уменьшена до минимума.
3.8. СВЕТОВОЕ ПЕРО
Картинки и графики могут быть нарисованы на экране различными методами.
Могут непосредственно использоваться команды PRINT AT, PLOT, DRAW, и некото-
рые другие. С помощью джойстика можно выводить точки (PLOT) на экран. А
световым пером можно рисовать картинки непосредственно на экране для последую-
щей ссылки. Например некоторая обучающая программа может попросить иденти-
фицировать объект изображенный на экране. Ответить на вопрос можно коснувшись
световым пером соответствующего изображения на экране.
Световое перо не что иное как фотометр описанный в разделе 3.6 за исключением
того, что он помещен в трубку для концентрации света от небольшой проверяемой
области экрана. Световое перо подключается ко входу 7 платы АЦП и с помощью
соответствующей программы сигнал от светового пера вводится в СПЕКТРУМ.
Порядок работы светового пера следующий:
1. Экран гасится.
2. Белая линия сканирует экран сверху вниз, достигает позиции светового пера,
которое детектирует эту линию и определяет Y (вертикальную) координату своего
положения. Значение Y сохраняется в памяти.
4. Экран гасится.
5. Белая линия сканирует здрШсйева наггразо^детектируется световым пером. Так
определяется координата ^горизонтальная) светового пера. Значение X также со-
храняется в памяти. .. -;- -=-„,'-
6. Восстанавливается нормальный цвет экрана, например белый, и в позиции с
координатами (X,Y) выводится символ (например
Процесс создания изображенияна экране состоит ^ последовательном выводе
отдельных точек. Перед выводов/очередной точки программа в машинных кодах
сохраняет картинку в памяти, программа сканирования экрана определяет координа-
ты X,Y очередной точки указанной&ветовым пером, после чего на экране восстанав-
ливается изображение сохраненное в памяти и добавляется точка с координатами
(X,Y).
Далее приведены две альтернативных программы для управления световым пером:
1. Написанная на БЕЙСИКЕ с использованиёмг подпрограммы в машинных кодах.
2. Использующая только машйнныё'ходы;
Листинг программы на БЕЙСИКЕ:
10 CLEAR 44500
15 LET а-0: LET b-0
20 FOR хЧ) TO 41
30 READ n
40 POKE (65240+x),n______________
50 NEXTx *-_ ^ " - ""i V 4
60 DATA 17,215*227,33,0,64,6,27,197,6,0,126,18,19,35,16,249,19
3,16,244,201
70 DATA 17,0,64,33,215,227,6,2 7,197,6,Oil 26;l8,19,35,16,249,19
3,16,244,201
80 CLS: PRINT "Press any key" : PAUSE 0
90 LET 1-USR 65240
100 PAPER 0: INK 7: CLS
110 FOR x-21 TO 1 STEP -1
120 PLOT 0,8*x: DRAW 255,0
130 IF IN 65503<-10 THEN LET a-x: GO TO 150
140 NEXTx
150 CLS
160 FOR y-1 ТО 31
170 PLOT 8*y,0: DRAW 0,175
180 IF IN 65503<-l 0 THEN LET b-y: GO TO 200
190 NEXT у
200 INK 0: PAPER 7: CLS
210 LET 1-USR 65261
220 PRINT AT (21 -a) ,b;" "
230 PRINT AT 0,0;"Press any key to draw"
240 PAUSE 0: GO TO 90
Строки 10-70 - это подпрограмма в машинных кодах которая сохраняет картинку
в памяти и вновь выводит ее на экран.
Строка 80 - ожидание нажатия любой клавиши.
Строка 90 - сохранение картинки в памяти.
Строка 100 - гашение экрана.
Строки 110-140 - вертикальное сканирование.
Строки 160-190 - горизонтальное сканирование.
Строки 130 и 180 - определяется позиция светового пера подключенного ко входу
АЦП с адресом 30.
Строка 200 - восстановление белого цвета экрана.
Строка 210 - восстановление картинки на экране.
Строка 220 - вывод символа "0" с координатами (X,Y).
Строки 230 и 240 - запрос на вывод следующей -.очки.
Конструкция светового пера может быть любой. Соединительные провода должж-
ны быть длиной около 1 метра. Фоторезистор и фотодиод должен быть минимально
возможного размера (BPW 21 или BPW 65 подходят).
Ниже приведен листинг быстрой программы в машинных кодах. Алгоритм по
которому работает эта программа аналогичен алгоритму предыдущей программы на
БЕЙСИКЕ, исключая метод сканирования.
Сначала картинка сохраняется в памяти, затем световое перо позицируется на
экране для вертикального сканирования, и далее позицируется для горизонтального
сканирования, и наконец на экране восстанавливается картинка и добавляется новая
точка.
Листинг программы сканирования в машинных кодах:
Mnemonic Decimal Comments
Id hi,22528 33 (65 282)
0
88
Id c,255 14
255
Id e,22 30
22
Id d,32 22
Id (hi) ,c 113
in a (30) 219 . Ввод данных
30 . светового пера
sub 40 214 . Тест
40 . сканирования
jp m,65311 250
31
-"-У» -">
inc(hl) -35 " ; - , :
Id b,255 . .. 6 . 300)
255 . Задержка
dec b . : V 5 / / . . >
jr nz,-3 ; 32 й;-=
253 ; .
dec d 21 ^ > . Л
jr nz-17 ' 32
^ 239 .
dec e 29
jr nz-22 32 ;.:
234
Id c,d 122 (65 311)
Id 63744,a 50
1
249
ret 201 (65 319)
Координаты X,Y помещаются в ячейки памяи с адресом 63744 и 63745, которые
читает п]юрамма на БЕЙСИКЕ выводящая символ в указанную точку экрана.
Необходимо внимательно слёдитьза 1ём, щобы^вето^ое перо бьшшпрйжато к
экрану бё&зазора. Вели световое деро несколько отнести отэкрана, Щ оно будет
реагировать на смежные сгрокйили на отражений От экрана ТУ. Разумно также
уменьшить Зкещн£е осШцениеШяркость свечения жрана TV- X
Сканирование может быть выполнено за несколько миллисекунд, но за это время
электронный луч, создающий картинку на экране TV просканирует только часть
экрана. Стандартная частота TV развертки целого кадра 50 Гц. Поэтому скорость
сканирования в программе замедляется с помощью цикла задержки. Для увеличения
скорости сканирования (если это требуется) число 255 загружаемое в регистре В
можно уменьшить.
В приведенной ниже программе на БЕЙСИКЕ строки 60 и 70 содержат подпрог-
рамму в машинных кодах для сохранения и восстановления картинки аналогичную
ранее использованной. Строка 80 содержит приведенную выше программу сканиро-
вания в машинных кодах; остальное очевидно.
Небольшая модификация программы позволит выводить на экран любой символ
после каждого сканирования. Для этого необходимо добавить
95 LET A$ - " "
и заменить строку 160
160 PRINT AT0.0; "PRESS ТО DRAW": LET A$-INKEY$:
IF A$-" " THEN GOTO 160:GOTO 100
5 LET p-0: LET z-0
10 CLEAR 44500
20 FOR x-0 TO 79
30 READ n
40 POKE (65240+x),n
50 NEXTx
60 DATA 17,215,227,33,0,64,6,27,197,6,0,126,18,19,35,16,249,19
3,16,244,201
70 DATA 17,0,64,33,215,227,6,27,197,6,0,126,18,19,35,16,249,19
3,16,244,201
80 DATA 33,0,88,14,255,30,22,22,32,113,219,30,214,40,250,31,25
5,35,6,255,5,32,253,21,32,239,29,32,234,122,50,0,249,123,50,
1,249,201
90 CLS: PRINT "Press any key": PAUSE 0
100 LET HUSR 65240
110 PAPER 0: INK 7: CLS
120 LET l-USR 65282
130 INK 0: PAPER 7: CLS
140 LET 1-USR 65261
150 PRINT AT 21-(PEEK 63745),31-(PEEK 63744);" "
160 PRINT AT 0,0;"Press any key to draw": PAUSE 0: GO TO 100