Подсветка чайника с меняющимся цветом в зависимости от t

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Подсветка чайника с меняющимся цветом в зависимости от t

Сообщение ARV »

bad2cat писал(а):сколько бреда несут в массы программисты, возомнив себя богами?
электронщики несут не меньше.
как и менеджеры, врачи, продавцы и автомеханики.

"где у нас Бог? в 6-й палате, где раньше Наполеон был".
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Реклама
Аватара пользователя
bad2cat
Потрогал лапой паяльник
Сообщения: 379
Зарегистрирован: Пт июн 12, 2015 09:21:56
Откуда: Челяба-сити

Re: Подсветка чайника с меняющимся цветом в зависимости от t

Сообщение bad2cat »

ARV писал(а):
bad2cat писал(а):сколько бреда несут в массы программисты, возомнив себя богами?
электронщики несут не меньше. как и менеджеры, врачи, продавцы и автомеханики.
Ваша точка зрения ведёт к потокам мигрантов на мою землю. Вы ТВ смотрите? Про Европу сегодня?
"Рафик неувиноват - любой может стать преступником. У преступности нет национальности" и прочий садо-мазохистский бред.
Это всё ваша точка зрения. Судя по вашему профилю - вы и есть тролль. :))
Есть программисты - это изначально неудачники по жизни, сделавшие свой выбор в сферу, где им никто не сопротивляется и не мешает - только они наедине с проблемой (они же становятся веганами, Антиалкоголиками, наркоманами (из-за обилия денег в 10-е), антифа и прочий бред - сталкивался с этими проявлениями неоднократно, и ни одного железячника - это же не странно - это закономерность развития неуверенных в себе людей.)
Железячники бухают - это тоже закономерность. :))
Я тоже, в некотором роде, радиоинженер...
Реклама
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Подсветка чайника с меняющимся цветом в зависимости от t

Сообщение ARV »

bad2cat писал(а):Есть программисты - это изначально неудачники по жизни, сделавшие свой выбор в сферу, где им никто не сопротивляется и не мешает - только они наедине с проблемой (они же становятся веганами, Антиалкоголиками, наркоманами (из-за обилия денег в 10-е), антифа и прочий бред - сталкивался с этими проявлениями неоднократно, и ни одного железячника - это же не странно - это закономерность развития неуверенных в себе людей.)
как все запущено :facepalm:
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
bad2cat
Потрогал лапой паяльник
Сообщения: 379
Зарегистрирован: Пт июн 12, 2015 09:21:56
Откуда: Челяба-сити

Re: Подсветка чайника с меняющимся цветом в зависимости от t

Сообщение bad2cat »

Я так понял, что примеры и ссылочки не нужны?
И так всё ясно. а то ссылочки у меня есть.
Это те, которые пофиксены в инете, а сколько ещё бреда в жизни ? :))
Да хотя бы почитать радиокота. Этож клиника бешенных врачей-психиатров. :))
Я тоже, в некотором роде, радиоинженер...
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Подсветка чайника с меняющимся цветом в зависимости от t

Сообщение ARV »

bad2cat писал(а):Этож клиника бешенных врачей-психиатров.
сами-то вы буйный или тихопомешанный? ;)
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Реклама
Аватара пользователя
bad2cat
Потрогал лапой паяльник
Сообщения: 379
Зарегистрирован: Пт июн 12, 2015 09:21:56
Откуда: Челяба-сити

Re: Подсветка чайника с меняющимся цветом в зависимости от t

Сообщение bad2cat »

ARV писал(а):
bad2cat писал(а):Этож клиника бешенных врачей-психиатров.
сами-то вы буйный или тихопомешанный? ;)
А вы себя врачом считаете, или, как обычно, "вы тут не при чём"? :))
Я тоже, в некотором роде, радиоинженер...
Реклама
Nizam
Открыл глаза
Сообщения: 60
Зарегистрирован: Сб мар 06, 2010 15:44:00

Re: Подсветка чайника с меняющимся цветом в зависимости от t

Сообщение Nizam »

Добрый день. Прошил с последней (teapot.hex) прошивкой. работает нормально.. но вы исключили начальное пиликание и моргание красным в конце кипения. А цветовую схему можно упростить.. Цвета можно сделать как на картинке.
А вот еще калькулятор для удобства (RGB to Hexidecimal Converter) http://www.calculatorcat.com/free_calcu ... ider.phtml

Изображение

Печатная плата в DipTrace 3D
Изображение

Изображение

Изображение
Вложения
Na Attiny13 Common anode RGB 2.dip
Печатная плата проекта в DipTrace
(57.7 КБ) 395 скачиваний
Последний раз редактировалось Nizam Вт сен 08, 2015 11:01:05, всего редактировалось 2 раза.
Андрей СШ
Опытный кот
Сообщения: 806
Зарегистрирован: Ср май 06, 2015 06:41:27
Откуда: Благовещенск

Re: Подсветка чайника с меняющимся цветом в зависимости от t

Сообщение Андрей СШ »

