Проблема со скетчем для Arduino Uno

Ваня
Offline
Зарегистрирован: 02.05.2018

Здравствуйте. Заливал на Ардуино программы-всё норм. Но в последней программе пишет ошибку компиляции.

Вот скетч:

//Управляем роботом с помощью ИК пульта Модель 042803. Для других пультов нужно менять коды.

#include <irremote.h>

// *********************** Установка выводов моторов ************************
int MotorLeftSpeed = 5; // Левый (А) мотор СКОРОСТЬ — ENA
int MotorLeftForward = 4; // Левый (А) мотор ВПЕРЕД — IN1
int MotorLeftBack = 2; // Левый (А) мотор НАЗАД — IN2
int MotorRightForward = 8; // Правый (В) мотор ВПЕРЕД — IN3
int MotorRightBack = 7; // Правый (В) мотор НАЗАД — IN4
int MotorRightSpeed = 6; // Правый (В) мотор СКОРОСТЬ — ENB
int duration;

// ************************ Настройка ИК управления ************************
const int irReceiverPin = 12; // Инфокрасный датчик (D12)

long IRfront = 0x3D9AE3F7;//код пульта для кнопки 2 — ВПЕРЕД
long IRback = 0x1BC0157B;//код пульта для кнопки 8 — НАЗАД
long IRturnright = 0x449E79F;//код пульта для кнопки 6 — ВПРАВО
long IRturnleft = 0x8C22657B;//код пульта для кнопки 4 — ВЛЕВО
long IRstop = 0x488F3CBB;//код пульта для кнопки 5 — СТОП

IRrecv irrecv (irReceiverPin); // определение IRrecv для приема инфракрасных сигналов
decode_results results; // результаты декодирования ИК сигналов

// *********************************** SETUP ********************************
void setup ()
{
Serial.begin (9600); //Включаем серйиный порт — скрость 9600

//****************** Настраиваем параметры выводов ARDUINO ******************
pinMode (MotorLeftForward, OUTPUT);
pinMode (MotorLeftBack, OUTPUT);
pinMode (MotorLeftSpeed, OUTPUT);

pinMode (MotorRightForward, OUTPUT);
pinMode (MotorRightBack, OUTPUT);
pinMode (MotorRightSpeed, OUTPUT);

irrecv.enableIRIn (); // включение ИК декодирования
}
// ****************** Задаем основные направления движения ******************
void forward (int a) // ВПЕРЕД
{
digitalWrite (MotorRightBack, LOW);
digitalWrite (MotorRightForward, HIGH);
analogWrite (MotorRightSpeed, 150);
digitalWrite (MotorLeftBack, LOW);
digitalWrite (MotorLeftForward, HIGH);
analogWrite (MotorLeftSpeed, 150);
delay (a * 50);
}
void right (int b) // ПОВОРОТ ВПРАВО (одна сторона)
{
digitalWrite (MotorLeftBack, LOW);
digitalWrite (MotorLeftForward, HIGH);
analogWrite (MotorLeftSpeed, 200);
digitalWrite (MotorRightBack, LOW);
digitalWrite (MotorRightForward, LOW);
delay (b * 50);
}
void left (int c) // ПОВОРОТ ВЛЕВО (одна сторона)
{
digitalWrite (MotorRightBack, LOW);
digitalWrite (MotorRightForward, HIGH);
analogWrite (MotorRightSpeed, 200);
digitalWrite (MotorLeftBack, LOW);
digitalWrite (MotorLeftForward, LOW);
delay (c * 50);
}
void turnR (int d) // РАЗВОРОТ ВПРАВО (два стороны)
{
digitalWrite (MotorRightBack, HIGH);
digitalWrite (MotorRightForward, LOW);
digitalWrite (MotorLeftBack, LOW);
digitalWrite (MotorLeftForward, HIGH);
delay (d * 50);
}
void turnL (int e) // РАЗВОРОТ ВЛЕВО (два стороны)
{
digitalWrite (MotorRightBack, LOW);
digitalWrite (MotorRightForward, HIGH);
digitalWrite (MotorLeftBack, HIGH);
digitalWrite (MotorLeftForward, LOW);
delay (e * 50);
}
void stopp (int f) // СТОП
{
digitalWrite (MotorRightBack, LOW);
digitalWrite (MotorRightForward, LOW);
digitalWrite (MotorLeftBack, LOW);
digitalWrite (MotorLeftForward, LOW);
delay (f * 50);
}
void back (int g) // НАЗАД
{
digitalWrite (MotorRightBack, HIGH);
digitalWrite (MotorRightForward, LOW);
digitalWrite (MotorLeftBack, HIGH);
digitalWrite (MotorLeftForward, LOW);;
delay (g * 50);
}
// *************************** Управление по ИК ******************************
void loop()
{
if (irrecv.decode (& results)) // Декодирование выполнено успешно — получены ИК сигналы
{
Serial.println( results.value, HEX ); // печатаем данные — может пригодится при настройке
// *********************************************
if (results.value == IRfront) // ВПЕРЕД
{
forward (10);
}
// *********************************************
if (results.value == IRback) // НАЗАД
{
back (10);
}
// *********************************************
if (results.value == IRturnright) // поворот ВПРАВО
{
right (6);
}
// *********************************************
if (results.value == IRturnleft) // поворот ВЛЕВО
{
left (6);
}
// *********************************************
if (results.value == IRstop) // СТОП
{
stopp (1);
}
irrecv.resume (); // Перейти к следующим полученным ИК сигналам
}
}

Вот ошибка:

C:\Users\Беспарольный вход\Desktop\Робот\_______\_______.ino:3:22: fatal error: irremote.h: No such file or directory

 
compilation terminated.
 
exit status 1
Ошибка компиляции для платы Arduino/Genuino Uno.
Раньше читал, вроде нету такой библиотеки. Что делать?

 

 

 

 

 

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Фраза  "   irremote.h: No such file or directory  " не наводит ни на какие мысли?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Ваня пишет:
нету такой библиотеки. Что делать?

А сами-то как думаете? Что делать, когда "нету такой библиотеки"?

sadman41
Offline
Зарегистрирован: 19.10.2016

ЕвгенийП пишет:

Ваня пишет:
нету такой библиотеки. Что делать?

А сами-то как думаете? Что делать, когда "нету такой библиотеки"?

Чего тут думать, если все очевидно: нужно спросить на форуме.

Ваня
Offline
Зарегистрирован: 02.05.2018

А  не подскажете, где её можно скачать?

Я просто в этом деле совсем чайник

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011
ven-til
Offline
Зарегистрирован: 13.02.2018

Ну кто так помогает? Вот так надо - скачать

Ваня
Offline
Зарегистрирован: 02.05.2018

А дальше то что? Перенёс в папку со скетчем распакованную папку и тоже самое...

 

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011
Ваня
Offline
Зарегистрирован: 02.05.2018

Спасибо, получилось