Страница 1 из 2

100 эффектов RGB

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

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
а в цикл закрутить ни как? :facepalm:

Re: 100 эффектов RGB

Добавлено: Ср янв 11, 2012 00:16:23
просто КОТ
Чё его крутить то?! К нему приписать остальное, а потом закрутить уже!

Re: 100 эффектов RGB

Добавлено: Ср янв 11, 2012 00:28:56
Maks
Я бы сделал то потухнет, то погаснет.
Думаю хорошо бы смотрелось. Правда программу писать я пас. :cry:

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 писал(а): то потухнет, то погаснет
:shock:

Re: 100 эффектов RGB

Добавлено: Ср янв 11, 2012 17:11:58
просто КОТ
Мда, с Вами ничего антиресого не сделаешь -- всем лень! :evil: :evil: :evil:

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
МитяРа
просто КОТ писал(а):А из двух -- даже не знаю, что можно сделать. . .
Делаешь игрушку-кошку, а вместо глаз - РЖБшники..
Встраиваешь в кошку динамик и "датчик хозяина"..
Если хозяин протянул руку, то кошка плавно "зелёними" глазами мигает, а если чужой - то глаза семафорят "красно-оранжевым" и кошка шипит..

Вот такая идея.. :tea:

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