Что касается пикания в начале, то надо только раскомментировать его в коде.

Цветовую схему тоже достаточно легко подправить.
Каждый цвет R, G и B можно задавать в диапазоне от 0-32.

Пульсация в процессе добавления программного ШИМ отвалилась, как вернуть пока не придумал. Мигание в принципе можно и сейчас сделать

Код: Выделить всё

15|   pulse: boolean := false;
106| when 81..110 => pulse := not pulse; if pulse then R := 32; else R := 0; end if; G := 0; B := 0; PINB_Bits(BEEP_pin) := true;
Вложения
teapot.zip
(11.49 КБ) 207 скачиваний
Nizam
Открыл глаза
Сообщения: 60
Зарегистрирован: Сб мар 06, 2010 15:44:00

Re: Подсветка чайника с меняющимся цветом в зависимости от t

Сообщение Nizam »

Сделал изменении но выдал ошибку при компиляции..((
Андрей СШ
Опытный кот
Сообщения: 806
Зарегистрирован: Ср май 06, 2015 06:41:27
Откуда: Благовещенск

Re: Подсветка чайника с меняющимся цветом в зависимости от t

Сообщение Андрей СШ »

Какую?

И код изменённый покажите.
Nizam
Открыл глаза
Сообщения: 60
Зарегистрирован: Сб мар 06, 2010 15:44:00

Re: Подсветка чайника с меняющимся цветом в зависимости от t

Сообщение Nizam »

Даже до переделки при компиляции (teapot.adb) выдает ошибку

C:\>cd teapot

C:\teapot>make
avr-gnatmake -XMCU=attiny13 -p -Pbuild.gpr -XAVRADA_MAIN=teapot
avr-gcc -c --RTS=rts/avr2 -gnatec=C:\WinAVR-20100110\lib\gnat\gnat.adc -gdwarf-2
-gnatwp -gnatwu -gnatn -gnatp -gnatVn -Os -gnatef -fverbose-asm -frename-regist
ers -mmcu=attiny13 -gnateDMCU=attiny13 -fdata-sections -ffunction-sections -I- -
gnatA C:\teapot\teapot.adb
C:\teapot\teapot.adb:62:18: "CLKPR_change" is undefined
C:\teapot\teapot.adb:63:18: "CLKPR_1" is undefined
C:\teapot\teapot.adb:106:32: duplication of choice value at line 105
avr-gnatmake: "c:\teapot\teapot.adb" compilation error
make: *** [teapot.elf] Error 4

C:\teapot>
Андрей СШ
Опытный кот
Сообщения: 806
Зарегистрирован: Ср май 06, 2015 06:41:27
Откуда: Благовещенск

Re: Подсветка чайника с меняющимся цветом в зависимости от t

Сообщение Андрей СШ »

Я же у себя исправил файл описания микроконтроллера. Добавил себе дополнительных констант для удобства.

CLKPR_change заменить на 2#1000_0000#
CLKPR_1 заменить на 0

что касается последней ошибки, то это диапазоны температуры пересекаются. Наверное, что бы не поломать плавное изменение к красному, надо задать начало последнего диапазона - 91°.
Nizam
Открыл глаза
Сообщения: 60
Зарегистрирован: Сб мар 06, 2010 15:44:00

Re: Подсветка чайника с меняющимся цветом в зависимости от t

Сообщение Nizam »

Почему то не хочет.. Вот что я изменил

with
Последний раз редактировалось Nizam Вт сен 08, 2015 12:55:23, всего редактировалось 1 раз.
Андрей СШ
Опытный кот
Сообщения: 806
Зарегистрирован: Ср май 06, 2015 06:41:27
Откуда: Благовещенск

Re: Подсветка чайника с меняющимся цветом в зависимости от t

Сообщение Андрей СШ »

Не CLKPR_0, а просто 0
when 59..90 =>
when 81..110 =>
Говорю диапазоны пересекаются. Надо или тот или другой сократить. Но если сократить 59..90, то красный не дойдёт до полного свечения.
Nizam
Открыл глаза
Сообщения: 60
Зарегистрирован: Сб мар 06, 2010 15:44:00

Re: Подсветка чайника с меняющимся цветом в зависимости от t

Сообщение Nizam »

Вот что получилось.
Последний раз редактировалось Nizam Вт сен 08, 2015 13:17:08, всего редактировалось 1 раз.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Подсветка чайника с меняющимся цветом в зависимости от t

Сообщение ARV »

а что это за язык у вас какой-то странный? :shock: и вроде как GCC поддерживается :dont_know:
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Nizam
Открыл глаза
Сообщения: 60
Зарегистрирован: Сб мар 06, 2010 15:44:00

Re: Подсветка чайника с меняющимся цветом в зависимости от t

Сообщение Nizam »

Андрей очень извиняюсь.. А можно чтобы ты поправил последний файл (teapot.adb) . Добавь пожалуйста пиликание в начале и мограние красного во время кипения (Как в старой прошивке)
За ранее спасибо..
Андрей СШ
Опытный кот
Сообщения: 806
Зарегистрирован: Ср май 06, 2015 06:41:27
Откуда: Благовещенск

Re: Подсветка чайника с меняющимся цветом в зависимости от t

Сообщение Андрей СШ »

Исправил.

Но я разобрал макетку, так что проверить не на чем.
ARV писал(а):а что это за язык у вас какой-то странный?
Ничего странного. Обычная Ада, образца 1995-го года.
Спойлер

Код: Выделить всё

with 
	AVR, 
	AVR.MCU, 
	AVR.Wait,
	AVR.Interrupts,
	Interfaces,
	One_Wire,
	
	interrupt_handler; 

use AVR, AVR.MCU,Interfaces, interrupt_handler;

procedure teapot is 

	
		
	low_byte, high_byte: Unsigned_8 := 0; 
	
	t: Unsigned_8 := 1; 
		
	procedure Wait_ms is 
	new AVR.Wait.Generic_Busy_Wait_Milliseconds(Crystal_hertz => SYS_CLK);

	state: Bit_Number := 7;
	
	beep_mode: boolean := false;
	
	procedure switch_color(e: Bit_Number) is
	begin
		if e=state then Wait_ms(800); return; end if;
		for i in 0..255 loop
			for j in 1..255 loop
				PORTB_Bits(state) := (j>i);
				PORTB_Bits(e) := (j<=i);				
			end loop;
			if beep_mode then 
				PINB_Bits(BEEP_pin) := (i mod 64)=0;
			else beep := false;
			end if;
		end loop;
		state := e;
		red := red_pin = state;
		blue := blue_pin = state;
		green := green_pin = state;
	end switch_color;
	

	error_count: Unsigned_8 := 0;	
	
	pulse: boolean := false;
          
  CLKPR_change: constant Unsigned_8 := 2#1000_0000#;
  CLKPR_1: constant Unsigned_8 := 0;
	
	
begin

	RED := low;
	GREEN := low;
	BLUE := low;
	BEEP := low;
	
	DDRB_Bits := (0..3 => DD_Output, others => DD_Input);
	
	TCCR0B := 2;
	TIMSK0_Bits(TOIE0_Bit) := true;
	
	CLKPR := CLKPR_change;
	CLKPR := CLKPR_1;
	
	BEEP := true;
	wait_ms(700);
	BEEP := false;
	wait_ms(700);
	BEEP := true;
	wait_ms(700);
	BEEP := false;
	
	AVR.Interrupts.Enable;
	
	loop 
	
		if One_wire.Reset then 
			One_Wire.Send_command(16#CC#);
			One_Wire.Send_command(16#44#);
			error_count := 0;
		else
			error_count := error_count + 1;
		end if;		
		
		Wait_ms(800);
		
		if One_wire.Reset then
			One_Wire.Send_command(16#CC#);
			One_Wire.Send_command(16#BE#); 
			low_byte := One_wire.Get; 
			high_byte := One_wire.Get;
			error_count := 0;
		else
			error_count := error_count + 1;
		end if;
		
		high_byte := shift_left(high_byte,4) and 2#0111_0000#; 		
		low_byte  := shift_right(low_byte,4) and 2#0000_1111#;
		t := high_byte or low_byte;
		
		case t is
			when 1..10 =>	R := 16;		G := 0;			B := 16;		BEEP := false;
			when 11..26 =>	R := 26 - t;		G := 0;			B := 16 + (t-10);	BEEP := false;
			when 27..58 =>	R := 0;			G := t-26;		B := 32 - (t-26);	BEEP := false;
			when 59..90 =>	R := t-58;		G := 32 - (t-58);	B := 0;			BEEP := false;
			when 91..110 =>	pulse := not pulse; if pulse then R := 32; else R := 0; end if; G := 0; B := 0; BEEP := pulse;
			when others => error_count := error_count + 1;
		end case;
		
		if error_count>2 then R := 32; G := 32; B := 32; BEEP := true; end if;
		

	end loop; 
	
end teapot;
Вложения
teapot.hex
(2.2 КБ) 363 скачивания
Nizam
Открыл глаза
Сообщения: 60
Зарегистрирован: Сб мар 06, 2010 15:44:00

Re: Подсветка чайника с меняющимся цветом в зависимости от t

Сообщение Nizam »

Спасибо Андрей.. Все отлично ..
Nizam
Открыл глаза
Сообщения: 60
Зарегистрирован: Сб мар 06, 2010 15:44:00

Re: Подсветка чайника с меняющимся цветом в зависимости от t

Сообщение Nizam »

Андрей добрый день. Я изменил частоту начального пиликания. А вот пиликание в конце кипения не могу.. менял (i mod 64) на 32 не помогло((
if e=state then Wait_ms(800); return; end if;
for i in 0..255 loop
for j in 1..255 loop
PORTB_Bits(state) := (j>i);
PORTB_Bits(e) := (j<=i);
end loop;
if beep_mode then
PINB_Bits(BEEP_pin) := (i mod 64)=0;
else beep := false;
end if;
Ответить

Вернуться в «AVR»