LED Christmas Tree
До нового года осталось всего несколько дней, пора готовить ёлку. Но мы же гики, поэтому спаяем её сами из светодиодов :)

Читать дальше

Читать дальше
Игрушка-шар для маленьких на ATmega16 + акселерометр MMA7455 + led driver TLC5940
«Для маленьких» — это не фигура речи, а мне действительно хотелось бы рассказать о шарике-самоделке, мигающем огоньками и радующем моего еще совсем маленького годовалого сынка. Идея пришла спонтанно, как только встретил описания дешевого и легкодоступного акселерометра на eBay. Электроникой я увлекся всего полгода назад и в процессе этого домашнего проекта (длившегося, к слову сказать, несколько месяцев) схему переделывал неоднократно, изобретая велосипед за велосипедом.
Читать дальше
Постановка задачи
А не сделать ли сынцу что-нибудь, чтоб можно было катать, чтоб разноцветное и с лампочками, но чуть умнее, чем просто мигающий светодиод?! А что, если это будет пластиковый шар, утыканный разноцветными диодами, знающий где верх, а где низ? По-моему, любому малышу, это должно понравится, а уж отцу поковыряться вечером — милое дело.Читать дальше
"Волшебная коробка"
Решил сделать для любимой девушки оригинальный подарок своими руками. Это моя первая статься на блоге, так что не судите строго :))
Функционал устройства:
Схема устройства очень простая — микроконтроллера ATmega8, красные светодиды, кнопки и батарейки питания (3 пальчика). Плату сделал двухслойной (не хотелось использовать перемычки).Разводил в Altium Designer, избыточно для такой прсотой платы использовать такую программу, но так как я с ней постоянно работаю — мне в ней удобно. Altium проект вконце статьи в архиве. Чтобы распечатать чертеж для ЛУТ сначала необходимо сгенерировать гербер, как сделать уже описано тут.
Вот так выглядит плата устройства в Altium Designer:

Визуализация платы в Altium Designer:

Плату поместил в сувенирную коробку:

Для программирования МК на плате есть разъем. Конечно он немного портыть выд устройства, но совсем не хотелось мучаться с проводами для прошивки. Я программировал через AVRISP mkII но можно использовать той что есть в у вас в наличии.
Прошивку писал в AVR Studio на язике С, не особо оптиммизировал. Частота работы МК 8MHz В программу очень легко вносить новые эффекты мигания. Кнопкой S2 включаеться устройство, S1 — переключючение программ мигания по кругу, после МК переходить в сон, и чтобы включить нужно нажать S2 (кнопка подключена к внешнему прерыванию). Если кнопка S1 не нажимаеться, через 30 секунд произойдет переключение на следующую программу мигания. Если нет активности пользователся, через 5хв устройство отключиться.
Программа огранизована в виде тасков. В прерывании таймера устанавливаеться флаг события, в главном идет обработка события и сбрасиваеться флаг:
Так происходить переключение программ мигания:
Одна с функций мигания:
Для тех кто выдержал и дочитал:
Как работает устройство-видео
Файлы к статье:
we.easyelectronics.ru/attachments/get/1091
we.easyelectronics.ru/attachments/get/1092
Спасибо. Жду конструктивной критики и замечаний!)
Функционал устройства:
- 7- программ миганния;
- Переключенние между программами происходить по кнопке;
- Переключенние между программами по таймеру, каждых 30с;
- Отключение устройства по кнопке;
- автоматичиское выключение при 5минутах неактивности.
Схема устройства очень простая — микроконтроллера ATmega8, красные светодиды, кнопки и батарейки питания (3 пальчика). Плату сделал двухслойной (не хотелось использовать перемычки).Разводил в Altium Designer, избыточно для такой прсотой платы использовать такую программу, но так как я с ней постоянно работаю — мне в ней удобно. Altium проект вконце статьи в архиве. Чтобы распечатать чертеж для ЛУТ сначала необходимо сгенерировать гербер, как сделать уже описано тут.
Вот так выглядит плата устройства в Altium Designer:

Визуализация платы в Altium Designer:

Плату поместил в сувенирную коробку:

