roboforum.ru

Технический форум по робототехнике.

KITT

KITT

Boris317 » 25 ноя 2006, 22:26

Здравствуйте, я почти сделал мигалку как у Китта в сериале Рыцарь дорог. Но есть проблема: при нажатии на кнопки выбора скорости(5,10,30,80) лампочки мигают с выбранной скорость, но когда я отпускаю кнопки частота становится прежней(30). В чём может быть дело?

#include <tiny2313.h>
#include <delay.h>

void prov(int n)
{
if(PIND.2==0)
n=5;  
if(PIND.3==0)
n=10;  
if(PIND.4==0)
n=30;  
if(PIND.5==0)
n=80;  
delay_ms(n);
}

void main(void)
{
int n;
n=30;

PORTB=0x00;
DDRB=0xFF;

PORTD=0xFF;
DDRD=0x00;

while (1)
{
 PORTB=1;
 prov(n);
 PORTB=2;
 prov(n);
 PORTB=4;
 prov(n);
 PORTB=8;
 prov(n);
 PORTB=16;
 prov(n);
 PORTB=32;
 prov(n);
 PORTB=64;
 prov(n);
 PORTB=128;
 prov(n);
 PORTB=64;
 prov(n);
 PORTB=32;
 prov(n);
 PORTB=16;
 prov(n);
 PORTB=8;
 prov(n);
 PORTB=4;
 prov(n);
 PORTB=2;
 prov(n);
};
}

=DeaD= » 26 ноя 2006, 01:26

#include <tiny2313.h>
#include <delay.h>

int n;

void prov()
{
if(PIND.2==0)
n=5;  
if(PIND.3==0)
n=10;  
if(PIND.4==0)
n=30;  
if(PIND.5==0)
n=80;  
delay_ms(n);
}

void main(void)
{
n=30;

PORTB=0x00;
DDRB=0xFF;

PORTD=0xFF;
DDRD=0x00;

while (1)
{
PORTB=1;
prov();
PORTB=2;
prov();
PORTB=4;
prov();
PORTB=8;
prov();
PORTB=16;
prov();
PORTB=32;
prov();
PORTB=64;
prov();
PORTB=128;
prov();
PORTB=64;
prov();
PORTB=32;
prov();
PORTB=16;
prov();
PORTB=8;
prov();
PORTB=4;
prov();
PORTB=2;
prov();
};
}

Карлсон » 26 ноя 2006, 01:57

китовскую мигалку можно собрать на счетчике джонсона - 4017.
одна из схем вот тут http://www.talkingelectronics.com/Proje ... nerP2.html

и не нужен контроллер :)

только вместо мультивибратора лучше воткнуть NE555.
с ней тоже есть схемы.

Boris317 » 26 ноя 2006, 02:36

Огромное спасибо!


Rambler\'s Top100 Mail.ru counter