Вот скетч для Танкетки, который написал мой студент Малахов Иван. Это входит в его дипломный проект. Скетч Танкетки От Малахова Ивана
//Моторы 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 об/мин. Совсем другое дело! Черех ноги и полозья столов перебирается запросто.
|