Для программирования МК на плате есть разъем. Конечно он немного портыть выд устройства, но совсем не хотелось мучаться с проводами для прошивки. Я программировал через AVRISP mkII но можно использовать той что есть в у вас в наличии.
Прошивку писал в AVR Studio на язике С, не особо оптиммизировал. Частота работы МК 8MHz В программу очень легко вносить новые эффекты мигания. Кнопкой S2 включаеться устройство, S1 — переключючение программ мигания по кругу, после МК переходить в сон, и чтобы включить нужно нажать S2 (кнопка подключена к внешнему прерыванию). Если кнопка S1 не нажимаеться, через 30 секунд произойдет переключение на следующую программу мигания. Если нет активности пользователся, через 5хв устройство отключиться.
Программа огранизована в виде тасков. В прерывании таймера устанавливаеться флаг события, в главном идет обработка события и сбрасиваеться флаг:
volatile unsigned char BlinkMode = 0; // какой ефект должен работать
volatile unsigned char BlinkSpeed = 0; //скорость переключения
volatile unsigned char TaskFlag = 0; // переменная флагов для задачь
ISR(TIMER2_COMP_vect) // 1mS
{
if (++count2 == BlinkSpeed)
{
TaskFlag|= (1<<6); //set flag
count2 = 0;
}
}
while(1)
{
if (TaskFlag & (1<<6))
{
BlinkLedTask();
TaskFlag&=~(1<<6); // clear flag
}
}
Так происходить переключение программ мигания:
void BlinkLedTask(void)
{
switch (BlinkMode)
{
case 0: Blink1(20); break;
case 1: Blink2(50); break;
case 2: Blink3(200); break;
case 3: Blink4(255); break;
case 4: Blink5(150); break;
case 5: Blink6(90); break;
case 6: Blink7(250); break;
case 7: Sleep(); break;
}
}
Одна с функций мигания:
iBlinkSpeed
— параметр функции — скорость мигания.EnableAll();
устанавливает лог «1» на аноды светодиодов.PWM = 10;
минимальная яркость мигания светодиодов PWM = 250;
максимальная яркость мигания светодиодов
void Blink7(unsigned char iBlinkSpeed)
{
static unsigned char num = 0;
BlinkSpeed = iBlinkSpeed;
EnableAll();
if (num == 0)
{
PWM = 10;
num = 1;
}
else
{
PWM = 250;
num = 0;
}
}
Для тех кто выдержал и дочитал:
Как работает устройство-видео
Файлы к статье:
we.easyelectronics.ru/attachments/get/1091
we.easyelectronics.ru/attachments/get/1092
Спасибо. Жду конструктивной критики и замечаний!)
Подключение 7-сегментного индикатора к msp430g2553 (launchpad) по SPI

Подсадил меня недавно один хороший товарищ на Launchpad (чему очень рада моя дорогая супруга), мигать светодиодами я научился быстро, в COM-порт плеваться показаниями встроенных датчиков температуры и напряжения научился, захотелось чего-то более приземлённого.
далее про драйвер tm1638
- +4
- 28 июня 2012, 11:15
- shluzzzoid
- 55
- 1
Пару проектов выходного дня и опыт применения коробок от мед. препаратов в качестве корпусов для поделок
Накопилось у меня ряд поделок. Выложу для истории.

(Долго думал где разместить. Так как почти все в этой статье это своего рода инструменты – решил разместить в одноименном блоге. Если не по теме – скажите — перенесу в личный)
Читать дальше

(Долго думал где разместить. Так как почти все в этой статье это своего рода инструменты – решил разместить в одноименном блоге. Если не по теме – скажите — перенесу в личный)
Читать дальше
Вольтметр сетевого напряжения, часть 2.
Продолжу описание сборки вольтметра напряжения сети.

Рассмотрим сборку блока питания на LNK306, общую схему всего устройства, немного фоток некоторых шагов, описание граблей и методы их обхода.
Читать дальше

Рассмотрим сборку блока питания на LNK306, общую схему всего устройства, немного фоток некоторых шагов, описание граблей и методы их обхода.
Читать дальше
Вольтметр сетевого напряжения, часть 1.
Постановка задачи
Вот есть у меня дача и я на неё езжу :). Ситуация такова, что электричества там мало, в смысле киловатт. То есть чайник включаешь — свет в доме становится тусклее. А то иногда и насос в колодце не крутится, и микроволновка не греет (что редко). Те моменты, когда напряжения в сети нет вообще — рассматривать не будем.Решил сделать вольтметр, пусть показывает сколько там в проводах вольт, да не просто так, а на светящихся семисегментниках.
Читать дальше