Страница 1 из 2
100 эффектов RGB
Добавлено: Вт янв 10, 2012 21:39:16
просто КОТ
Итак, у мя появилась идея: каждый желающий положит сюда по 1 эффекту на RGB светодиоде, а потом некто все эти эффеты соединит в 1 большую (ну, или не очень) программу!
Естественно, при желании можно давать и более 1 эффекта. Правила такие:
Эффекты не должны повторяться!
Эффекты должны быть пронумерованы!
Все эффекты должны выполняться 1RGB светодиодом!
К каждому эффекты должен прикладываться фрагмент кода!
Ну, вроде всё. Ждёмс. . .

Re: 100 эффектов RGB
Добавлено: Вт янв 10, 2012 21:42:21
s64
ну так и начал бы.
№1. моргнуть зелёным.
Re: 100 эффектов RGB
Добавлено: Вт янв 10, 2012 21:52:13
просто КОТ
Не, ну так несчитается! Если моргать, то это моргнуть каждым цветом, раза по 2!
А в качестве МК предлагаю АТтини13
так как их у мя много!
З.Ы. Подключение светодиода предлагаю такое --
РВ0 красный,
РВ1 синий, а
РВ2 зелёный. Тактовая частота 4МГц. Питание -- 4,5В. Вроде всё!
Re: 100 эффектов RGB
Добавлено: Вт янв 10, 2012 22:04:08
просто КОТ
Так что №1 -- перемигивание!
Код: Выделить всё
1<<PINB0
delay_ms(700)
0<<PINB0
1<<PINB1
delay_ms(700)
0<<PINB1
1<<PINB2
delay_ms(700)
0<<PINB2
1<<PINB0
delay_ms(700)
0<<PINB0
1<<PINB1
delay_ms(700)
0<<PINB1
1<<PINB2
delay_ms(700)
0<<PINB2
Как-то так я освоил программирование. . .
Re: 100 эффектов RGB
Добавлено: Вт янв 10, 2012 23:47:03
s64
а в цикл закрутить ни как?

Re: 100 эффектов RGB
Добавлено: Ср янв 11, 2012 00:16:23
просто КОТ
Чё его крутить то?! К нему приписать остальное, а потом закрутить уже!
Re: 100 эффектов RGB
Добавлено: Ср янв 11, 2012 00:28:56
Maks
Я бы сделал то потухнет, то погаснет.
Думаю хорошо бы смотрелось. Правда программу писать я пас.

Re: 100 эффектов RGB
Добавлено: Ср янв 11, 2012 01:05:32
Flasher
Рекомендации к теме:
Для начала необходимо создать платформу, описать примитивы, обеспечить ШИМ. Потом предлагать писать код и говорить о чем-то конкретном.
Лучше обеспечить эффекты для нескольких светодиодов- востребованнее будет.
Re: 100 эффектов RGB
Добавлено: Ср янв 11, 2012 16:34:03
просто КОТ
Да мне вот просто интересно стало -- что можно с ОДНИМ светодиодом сделать?! Пусть даже и РГБ. Это типа фонарика ночника выйдет, можно например попугая заворожить. . .
Re: 100 эффектов RGB
Добавлено: Ср янв 11, 2012 16:55:41
Engineer_Keen
ИМХО единственный приемлемый спецэффект на одном RGB светодиоде это плавное уменьшение/увеличение одного или нескольких компонент цвета. Примерно как я делал
тут (только там было 2 канала). А всякие мигалки/мерцалки просто раздражают.
Re: 100 эффектов RGB
Добавлено: Ср янв 11, 2012 16:56:52
SERJ
просто КОТ писал(а):что можно с ОДНИМ светодиодом сделать?
Maks писал(а): то потухнет, то погаснет

Re: 100 эффектов RGB
Добавлено: Ср янв 11, 2012 17:11:58
просто КОТ
Re: 100 эффектов RGB
Добавлено: Ср янв 11, 2012 17:14:44
МитяРа
просто КОТ писал(а):с Вами ничего антиресого не сделаешь
А мя ничего
антиресого и не делаем никогда..

Re: 100 эффектов RGB
Добавлено: Ср янв 11, 2012 17:16:04
просто КОТ
Ну ладно-ладно! интересного!
Re: 100 эффектов RGB
Добавлено: Ср янв 11, 2012 17:17:12
просто КОТ
Вот ТЫ МитяРа -- друг Кота, КОТ-2011 и просто авторитет. Тебе что, нечего предложить?!
Re: 100 эффектов RGB
Добавлено: Ср янв 11, 2012 17:18:46
МитяРа
просто КОТ писал(а):нечего предложить?!
Для одного РЖБшника - нет простора для творчества..
Вот если-бы их два было, то есть одна "кошачья" идейка..
Re: 100 эффектов RGB
Добавлено: Ср янв 11, 2012 17:23:06
просто КОТ
Предлагай, может и 2. Просто когда их много, все эффекты сводятся к бегущим огням. А из двух -- даже не знаю, что можно сделать. . .
Re: 100 эффектов RGB
Добавлено: Ср янв 11, 2012 17:34:16
МитяРа
просто КОТ писал(а):А из двух -- даже не знаю, что можно сделать. . .
Делаешь игрушку-кошку, а вместо глаз - РЖБшники..
Встраиваешь в кошку динамик и "датчик хозяина"..
Если хозяин протянул руку, то кошка плавно "зелёними" глазами мигает, а если чужой - то глаза семафорят "красно-оранжевым" и кошка шипит..
Вот такая идея..

