

Myp писал(а):на самом деле нам не надо 2 микрика достаточно одногомы же знаем вправо или влево руль выкручен
This program was produced by the
CodeWizardAVR V1.24.8d Professional
Automatic Program Generator
© Copyright 1998-2006 Pavel Haiduc, HP InfoTech s.r.l.
Project : Turn machine
Version : 0.1
Date : 18.07.2008
Author : MiBBiM
Company : MiBBiM,inc
Comments:
Chip type : ATtiny2313
Clock frequency : 4,000000 MHz
Memory model : Tiny
External SRAM size : 0
Data Stack size : 32
#define M_F PORTB.7 //обозначения
#define M_B PORTB.6 //принятые для удобства восприятия
#define T_R PORTB.5 //компилятор вместо первого слова поставит второе
#define T_L PORTB.4 //т.е. вместо T_L будет PORTB.4
#define C_D PIND.6
// Declare your global variables here
unsigned char this_move; //запоминаем текущее движение
enum {L,R,C}; //массив видов движений
void turn(unsigned char direction) //объявляем ф-ю поворота
{
switch (direction) //выбор из вариантов ниже
{
case L: //первый вариант
T_L=1; //запускаем поворотные двигатели
T_R=0;
if (this_move==R){delay_ms(300);}; //ждем некоторое время(измеряется опытным путем)
if (this_move==C){delay_ms(150);};
T_L=0; //останавливаем двигатели
T_R=0;
this_move=L; //теперь мы на левой позиции
break;
case R: //второй вариант
T_L=0; //аналогично
T_R=1;
if (this_move==L){delay_ms(300);};
if (this_move==C){delay_ms(150);};
T_L=0;
T_R=0;
this_move=R;
break;
case C: //третий вариат
switch (this_move) //выбираем где мы находимся
{
case L: //если слева, то
T_L=0; //запускаем поворот вправо
T_R=1;
while (C_D){}; //ждем пока датчик не пискнет о том, что достигли центра
T_L=0;T_R=0; //останавливаем двигатель
this_move=C; //теперь мы на центре
break;
case R:
T_L=1;
T_R=0;
while (C_D){};
this_move=C;
break;
}
break;
}
}
void init(void)
{
T_L=1;T_R=0; //поворачиваем влево
delay_ms(300); //ждем
T_L=0;T_R=1; //поворачиваем вправо
while(C_D){}; //до центра
T_L=0;T_R=0; //и останавливаем движок
this_move=C; //теперь рулевая ось в центре
}
Myp писал(а):блиииин
ну слоф нету просто
210 рублей стоит серва самая простая
это для студента 2 раза пива попить с кальмарами
Myp писал(а):
на самом деле нам не надо 2 микрика достаточно одного
мы же знаем вправо или влево руль выкручен
значит и знаем в какую сторону крутить чтоб в ноль встать
а если допустим питание сбросилось и руль повернули насильно то просто рыскаем вправо влево пока не сработает микрик
калибруемся так сказать на центральной точке
.MiBBiM писал(а):This program was produced by the
CodeWizardAVR V1.24.8d Professional
MiBBiM писал(а):MiBBiM писал(а):This program was produced by the
CodeWizardAVR V1.24.8d Professional
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0