воскресенье, 3 августа 2014 г.

Многоцветный RGB светодиод и микроконтроллер ATtiny2313.

ATtiny2313 -это ещё один из avr микроконтроллеров который полезно освоить т.к. он дешевле чем например ATmega8, ATmega16. ATtiny2313 имеет меньше функций чем ATmega8, ATmega16 но многие функции очень часто бывают лишними в простых устройствах на микроконтроллере к тому же ATtiny2313 имеет количество выводов достаточное для многих практических применений. Освоение ATtiny2313 начнём с сознания устройства для управления многоцветным RGB светодиодом. Такой светодиод можно найти в магазине радиодеталей например можно спросить о его наличии у продавца или найти нужный светодиод в интернете и заказать. Рассмотрим схему:
Рисунок 1 - Многоцветный RGB светодиод и микроконтроллер ATtiny2313

Кнопкой S1 будем менять интенсивность свечения. R2,R3,С1-для нейтрализации последствий дребезга контактов (последствия-микроконтроллер "думает" что на кнопку нажато много раз хотя на самом деле кнопка нажата один раз). R1,R7,R8,R9-внешние подтягивающие резисторы (т.к. в отличии от ATmega8, ATmega16 для ATtiny2313 внутренних недостаточно). Многопозиционный переключатель S2 -для выбора света интенсивность которого будет меняться. Назначения выводов светодиода можно определить мультиметром в режиме проверки диодов. Рассмотрим исходный код программы на языке C:


Глобальные переменные объявляются так:
volatile unsigned char глобальная_переменная;
Регистр разрешения прерываний на int0 теперь называется GIMSK (для ATmega16 GICR это можно увидеть из кода на странице счётчик на ATmega16 (там же подробно про настройку внешних прерываний на INT0 и INT1)). В остальном ничего сложного.
Проект делался в среде WinAVR, скачать проект можно по ссылке: https://yadi.sk/d/J-8K7n5UYyYAt. Подробнее о программировании микроконтроллеров можно узнать на сайте: myrobot.ru в разделе "шаг за шагом".
Устройство в действии:

Для определения шестнадцатеричного числа конфигурирования портов ввода вывода микроконтроллера ATtiny2313 можно воспользоваться программой приведённой ниже. Галочки означают - логические единицы, пустые чекбоксы (квадратики) - логические нули.
ATtiny2313
1 PA2 VCC 20
2 PD0 PB7 19
3 PD1 PB6 18
4 PA1 PB5 17
5 PA0 PB4 16
6 PD2 PB3 15
7 PD3 PB2 14
8 PD4 PB1 13
9 PD5 PB0 12
10 GND PD6 11


PB=
PD=
Купить микроконтроллер ATtiny2313 в dip корпусе.
RGB светодиод 5мм 10шт.
КАРТА БЛОГА (содержание)

Комментариев нет:

Отправить комментарий