151
Например, кадру 1 соответствует включение всех светодиодов. Этот кадр повторяется 10 раз в течение импульса синхронизации. Поскольку призма вращается со скоростью примерно 300 об/мин, то для включения эффекта в течение 0,5 с необходимо около 150 кадров (300 кадров в секунду). Точнее количество кадров можно выяснить по длительности импульса синхронизации.
В дальнейшем с помощью хороших зеркал и сфокусированного света светодиодов можно формировать надписи и даже изображения, поскольку кадр может состоять из нескольких десятков строк.
По аналогии с телевидением светодиоды в конструкции установлены тетрадами, комбинация цвета в котором формирует пиксель. Тетрады бывают двух видов: наклонная и треугольная. Для упрощения конструкции мы выбрали первый вариант, однако для формирования изображения предпочтительнее второй вариант.
Светодиоды следует гасить, пока импульс синхронизации не спадет до минимума. При этом размах светового пятна сузится. Если гашение происходит с задержкой после ниспадающего фронта, то у светового пятна будет затухающий след. Если перейти на программу формирования включения и выключения светодиодов независимо от синхронизации относительно вращения и синхронизировать по равным промежуткам отсчета таймера, то возникнут прерывистые световые отрезки и затухающие/вспыхивающие световые пятна. Все это можно комбинировать с изменением цвета или комбинацией цветов.
Кроме изменения светового потока, можно изменять направление вращения призмы. В результате можно создать цветовой хаос или изменчиво мелькающую картину (художественный образ). Порядок включения светодиодов указан в табл. 7.1, где указаны различные варианты включения комбинации светодиодов относительно прямого и обратного вращения двигателя, с запаздывание по фронту, с независимой работой без синхронизации, с узким следом и с широким следом свечения. Автор предлагает несколько простых световых эффектов. Для расширения возможностей устройства можно добавить любые эффекты на свой вкус.
Программа на ассемблере представлена в листинге 7.1, а шестна-дцатеричный код — в листинге 7.2. Соответствующие файлы prizma3. asm и prizma3.hex находятся на прилагаемом к книге компакт-диске в папкеПрограммы - Призма.
152
Глава 7
Лмстич- 7 1 Про'рамча управления световыми эффектом "Призила"
.include "C:\Program Fiies\Atmei\AVR Studio\Appnotes\m8def.inc"
;Автор: Кравченко А.З.
;Дата: 19.10.2007
;Версия: 1.1.3
;Имя файла: Prizma3.asm
/Микроконтроллер: AVR mega8.
.•Тактовая частота: 4мГц
;Питание: стабилизированное 5 3
def |
tmp |
= |
rl6 |
def |
coc |
= |
rl7 |
def |
vih |
= |
rl8 |
def |
tempo |
= |
rl9 |
def |
pir |
= |
r22 |
def |
tmp3 |
= |
r23 |
def |
tt2 |
= |
r2 0 |
def |
Y |
= |
r2 9 |
def |
X |
= |
r30 |
def |
pur |
= |
r2 6 |
def |
adr |
= |
rO |
def |
prgl |
= |
r2 4 |
def |
prg2 |
= |
r2 5 |
def |
tmp2 |
= |
r2 7 |
def |
cadr |
= |
r2 8 |
def |
tp |
= |
г21 |
def |
par |
= |
г31 |
. cseg
.•Начало области памяти, вектор прерывания . org 0
rjmp |
RESET |
||
пор |
;rjmp |
INTO |
|
пор |
;rimp |
INT1 |
|
пор |
;rjmp |
TIMER2 |
COMP |
пор |
;rjmp |
TIMER2 |
OVF |
пор |
; rjmp |
TIMER1 |
С APT |
пор |
;rjmp |
TIMER1 |
COMPA |
пор |
;rjmp |
TIMER1 |
COMPB |
пор |
;rjmp |
TIMER1 |
OVF |
пор |
; rjmp |
TIMERO |
OVF |
пор |
;rjmp |
S?I, STC |
|
пор |
; rjmp |
USART, |
RXC |
пор |
; rjmp |
"JSART, |
UDRE |
пор |
;r jmp |
USART, |
TXC |
пор |
; rimp |
ADC |
Световой эффект "Призма"
НА ГЛАВНУЮ | | ЧТО ТАКОЕ PIC ? | | ПРОГРАММАТОР | | ПРОЕКТЫ | | СТАТЬИ | | ССЫЛКИ | | КАРТА САЙТА |