Скетч боевой машинки с пультом от helicopter (fA 23-02-2020 v4-5)


#include «IRremote.h»

int RECV_PIN = 11; //Контакт подключения ИК приемника
int LED = 13; //Контакт подключения светодиода
IRrecv irrecv(RECV_PIN);
decode_results results;
int IN1 = 8; // Input1 микросхемы подключен к выводу 8
int IN2 = 7;
int IN3 = 2;
int IN4 = 4;
int EN1 = 9;
int EN2 = 6;
// светодиод – с включением при блокировке управления БМ
int buttonPin = 12;
int ledPin = 13;
uint32_t val;
int flagback = 0;

void setup() {
Serial.begin(9600); // для передачи на монитор
irrecv.enableIRIn(); //Прием IR включен
pinMode (EN1, OUTPUT); // управляющий канал дв.1
pinMode (IN1, OUTPUT); // — дв.1
pinMode (IN2, OUTPUT); // — дв.1
pinMode (EN2, OUTPUT); // управляющий канал дв.2
pinMode (IN4, OUTPUT); // — дв.2
pinMode (IN3, OUTPUT); // — дв.2
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
analogWrite(EN1, 200);
analogWrite(EN2, 200);
}
void loop() {

int buttonState = digitalRead(buttonPin); // считываем состояние кнопки
if (buttonState == HIGH) {
digitalWrite(ledPin, HIGH); // зажигаем светодиод при нажатии кнопки
analogWrite (EN1, 0); // стоп моторы (!)
analogWrite (EN2, 0);
delay(5000); //задержка управления
}
digitalWrite(ledPin, LOW); // гасим светодиод безусловно
// delay(200);
//============================
if (irrecv.decode(&results)) {
Serial.println ( results. value, HEX);
if (results.value == 0x33D1A81C || results.value == 0xE66DC7FC || results.value == 0x378C607F || results.value == 0x34C8A117 || results.value == 0xC47DDF7C || results.value == 0xDDFC789F || results.value == 0x6EA8AFFF || results.value == 0xA291AB07 || results.value == 0x9A43F9FF || results.value == 0xA1F78D64 || results.value == 0x32A3C4C4 || results.value == 0x9FCDEB9F || results.value == 0x96C16D34 || results.value == 0x93FDADCC) {
Serial.println( «speed 1»);
analogWrite(EN1, 120);
analogWrite(EN2, 120);

}
if (results.value == 0x711DA9B7 || results.value == 0x68CFF8AF || results.value == 0x70838C14 || results.value == 0x12FC374 || results.value == 0x6E59EA4F || results.value == 0x654D6BE4 || results.value == 0x6289AC7C) {
Serial.println( «speed 2»);
analogWrite(EN1, 130);
analogWrite(EN2, 130);
}
if (results.value == 0x1E15D17C || results.value == 0x15C82074 || results.value == 0xD376C22F || results.value == 0x6422F98F || results.value == 0x1B521214 || results.value == 0xC840A1FF || results.value == 0xC57CE297 || results.value == 0xABB29A04 || results.value == 0xA364E8FC || results.value == 0x61138AB7 || results.value == 0xF1BFC17 || results.value == 0xA8EEDA9C || results.value == 0x55DD6A87 || results.value == 0x5319AB1F) {
Serial.println( «speed 3»);
analogWrite(EN1, 150);
analogWrite(EN2, 150);
}
if (results.value == 0xA68DCC34 || results.value == 0x5929EC14 || results.value == 0xAA488497 || results.value == 0xA7847C52F || results.value == 0x373A0394 || results.value == 0x50B89CB7 || results.value == 0xE164D417 || results.value == 0xD7783634 || results.value == 0x8A145614 || results.value == 0xDB32EE97 || results.value == 0xD86F2F2F || results.value == 0x68246D94 || results.value == 0x81A306B7 || results.value == 0x124E3E17) {
Serial.println( «speed 4»);
analogWrite(EN1, 175);
analogWrite(EN2, 175);
}
if (results.value == 0x2A800E6F || results.value == 0xDD1C2E4F || results.value == 0x783FB87C || results.value == 0x757BF914 || results.value == 0xBB2C45CF || results.value == 0x1EAFD09C || results.value == 0xAF5C07EC || results.value == 0x9D6CDD37 || results.value == 0x5008FD17 || results.value == 0xEB2C8744 || results.value == 0xE868C7DC || results.value == 0x2E192497 || results.value == 0x919C9F64 || results.value == 0x2248D6C4) {
Serial.println( «speed 5»);
analogWrite(EN1, 200);
analogWrite(EN2, 200);
}
if (results.value == 0x24BDD07C || results.value == 0x1C701F74 || results.value == 0xDA1EC12F || results.value == 0x6ACAF88F || results.value == 0x21FA1114 || results.value == 0xCEE8A0FF || results.value == 0xCC24E197 || results.value == 0x3B8DD484 || results.value == 0x3340237C || results.value == 0xF0EEC537 || results.value == 0x819AFC97 || results.value == 0x38CA151C || results.value == 0xE5B8A507 || results.value == 0xE2F4E59F) {
Serial.println( «speed 6»);
analogWrite(EN1, 245);
analogWrite(EN2, 245);
}
//**********************************
if (results.value == 0xFAA9D1D7 || results.value == 0xF25C20CF || results.value == 0xFA0FB434 || results.value == 0x8ABBEB94 || results.value == 0xF7E6126F || results.value == 0xEED99404 || results.value == 0xEC15DD49C) {
Serial.println( «stop down»);
analogWrite (EN1, 0);
analogWrite (EN2, 0);
flagback = 0;
}//stop
if (results.value == 0xF2EDA56F || results.value == 0xA589C54F || results.value == 0x40AD4F7C || results.value == 0x3DE99014 || results.value == 0x8399DCCF || results.value == 0xE71D679C || results.value == 0x77C99EFC || results.value == 0x3E7C0CB7 || results.value == 0xF1182C97 || results.value == 0x8C3BB6C4 || results.value == 0x8977F75C || results.value == 0xCF284417 || results.value == 0x32ABCEE4 || results.value == 0xC3580644 || results.value == 0xDB88D69C || results.value == 0x8E24F67C || results.value == 0xDF438EFF || results.value == 0xDC7FCF97 || results.value == 0x6C350DFC || results.value == 0x85B3A71F || results.value == 0x165FDE7F) {
Serial.println( «stop up»);
analogWrite (EN1, 0);
analogWrite (EN2, 0);
flagback = 1;
} //stop
Serial.println( flagback);
if (results.value == 0xA291AB07 || results.value == 0xABB29A04 || results.value == 0xD7783634 || results.value == 0x2A800E6F || results.value == 0x3B8DD484) {
//назад
if (flagback == 1) {
digitalWrite (IN2, HIGH);
digitalWrite (IN1, LOW);
digitalWrite (IN4, HIGH);
digitalWrite (IN3, LOW);
}
}
if (results.value == 0x24BDD07C || results.value == 0x9D6CDD37 || results.value == 0xA68DCC34 || results.value == 0x1E15D17C || results.value == 0x711DA9B7 || results.value == 0x33D1A81C) {
// вперед
flagback = 1;
digitalWrite (IN1, HIGH);
digitalWrite (IN2, LOW);
digitalWrite (IN3, HIGH);
digitalWrite (IN4, LOW);
}
if (results.value == 0x1C701F74 || results.value == 0xDA1EC12F || results.value == 0x6ACAF88F || results.value == 0x5008FD17 || results.value == 0xEB2C8744 || results.value == 0xE868C7DC || results.value == 0x5929EC14 || results.value == 0xAA488497 || results.value == 0xA7847C52F || results.value == 0x15C82074 || results.value == 0xD376C22F || results.value == 0x6422F98F || results.value == 0x68CFF8AF || results.value == 0x70838C14 || results.value == 0x12FC374 || results.value == 0xE66DC7FC || results.value == 0x378C607F || results.value == 0x34C8A117) {
//влево
digitalWrite (IN2, LOW);
digitalWrite (IN1, HIGH);
digitalWrite (IN4, HIGH);
digitalWrite (IN3, LOW);
}
if (results.value == 0x21FA1114 || results.value == 0xCEE8A0FF || results.value == 0xCC24E197 || results.value == 0x2E192497 || results.value == 0x919C9F64 || results.value == 0x2248D6C4 || results.value == 0x373A0394 || results.value == 0x50B89CB7 || results.value == 0xE164D417 || results.value == 0x1B521214 || results.value == 0xC840A1FF || results.value == 0xC57CE297 || results.value == 0x6E59EA4F || results.value == 0x654D6BE4 || results.value == 0x6289AC7C || results.value == 0xC47DDF7 || results.value == 0xCDDFC789F || results.value == 0x6EA8AFFF) {
//вправо
digitalWrite (IN2, HIGH);
digitalWrite (IN1, LOW);
digitalWrite (IN4, LOW);
digitalWrite (IN3, HIGH);
}
irrecv.resume(); // Получить следующее значение
}
}

Скетч боевой машинки с пультом от helicopter (fA 23-02-2020 v4-5)