 Petr Kiselev » 15 май 2015, 20:14
 Petr Kiselev » 15 май 2015, 20:14 
			
			Вот скетч для Танкетки, который написал мой студент Малахов Иван. Это входит в его дипломный проект.
Скетч Танкетки
От Малахова Ивана
//Моторы
int IN1 = 2; 
int IN2 = 3;
int IN3 = 4; 
int IN4 = 5;
//Приемник
int IN8 = 8;//0(A)    НАЗАД
int IN9 = 9; //1(B)   ПРАВО
int IN10 = 10; //2(C) ПРЯМО
int IN11 = 11;//3(D)  ЛЕВО
//ФАРЫ
//ЗАДНИЕ
int IN6 = 6; //Право
int IN7 = 7;//Лево
//ПЕРЕДНИЕ
int IN12 = 12; //Право
int IN13 = 13;//Лево
void setup()
{
  Serial.begin(9600);
  pinMode (IN1, OUTPUT);
  pinMode (IN2, OUTPUT);
  pinMode (IN3, OUTPUT);
  pinMode (IN4, OUTPUT);
  pinMode (IN6, OUTPUT);
  pinMode (IN7, OUTPUT);
  pinMode (IN12, OUTPUT);
  pinMode (IN13, OUTPUT); 
  pinMode (IN8, INPUT);
  pinMode (IN9, INPUT);
  pinMode (IN10, INPUT);
  pinMode (IN11, INPUT); 
  digitalWrite (IN6, LOW);
  digitalWrite (IN7, LOW);
  digitalWrite (IN12, LOW);
  digitalWrite (IN13, LOW);
  digitalWrite (IN1, LOW);
  digitalWrite (IN2, LOW);
  digitalWrite (IN3, LOW);
  digitalWrite (IN4, LOW);
}
void loop() {
if (digitalRead(IN10)==HIGH ){ 
//ПРЯМО
 //Левый борт
  digitalWrite (IN1,HIGH ); //Назад
  digitalWrite (IN2,LOW); //Вперед
  //Правый борт
  digitalWrite (IN3,HIGH ); //Назад
  digitalWrite (IN4,LOW); //Вперед
}
if (digitalRead(IN8)==HIGH ){ 
//НАЗАД
  //Левый борт
  digitalWrite (IN1,LOW ); //Назад
  digitalWrite (IN2,HIGH); //Вперед
  //Правый борт
  digitalWrite (IN3,LOW); //Назад
  digitalWrite (IN4,HIGH); //Вперед
 digitalWrite (IN6,HIGH ); //Правая задняя фара
 digitalWrite (IN7,HIGH); //Левая задняя фара
 
 digitalWrite (IN12,LOW ); //Правая задняя фара
 digitalWrite (IN13,LOW); //Левая задняя фара
}
if (digitalRead(IN11)==HIGH ){ 
//ЛЕВО
  //Левый борт
  digitalWrite (IN1,LOW ); //Назад
  digitalWrite (IN2,HIGH); //Вперед
  //Правый борт
  digitalWrite (IN3,HIGH ); //Назад
  digitalWrite (IN4,LOW); //Вперед
 
 digitalWrite (IN7,HIGH ); //Левая  задняя фара
 digitalWrite (IN13,HIGH); //Левая передняя фара
digitalWrite (IN12,LOW ); 
digitalWrite (IN6,LOW);
}
if (digitalRead(IN9)==HIGH ){ 
//ПРАВО
  //Левый борт
  digitalWrite (IN1,HIGH ); //Назад
  digitalWrite (IN2,LOW); //Вперед
  //Правый борт
  digitalWrite (IN3,LOW ); //Назад
  digitalWrite (IN4,HIGH); //Вперед
 digitalWrite (IN6,HIGH ); //Правая  задняя фара
 digitalWrite (IN12,HIGH); //Правая передняя фара
digitalWrite (IN7,LOW ); 
digitalWrite (IN13,LOW);
}
if ( (digitalRead(IN8)==LOW) and (digitalRead(IN9)==LOW) and (digitalRead(IN10)==LOW) and (digitalRead(IN11)==LOW)){ 
//СТОП
  
  //Левый борт
  digitalWrite (IN1, LOW); //Назад
  digitalWrite (IN2, LOW); //Вперед
  //Правый борт
  digitalWrite (IN3, LOW); //Назад
  digitalWrite (IN4, LOW); //Вперед
digitalWrite (IN6,HIGH ); //Правая задняя фара
digitalWrite (IN7,HIGH); //Левая задняя фара
digitalWrite (IN12,LOW ); 
digitalWrite (IN13,LOW);
}
}//Конец void loop
Добавлено спустя 6 минут 8 секунд:
Кстати, сегодня исправили Танкетку. Заменили моторы. Стояли 180 об/мин, поставили 77 об/мин. Совсем другое дело! Черех ноги и полозья столов перебирается запросто.