В этой статьи я расскажу и покажу как сделать весьма интересное устройства с помощью которого можно будет рисовать узоры на колесе велосипеда или на другом транспорте. Для начало нам нужно раздобыть микроконтроллер Attiny13 он стоит не больше 100 рублей. Ещё нам понадобится панелька на 8 pin, 4 резистора 1К, 4 маломощных транзистора (транзисторы не обязательны) и 4 светодиода любого цвета.
А вот схема устройства.
Схема как видим простая не чего сложного нет . Ну до ладно идем дальше а дальше у нас управляющая программа. Программа не очень сложная но если возникли вопросы пишите в комментариях.
/*****************************************************
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 и схему.
Круто! Я тоже хочу такие световые эффекты на микроконтроллере на свой велосипед сделать.