Re: 100 эффектов RGB
Добавлено: Ср янв 11, 2012 17:42:11
просто КОТ
А если забыл покормить -- синеют что ли?!
Нет, хочется просто светильник, с эффектами. Кто ещё может предложить?!
Re: 100 эффектов RGB
Добавлено: Ср янв 11, 2012 17:46:15
просто КОТ
Эффект №2 -- плавная смена цвета!
Код: Выделить всё
.def red = r1 ; Счетчик прерываний
.def green = r2
.def blue = r3
.def co4=r16
.def co3=r17 ; Общий регистр отсчёта времени
.def tmph = r19 ; Рабочий регистр главной программы
.def ct1 = r20 ; Рабочий регистр главной программы
.def ct2 = r21 ; Рабочий регистр главной программы
.def co1 = r24 ; Общий регистр таймера
.def co2 = r25 ; Буфер для временного хранения содержимого SREG
.equ time1=20 ;задержка смены цвета 1
.equ time2=20 ;задержка смены цвета 2
.equ Time =5
.cseg
rjmp Initial ; После сброса – к главной программе
reti
reti
reti
reti
rjmp timer ; Прерывание по переполнению T/C0
;ooooooooooooooooMAINoooooooooooooooooooo
main:
nop
rjmp main
;--------------- ШИМ ---- END ----------------
;------------------------ TIMER 0 BEGIN -----------------
timer:
;push tmph
;push vrm2
;in vrm2,sreg
;push vrm2
inc co1
cpi co1,255
brlo m0
ldi co1,32
m0:
mov tmph, red
cp tmph,co1
brlo m1
sbi portb,0
rjmp m2
m1:
cbi portb,0
m2:
mov tmph, green
cp tmph,co1
brlo m11
sbi portb,1
rjmp m21
m11:
cbi portb,1
m21:
mov tmph, blue
cp tmph,co1
brlo m12
sbi portb,2
rjmp m22
m12:
cbi portb,2
m22:
inc ct1
cpi ct1,time1
brlo ctm1
inc ct2
clr ct1
ctm1:
cpi ct2,time2
brlo ctm02
clr ct2
rjmp ctm03
ctm02:
rjmp ctm2
ctm03:
;***************** ROTATE COLOR *****************
cpi co2,198
brlo cl1
clr co2
cl1:
cpi co2,32-1
brlo col_10
rjmp col_11
col_10:
mov tmph,green
subi tmph,-4
mov green,tmph
mov tmph,red
subi tmph,4
mov red,tmph
col_11:
cpi co2,65-1
brlo col_20
rjmp col_21
col_20:
cpi co2,32+1
brlo col_21
mov tmph,red ; red min
subi tmph,4
mov red,tmph
mov tmph,green ;green max
subi tmph,-4
mov green,tmph
col_21:
cpi co2,98-1
brlo col_30
rjmp col_31
col_30:
cpi co2,65+1
brlo col_31
mov tmph,blue
subi tmph,-4
mov blue,tmph
mov tmph,green
subi tmph,4
mov green,tmph
col_31:
cpi co2,131-1
brlo col_40
rjmp col_41
col_40:
cpi co2,98+1
brlo col_41
mov tmph,green ; green min
subi tmph,4
mov green,tmph
mov tmph,blue ; blue max
subi tmph,-4
mov blue,tmph
col_41:
cpi co2,164-1
brlo col_50
rjmp col_51
col_50:
cpi co2,131+1
brlo col_51
mov tmph,red
subi tmph,-4
mov red,tmph
mov tmph,blue
subi tmph,4
mov blue,tmph
col_51:
cpi co2,197-1
brlo col_60
rjmp col_61
col_60:
cpi co2,164+1
brlo col_61
mov tmph,blue ; blue min
subi tmph,4
mov blue,tmph
mov tmph,red ;red max
subi tmph,-4
mov red,tmph
col_61:
inc co2
;***************** ROTATE COLOR ******* END *****
ctm2:
ldi tmph,$ff-Time ; Передаем начальное значение для
out TCNT0,tmph ; таймера 0
reti
;------------------------- TIMER 0 END -------------------
Initial:
clr tmph
mov green,tmph
mov blue,tmph
clr co1
clr co2
clr co3
clr co4
ldi tmph,255
mov red,tmph
;ldi tmph,RamEnd
;out spl,tmph ; Инициализация стека
ldi tmph,0b11111111
out DDRB,tmph ; Все разряды порта В - выход
ldi tmph,0b00000111 ; Включаем светодиоды 0..3
out PortB,tmph
ldi tmph,$02 ; С помощью разряда TOIE0 разрешаем
;out TIMSK,tmph ; прерывание по переполнению T/C0
;ldi tmph,$ff-Time ; Передаем начальное значение для
out TCNT0,tmph ; таймера 0
ldi tmph,0b10001010 ; С помощью разряда TOIE0 разрешаем
out TIMSK,tmph ; прерывание по переполнению T/C0, T/C1
ldi tmph,$ff-Time ; Передаем начальное значение для
out TCNT0,tmph ; таймера 0
ldi tmph,0b00111111
out MCUCR,tmph ;внешние прерывания по переднему фронту
ldi tmph,0b11000000
out GIMSK,tmph ;разрешаем внешние прерывания
ldi tmph,0b00000010 ; Устанавливаем коэффициент деления
out TCCR0,tmph ; и тем самым запускаем T/C0
sei ; Общее разрешение прерываний
ldi tmph,0b00000111 ; Включаем светодиоды 0..3
out PortB,tmph
rjmp main