Введение
Предлагаю любителям световых эффектов многофункциональный светодиодный стробоскоп на микроконтроллере фирмы Atmel - Attiny 13. Устройство может найти применение в автомобиле, мотоцикле или, на худой конец, велосипеде. Стробоскоп имеет достаточно простую схему, которую можно собрать за один вечер.
Схема стробоскопа
Транзисторы VT2, VT4, VT6 - биполярные n-p-n транзисторы общего назначения, например, BC547, BC847. Транзисторы VT1, VT3, VT5 - полевые транзисторы p-типа. Подбираются, исходя из вашей нагрузки.
К контактным площадкам JP3, JP4 подключаются светодиодные лампы или светодиоды плюсовым выводом. Номиналы резисторов R3, R8 выбираются исходя из требуемого тока по формуле R = (12 - Uled)/Iled. Где Iled - требуемый ток в амперах, Uled - прямое падение напряжения на светодиоде в вольтах при заданном токе. Значение Uled и допустимые токи Iled приводятся в даташитах на светодиоды. Если используются светодиодные лампы с питанием 12 В, резисторы R3, R8 не нужны.
Сирена или бузер со встроенным генератором подключаются плюсовым выводом к площадке JP5.
Минусовой вывод светодиодов и бузера - к JP2.
Микроконтроллер Attiny13 тактируется от внутреннего тактового генератора на частоте 9.6 МГц. При программировании нужно будет отключить внутренний делитель тактовой частоты. Остальные фъюз биты менять не нужно.
Описание работы
Устройство работает в двух основных режима: "габарит" и "стробоскоп".
Режим "габарит"
В этом режиме светодиоды выполняют функцию габаритов (то есть непрерывно светят). При нажатии кнопки S2 включается первый эффект стробоскопа на время удержания кнопки.
Длительное нажатие на S1 переключает устройство из режима "габарит" в режим "стробоскоп" и запускается последний выбранный световой эффект.
Режим "стробоскоп"
В режиме "стробоскоп" светодиоды вспыхивают по одной из семи заданных программ-эффектов. Переключение между эффектами осуществляется кратковременным нажатием на кнопку S1 и сопровождается короткими звуковыми сигналами, количество которых соответствует номеру эффекта.
Длительное нажатие на S1 переключает устройство из режима "стробоскоп" в режим "габарит", при этом раздается продолжительный звуковой сигнал.
Выбранные режимы, эффекты устройства сохраняются в EEPROM и загружаются при подачи питания. Поэтому при прошивке микроконтроллера нужно будет также прошить и EEPROM память, иначе при первом включении устройство может вести себя "неадекватно".
Программа
Проект сделан в Atmel Studio 6.1. Исходники приведены в конце статьи. При наличии знаний по Си, эффекты стробоскопа можно изменить по своему желанию. Все они описаны в файле led.c в виде последовательностей байтов. Например так выглядит первый эффект стробоскопа.
const uint8_t led_pr1[] PROGMEM =
{
LED1_ON |LED2_OFF, 5,
LED1_OFF|LED2_OFF , 5,
LED1_OFF |LED2_ON, 5,
LED1_OFF|LED2_OFF , 5,
REPEAT
};
Четные байты массива (0, 2, 4...) определяют состояние светодиодов, нечетные (1, 3, 5...) - временную задержку в десятках миллисекунд. Последовательность всегда должна заканчиваться константой REPEAT.
Видео работы стробоскопа
{youtube}6YY85OgZh_8{/youtube}
Исходник проекта и прошивка
Strobo-Proj-AS61.rar
Strobo-firmware.rar
Автор устройства - Юрий Гузиенко. Прошивку написал я.
Comments
У вас стоит на j3 цеплять сирену а подписано Led.
Также не пойму почему минус светодиода цепляется на j5 а не просто на минус.
И можете обьяснить про подключение минуса?
А что непонятно с подключением минуса?
А теперь ясно.
кстати на драйве то-же с тобой общались.
А если нагрузка будет небольшая то проще будет поставить обычные транзисторы.
И резистор R13 нужно поставить на 1,5К
Не трудно кому проверить печатку ?
А что за ошибки? У меня по прежнему проявляются неисправности. то самопроизвольно начинает моргать, то наоборот не запускается при нажатии на S2.
K150 прописать tiny13 не вышло.
А без LPT варианты есть? :roll:
Хочу чтобы остался один эффект 1й. Звуковое подтверждение не нужно. Функционал S2 остался тот же, а S2 переводит при длительном удержании в режим стробоскопов и габарита. И при сбросе питания всегда возвращался в режим габаритов. Буду очень благодарен за прошивку diagnostics@inbox.ru
нагрузка в каждом канале 6*1вт светодиодов
если не трудно скажите какие резисторы ставить в между контроллером и затвором и между завтором и +12в
Code:
PORTB = (0<<LED1)|(0<<LED2)|(0<<BUZ_PIN)|(1<<BUT_NUM)|(0<<CONTR_PIN);
(1<<BUT_NUM)
на Code:(0<<BUT_NUM)
, компилирую, моделирую в протеусе, но пр нажатии на кнопку S1, устройство реагирует неадекватно. Ножку PB1 вешаю на землю через резисторPORTB = (0<<LED1)|(0<<LED2)|(0<<BUZ_PIN)|(1<<BUT_NUM)|(0<<CONTR_PIN);
и поменяй значение BUT_NUM на 0.Далее, открой вкладку button.c найди эту строку Code:
if (!(BUT_PINX & (1<<BUT_NUM))){
и убери в ней дужку, знак восклицания и в конце еще одну дужку.Скомпилирую проект.
К ножке подключи тоже самое что и на второй кнопке.
А мог бы ты откомпиленной прошивкой прошивкой поделиться - управлять +12 гораздо удобнее а скачать компилятор инет не позволяет
выбрал ключи помощнее
убрал пищалку
решил что управлять на землю кнопками удобнее
думаю было бы хорошо управлять вообще одной кнопкой - длинное нажатие переключение строб/габарит, короткое однократно строб/переключе ние режима моргания.
Если хочешь могу поделиться печаткой под все SMD
Плюс между транзисторами irf9310 (они мощнее), биполярники bc847, LM-ка L7805CD2T корп D2pac.
https://yadi.sk/d/gJhU3hEYk8qQ9
Если сильны в программировани и может переделаете под одну кнопку? :)
*решил оставить биполярники - лень искать подходящие n-ключи
Подтягивается. Но можно в насторках МК выставить так же как на S1, меньше компонентов будет задействовано. Я на S2 не смотрел)))
Все думаю как упростить программу и понял что все эти эффекты в программах излишнее усложнение - можно объединить их в одну программу моргания. И просто менять режим строб/габарит одной кнопкой
1. при подаче питания с нажатой S2 сразу шел стробоскоп без двойного моргания, но если не нажата то все как обычно
2. чтобы контроллер на пищалку сразу выдавал частоту ~2кгц
Возможно ли модернизировать прошивку, добавив в неё задержку на включение ДХО?
После двух морганий задержка 3-5 секунд и ДХО включаются! Желательно, чтоб они разгорались плавно!
Свяжитесь со мной по братский
w666v@bk.ru
RSS feed for comments to this post