Проблема со скетчем для Arduino Uno
- Войдите на сайт для отправки комментариев
Ср, 02/05/2018 - 10:19
Здравствуйте. Заливал на Ардуино программы-всё норм. Но в последней программе пишет ошибку компиляции.
Вот скетч:
//Управляем роботом с помощью ИК пульта Модель 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.
Раньше читал, вроде нету такой библиотеки. Что делать?
Фраза " irremote.h: No such file or directory " не наводит ни на какие мысли?
А сами-то как думаете? Что делать, когда "нету такой библиотеки"?
А сами-то как думаете? Что делать, когда "нету такой библиотеки"?
Чего тут думать, если все очевидно: нужно спросить на форуме.
А не подскажете, где её можно скачать?
Я просто в этом деле совсем чайник
https://www.arduinolibraries.info/libraries/i-rremote
https://www.arduinolibraries.info/libraries/i-rremote
Ну кто так помогает? Вот так надо - скачать
А дальше то что? Перенёс в папку со скетчем распакованную папку и тоже самое...
https://lesson.iarduino.ru/page/Installing_libraries/
Спасибо, получилось