Световые эффекты на микроконтроллере

В этой статьи я расскажу и покажу как сделать весьма интересное устройства с помощью которого можно будет рисовать узоры на колесе велосипеда или на другом транспорте. Для начало нам нужно раздобыть микроконтроллер Attiny13 он стоит  не больше 100 рублей. Ещё нам понадобится панелька на 8 pin, 4 резистора  1К, 4 маломощных транзистора (транзисторы не обязательны) и 4 светодиода любого цвета.

 

А вот схема устройства.

attiny13

Схема как видим простая не чего сложного нет . Ну до ладно идем дальше а дальше у нас управляющая программа. Программа не очень сложная но если возникли вопросы пишите в комментариях.

/*****************************************************
Chip type : ATtiny13
AVR Core Clock frequency: 9,600000 MHz
Memory model : Tiny
External RAM size : 0
Data Stack size : 16
*****************************************************/

#include <tiny13.h>
#include <delay.h>

unsigned char sdvik=1, k=0;
void main(void)
{

// Func5=In Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
// State5=T State4=0 State3=0 State2=0 State1=0 State0=0
PORTB=0x00;
DDRB=0x1F;
while (1)
{
while (k<6)

{
PORTB=sdvik;
sdvik=sdvik<<1;
delay_ms(250);
if(sdvik==0)
{sdvik=1;}
k++;
}
while (k<13)
{
PORTB=sdvik;
sdvik=sdvik>>1;
delay_ms(250);
if(sdvik==0)
{sdvik=1;}
k++;
}
while (k<15)
{
PORTB=0b00100;
delay_ms(450);
PORTB=0b01110;
delay_ms(450);
PORTB=0b11111;
delay_ms(450);
k++;
}
while (k<17)
{
PORTB=0b10001;
delay_ms(450);
PORTB=0b11011;
delay_ms(450);
PORTB=0b11111;
delay_ms(450);
k++;
}
while (k<19)
{
PORTB=0b11000;
delay_ms(450);
PORTB=0b00110;
delay_ms(450);
PORTB=0b00001;
delay_ms(450);
k++;
}
while (k<21)
{
PORTB=0b00011;
delay_ms(450);
PORTB=0b01100;
delay_ms(450);
PORTB=0b10000;
delay_ms(450);
k++;
}
if(k==21)
{k=0;}
}
}

А здесь можно скачать дополнительные файлы: прошивку, проект в proteus, плату в sprintlayout и схему.

One thought on “Световые эффекты на микроконтроллере

  1. Alex 14 Март 2013 / 17:46

    Круто! Я тоже хочу такие световые эффекты на микроконтроллере на свой велосипед сделать.

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

Ваш email не будет опубликован. Обязательные поля отмечены *

Вы можете использовать это HTMLтеги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.