Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home3/mrwolfeu/public_html/zps-electronics.com/index.php on line 14

Deprecated: Function ereg() is deprecated in /home3/mrwolfeu/public_html/zps-electronics.com/index.php on line 27
Световые эффекты на PIC16F84 <- ZPS-electronics
 
   

  Звук
  Свет
  Радио
  Питание
  PC & GSM
  PIC и AVR
  Разное
  Справка
  Верстак
  Техника


  ФОРУМ

 

 

 

схемы электронных устройств

 

 

все темы форума одной страницей

 

 

DIY Projects

Световые эффекты на PIC16F84  
Автор: ZPS   Добавлено: 28.04.2004


Схема управляет 8 светодиодами и контролируется 4 кнопками.

PIC16F84 - программируемый микроконтроллер и для работы схемы понадобится залить в него прошивку. Указания как это сделать будут даны ниже.
Этот микроконтроллер был выбран только потому, что у меня их много и его не жалко пускать на эксперименты. Можно использовать более мощный и практически аналогичный по структуре контроллер - PIC16F628, для этого возможно понадобится внести небольшие изменения в код программ. Как это сделать описано в документации на сайте производителя.

Теперь к делу.
Схема:

Я собирал схему с нуля, но можно использовать макетку описаную в статье "Макетка для PIC16x84".
В схеме в качестве тактового генератора используется RC цепочка из резистора 4.7к и конденсатора 22p.
Светодиоды подключаются к выводам 0-7 порта B (PORTB) через резисторы в 440ом.
Кнопки подключены к выводам порта A (PORTA). Выводы RA0-RA2 и RA4 соединены через кнопки с землей и через резисторы в 1к (у меня 1.5к) с плюсом питания. Резисторы нужны чтобы на входе порта был log1. При нажатии на кнопку соответственно будет log0. Это используется в программе.
На вывод RA3 повешен индикаторный светодиод через резистор.

Прошивка:
Исходник прошивки пока не предлагаю - слишком сырая, да и учиться по ней не стоит, тк. написана она на языке C начинающим программистом МК. Тоесть мной. Программа занимает примерно 97% памяти контроллера и содержит 9 эффектов. Для 9 простых эффектов 97% это слишком много, если код оптимизировать, то он будет раза в 2 меньше. Но пока это не важно, главное что оно работает.
Скомпилированый фаил для заливки в контроллер лежит тут.
Для заливки его в контроллер я рекомендую использовать JDM программатор и программу IC-Prog.
NB! прошивка не содержит конфигурации контроллера - в программаторе нужно будет вручную выбрать тип генератора (для этой схемы - RC, для макетки - XT) и отключить WDT. В icprog это делается справа от окна с кодом программы.

Управление схемой:
RA0 - Stop
RA1 - Start
RA2 - Speed
RA4 - Next
Кнопка Start запускает выбранный эффект.
Кнопка Next - переход к следующему эффекту. Если нажать кнопку и не отпускать, загорится сигнальный диод. Теперь если не отпуская кнопки нажать кнопку STOP, будет выбран первый эффект, а если нажать кнопку START, схема перейдет в режим кругового повторения эффектов.
Кнопка Stop останавливает эффект и отключает круговое повторение.
Кнопка Speed - при удерживании этой кнопки загорается сигнальный диод и диоды на portB. Кол-во горящих светодиодов соответствует выбранной скорости. Скорость можно регулировать кнопками Start и Stop (не отпуская speed).

Индикация:
При нажатии на кнопку Next происходит переход к следующему эффекту и пока кнопка остается нажатой, диоды на PORTB показывают номер эффекта в двоичной системе.
При нажатии на кнопку Speed на диодах PORTB высвечивается столбик (1-8) диодов в зависимости от текущей скорости.
Сигнальный диод (RA3) загорается тогда, когда активируются дополнительные функции кнопок Stop и Start, т.е. когда удерживается кнопка Speed или кнопка Next.

Для тех, кто собирает на макетке:
Вот "схема" подключения деталей.

При программировании контроллера нужно будет выставить тип генератора - XT(кварц).
Возможны проблемы со скоростью, тк. в программе контроллера всё расчитано на RC цепочку, а кварц отличается по частоте и контроллер скорее всего будет работать быстрее => меньше паузы и больше скорость переключения диодов.
Удачи в экспериментах!


Добавлено 2 мая 2004 :

Radist* проверил схему на макетке и прислал фотографии.



Добавлено 18 мая 2004 :

Radist* прислал видео демонстрирующее часть функций схемы.
Качать здесь (1,71мБ - DivX 4.12).






Комментарии посетителей:
Radist*
Сегодня опробую =))) Зыыы...
Radist*
Собрал, запрограммил - всё работает! Завтра или даже уже сегодня пришлю фотки, а то их-то какраз к этой статье и не хватает! ...да надобы какую-нибудь книжку хорошую поискать или статью в и-нете про писание собственноручной прошивки. А то какраз этого мне и не достаёт =(
ZPS
Radist*
я хотел сделать фотки, но с фотиком не вышло пока...

Книжку по пикам я нормальную не нашел - справочники только, а хочется что-то типа самоучителя...

Я могу дать пример прошивки простейший, но не могу ручаться, что он будет правильным... В результате может получиться так, что человек, начав изучение по моей прошивке, в самом начале получит неверные знания и ему придется переучиваться.
Radist*
Вот я тоже ищю такую книжку, хотя на польском уже нашёл, но программирование ПИКов по нему изучать - это просто ужас!
Guest_mega_w
mogu na Angliiskom podkinut'..
Guest_Kar@mba
А кварц на макетке какой стоит? Если 4МГЦ - тогда действительно управление скоростью будет проблематично работать. На макетке для некритичных по скорости приложениях парем ставить кварц от часов - 32.768 кГц вроде. При такой скорости генерации нет необходимости делать долгие задержки между циклами, да и поэкономичней это намного. П.С: При использовании RC-цепи есть возможность управлять скоростью генерации ИЗ ПРОГРАММЫ...
microbios
"..да надобы какую-нибудь книжку хорошую поискать или статью в и-нете про писание собственноручной прошивки. А то какраз этого мне и не достаёт =("

http://pic16f84.narod.ru/nach.htm - может быть это вам подойдет?


Mihail
Рекомендую посмотреть эту ссылку http://www.nscalp.narod.ru/
Готовая прога, эфекты и т.п.
Собрал - работает как часы.
ZPS
Mihail
отличие моего устройства в том, что оно автономное и работает без компа.
Guest_Radist*
SORRY!!! Я тут всех запутал, не прочитав внимательно мануал к прошивке! ОФИЦИАЛЬНО ЗАЯВЛЯЮ, ЧТО ДАННЫЙ ДЕВАЙС РАБОТАЕТ ПОЛНОЦЕННО, КАК С RC-ЦЕПОЧКОЙ, ТАК И С КВАРЦЕМ (У МЕНЯ СТОИТ 4MHz). СКОРОСТЬ МЕНЯЕТСЯ И В ПЕРВОМ, И ВО ВТОРОМ СЛУЧАЕ (НЕОДНОКРАТНО ПРОВЕРЕНО МНОЮ) =) еще раз сорри...
Остальные комментарии(7) можно прочитать на форуме
Добавить комментарий Перейти к обсуждению на форуме


DIY Projects