Irremote h 24 10 fatal error irremoteint h no such file or directory

Arduino.ru Регистрация новых пользователей и создание новых тем теперь только на новом форуме https://forum.arduino.ru forum.arduino.ru Бибилиотека IRremote и работа с ней Доброго времени суток. Никак не могу найти толкового описания использования данной библиотеки. Готовые примеры с JVC и Панасоником есть но вот при использовании той же irsend.sendJVC(JVC1, 16,0) хотелось бы понимать что такое 16 […]

Содержание

  1. Arduino.ru
  2. Регистрация новых пользователей и создание новых тем теперь только на новом форуме https://forum.arduino.ru
  3. forum.arduino.ru
  4. Бибилиотека IRremote и работа с ней
  5. Arduino.ru
  6. Регистрация новых пользователей и создание новых тем теперь только на новом форуме https://forum.arduino.ru
  7. forum.arduino.ru
  8. Arduino IDE. Устал бороться, нужен совет.
  9. ARDUINO Гирлянда на ёлку на основе Гайверовой
  10. Palpalych
  11. Вложения
  12. Palpalych
  13. shtrlz
  14. adm503
  15. Palpalych
  16. adm503
  17. Palpalych
  18. Palpalych
  19. Произошла ошибка при загрузке скетча Ардуино
  20. Ошибки компиляции для Arduino Nano, Uno, Mega
  21. avrdude: stk500_recv(): programmer is not responding
  22. a function-definition is not allowed here before ‘<‘ token
  23. expected initializer before ‘>’ token / expected ‘;’ before ‘>’ token
  24. ‘что-то’ was not declared in this scope
  25. exit status 1 ошибка компиляции для платы Arduino
  26. missing fqbn (fully qualified board name)

Arduino.ru

Регистрация новых пользователей и создание новых тем теперь только на новом форуме https://forum.arduino.ru

forum.arduino.ru

Бибилиотека IRremote и работа с ней

Доброго времени суток.

Никак не могу найти толкового описания использования данной библиотеки.

Готовые примеры с JVC и Панасоником есть

но вот при использовании той же irsend.sendJVC(JVC1, 16,0) хотелось бы понимать что такое 16 и что такое 0.

Неужели никто не работает с пультами?

Или может у кого то завалялся пример кода для отпраки посылки на телевизоры Самсунг.

Находим исходники в бесплатном гугле с помощью запроса «irremote arduino», открываем первую ссылку и в ней находим заголовочный файл IRremote.h:

Ищем JVC и видим:

void sendJVC ( unsigned long data, int nbits, int repeat); // *Note instead of sending the REPEAT constant if you want the JVC repeat signal sent, send the original code value and change the repeat argument from 0 to 1. JVC protocol repeats by skipping the header NOT by sending a separate code value like NEC does.

А если этого мало, то открываем

Ищем JVC и смотрим код:

А рядом есть еще и самсунг:

Какая нужна документация на код в десять строк? Всё равно непонятно? Тогда читайте книги по С.

Здравствуйте помогите мне

при нажати на среднюю кнопку ИК пульта должно остановиться процесс. Как это сделать

//Stepper with IR remote

#include «Stepper.h»
#include «IRremote.h»

/*—— Variables, Pins ——*/
#define STEPS 32 // Number of steps per revolution of Internal shaft
int Steps2Take=0; // 2048 = 1 Revolution
int receiver = 6; // Signal Pin of IR receiver to Arduino Digital Pin 6

/*——( Declare objects )——*/
// Setup of proper sequencing for Motor Driver Pins
// In1, In2, In3, In4 in the sequence 1-3-2-4

Stepper small_stepper(STEPS, 8, 10, 9, 11);
IRrecv irrecv(receiver); // create instance of ‘irrecv’
decode_results results; // create instance of ‘decode_results’

Источник

Arduino.ru

Регистрация новых пользователей и создание новых тем теперь только на новом форуме https://forum.arduino.ru

forum.arduino.ru

Arduino IDE. Устал бороться, нужен совет.

Две недели назад заказал в китае ардуино. Большой набор с кучей датчиков и пр.

Пока посылка шла. Перечитал половину интернета, просмотрел 120 видео, обчитался на вашем (теперь уже нашем) форуме.
Осипов стал вместо первого канала, самые интересные посты от: ЕвгенийП, Леший, Калапуций, Logik (можно я всех не буду перечислять).
Так вот, все интересные посты добавил в избранное. Перечитываю постоянно.

Долго-ли, коротко-ли, но пришла ардуина.
Набросал скетчик один, другой.
Понадобилось прилепить файл типа «несгораемая титановая кнопка» от Калапуция.
Выяснилось, что просто кинуть в файл с проектом нельзя, и назрел момент перейти на другую IDE!

Переход на другую IDE был запланирован. Поэтому в субботу скачал MS Visual Studio. К которой идет плагин VisualMicro. Ничто не предвещало.

Вот тут-то всё и началось.
В процессе установки она (MS VS2012) не смогла установить «atBackEnd.exe».
Ну думаю — не страшно. Мало ли. Установил плагин VisualMicro.
И ничего не появилось. Гулил. Читал. Курил. Ни в меню, ни на панелях — Нет ничего про ардуину.
Только при создании нового проекта есть — импортировать из ардуино (*.ino) (примерно так). Но после импорта скетча ничего нет, ни в меню, ни в панелях.
. снес MS VS2012.

Гуглил. Читал. Курил.
Решил установить «родной» софт Atmel Studio 7.0. установил. Установка прошла нормально,
но после установки плагина VisualMicro — ничего не появилось.
. и снесла курочка Atmel Studio 7.0

Гуглил. Читал. Курил.
Гугл пообещал, что вроде как с Atmel Studio 6.0 не было проблем (скрины, и т.д. всё говорило об этом). установил.
Установка прошла нормально, но в Tools->Extensions->Awailable Downloads ничего про ардуину не нашел, хотя на скринах в ИНете, должно было быть.
А плагин VisualMicro на 6 версию уже не ставится.
Гулил. Читал. Курил.
Снес 6-ую версию.

НЕ Гуглил! Решил еще раз установить Atmel Studio 7
Опять плагин VisualMicro.
40 минут изучал, Tools->Options (O. Поверьте, там есть что поизучать)
Ничего к VisualMicro и Ардуино не нашел.

Гуглил. Читал. Курил.
Текстовый редактор: Sublime Text 3! (Народ рекомендует среди прочего)
Решил поставить. Поставил. Скачал плагин — Stino. Настроил, как подсказал гугл.
Но при компиляции получил: No such file or directory

Ну вот же он! Я его вижу (LiquidCrystal_I2C)!
Гуглил. И бьло сказано: надо найти platform.txt и переименовать его!

О ЧУДО! после 12-ти часов (вы не представляете, как жалко времени) что-то скомпилилось.
НО это было временное просветленье! Добавление новой библиотеки в C:UsersxxxDocumentsArduinolibraries ни чего не давало, Sublime не видело новую папку! Но после перезапуска IDE Arduino — видело!

Короче я устал бороться!
Я написал (относительно) нормальный скетч, подключил кучу датчиков, у меня уже мало свободных входов!
Я даже придумал на дисплее 2х16 UserFrendly интерфейс, с постраничным просмотром и корректировкой времени RTC.

НО борьба с подключением библиотек меня утомила! Я больше 30 лет программирую (в основном Delphi), я был готов ко всему.

Последняя проблема: хотел подключить IRremote.h полезли ошибки:
D:/Program Files (x86)/Arduino/libraries/IRremote/IRremoteInt.h:15:22: fatal error: WProgram.h: No such file or directory — это уже третья библиотека IRremote, но везде какие-то ошибки.

Я кидал библиотеки и в «D:/Program Files (x86)/Arduino/libraries/» и в «C:UsersxxxDocumentsArduinolibraries» — не видит

Вообщем вопросы:
1. Atmel Studio 7 — можно настроить для нормальной работы с ардуино? (мне бы хотелось с ней работать)
2. Может я в Sublime Text 3 — чо-то не донастроил?

Источник

ARDUINO Гирлянда на ёлку на основе Гайверовой

Palpalych

Приветствую всех. Собирал гирлянду неделей ранее по оригинальной схеме до этого проекта https://alexgyver.ru/christmaslights/. Ее работа мне понравилось!
С прошивкой Алекса появилась возможность управлять кнопкой. Долго думал из чего сделать корпус, и случайно наткнулся на ненужный контроллер светодиодной RGB-ленты с пультом, по случаю купленный за 80₽ три года назад на Али в «Горящих товарах» ))) Сейчас его можно приобрести примерно за 120₽ в обычных магазинах.

Изначально нужна была коробочка, но, как оказалось, пультик вполне рабочий(. ) да и фотоприемник подошел к этой гирлянде. )))

Для включения пульта в скетче нужно указать (видимо):
#define IR_ON 1 // Если равен 1 используется пульт
———-
#define IR_RC5 1 // пульт RC5,
#define IR_RC6 1 // пульт RC6,

Далее расскажу еще несколько лайфхаков и доработок этой гирлянды

Вложения

Palpalych

Немного доработал работу управление кнопкой:
— появился режим включения/выключения подсветки «ночное небо» (темно-синий фон, заместо черного) — 5-кратное нажатие
— появился режим включения/выключения «свечей» (яркое мерцание отдельных светодиодов) — 6-кратное нажатие

В скетче 1main строки 310-313 меняем (зеленым показано добавляемое):
if (btn.hasClicks()) <
if (btn.getClicks() == 4) glitter = !glitter;
if (btn.getClicks() == 5) background = !background;
if (btn.getClicks() == 6) candle = !candle;
>

Там же, чуть ниже, изменил параметры установки яркости гирлянды.
Теперь она не гаснет в ноль (что бы не спутать с выключенной)

if (btn.isStep()) <
stepFlag = true;
max_bright += (brightDir ? 16 : -16 );
max_bright = constrain(max_bright, 15 , 255);
FastLED.setBrightness(max_bright);
>

shtrlz

adm503

Palpalych

adm503

Palpalych

Я по началу тоже думал именно так задавать, но потом посоветовавшись пришел к мысли что не нужно ничего такого городить. Проще считывать количество светодиодов с ленты.

Если брать ленту 30 led м, как у меня, то стандартные отрезки 306090120150180210240270300 led. Плюс другие гирлянды по 50 led, плюс возможность делать самому любой длинны. Если не считывать с последнего диода, то в пору ставить кнопки +- и числовой индикатор. К тому же, реально не все могут перемножить 30 led x 5м. Каждый второй тупит в магазине при покупке ленты.

когда много кнопок, то уже не народная. ))) со считыванием последнего тоже будут дополнительные сложности

на счет dip:
По идее можно сгруппировать в четыре основные группы конфигурации (2 бита):
1 — 30 кратная 30/60/90/120/180/210/240
2 — 50 кратная 50/100/150/200/250
3 — побитная 32/64/96/128/160/192/224/256
4 — «квадратная» (для матричных эффектов) 16/25/64/100/144/256
— это еще 3 бита, итого 5 полозковый конфигуратор

Как говорил, более 256 диодов — это уже другая программа должна будет заливаться.

Palpalych

Прикрутил пультик — делюсь как:
Датчик использовал тот, что перешел с коробочки. Пультик прикупил от управления освещением (см. фото), так как штатный потерялся.
Вообще, можно использовать старый любой от любой техники.
Чтобы посмотреть систему команд, нужно прошить гирлянду скетчем от библиотеки
C:Users%USERNAME%DocumentsArduinolibrariesArduino-IRremote-masterexamplesIRtest2IRtest2.ino

В этом скетче меняем номер пина куда подключена гирлянда:
int RECV_PIN = 8 ; ( notamesh4_gyver.ino ] #define PIN_IR 8 // Номер пина, куда подключен датчик пульта, )

Компилируем, Прошиваем, Запускаем (не вынимая из дата-кабеля), Включаем «Монитор Порта» Ctrl+Shift+M
Теперь нажимая клавиши на жертвенном пульте в мониторе можем видеть декодированную команду а так же сам тип пульта. В моем случае система кодирования оказалась NEC. Нужно теперь последовательно нажимать на все клавиши и переписать в таблицу значения команд, затем их нужно будет перенести в прошивку гирлянды.

Возвращаемся к скетчу гирлянды. В ней нужно разрешить работу с ДУ (для моего случая настройки будут такими):
#define IR_ON 1 // Если равен 1 используется пульт
———————————
#define IR_RC5 0 // пульт RC5,
#define IR_RC6 0 // пульт RC6,
#define IR_NEC 1 // пульт NEC,
#define IR_SONY 0 // пульт SONY,
#define IR_PANASONIC 0 // пульт PANASONIC,
#define IR_JVC 0 // пульт JVC,
#define IR_SAMSUNG 0 // пульт SAMSUNG,
#define IR_WHYNTER 0 // пульт WHYNTER,
#define IR_AIWA 0 // пульт AIWA_RC_T501,
#define IR_LG 0 // пульт LG,
#define IR_SANYO 0 // пульт SANYO,
#define IR_MITSUBISHI 0 // пульт MITSUBISHI,
#define IR_DENON 0 // пульт DENON
#define IR_REPEAT 1 //Включить повтор, при долгом нажании на кнопку пульта будет повтор клавиши

Далее идем в раздел скетча commands.h и прописываем желаемые команды (частичный пример):
#define IR_Key_Reset 0xFF629D // pp-Select // Сброс всех настроек и перезагрузка
——————————
#define IR_Key_Demo_MyMode 0 // // Включит демо режим (перебор)
#define IR_Key_Demo_MyMode_Random 0xFF6897 // pp-Auto // Включит демо режим (Случайно)
——————————
#define IR_Key_Glitter 0xFF22DD // pp-D // Включить/выключить сверкание
#define IR_Key_BackGround 0xFF02FD // pp-W // Включить/выключить заполнение фона
#define IR_Key_Candle 0xFFC23D // pp-L // Включить/выключить свечки
——————————
#define IR_Key_Previous_mode 0xFFA857 // pp-Left // Предыдущий эффект. Отключает демонстрационный режим
#define IR_Key_Next_mode 0xFF906F // pp-Right // Следующий эффект. Отключает демонстрационный режим
.
Обязательно прописываем 0, там где процедуры не обрабатываются кнопками.

Сохраняем, Компилируем, Загружаем. и Вуаля — Пультик прикручен! )))

Источник

Произошла ошибка при загрузке скетча Ардуино

Ошибки компиляции Arduino IDE возникают при проверке или загрузке скетча в плату, если код программы содержит ошибки, компилятор не может найти библиотеки или переменные. На самом деле, сообщение об ошибке при загрузке скетча связано с невнимательностью самого программиста. Рассмотрим в этой статье все возможные ошибки компиляции для платы Ардуино UNO R3, NANO, MEGA и пути их решения.

Ошибки компиляции для Arduino Nano, Uno, Mega

Самые простые ошибки возникают у новичков, кто только начинает разбираться с языком программирования Ардуино и делает первые попытки загрузить скетч. Если вы не нашли решение своей проблемы в статье, то напишите свой вопрос в комментариях к этой записи и мы поможем решить вашу проблему с загрузкой (бесплатно!).

avrdude: stk500_recv(): programmer is not responding

Что делать в этом случае? Первым делом обратите внимание какую плату вы используете и к какому порту она подключена (смотри на скриншоте в правом нижнем углу). Необходимо сообщить Arduino IDE, какая плата используется и к какому порту она подключена. Если вы загружаете скетч в Ардуино Nano V3, но при этом в настройках указана плата Uno или Mega 2560, то вы увидите ошибку, как на скриншоте ниже.

Ошибка Ардуино: programmer is not responding

Такая же ошибка будет возникать, если вы не укажите порт к которому подключена плата (это может быть любой COM-порт, кроме COM1). В обоих случаях вы получите сообщение — плата не отвечает ( programmer is not responding ). Для исправления ошибки надо на панели инструментов Arduino IDE в меню «Сервис» выбрать нужную плату и там же, через «Сервис» → «Последовательный порт» выбрать порт «COM7».

a function-definition is not allowed here before ‘<‘ token

Это значит, что в скетче вы забыли где-то закрыть фигурную скобку. Синтаксические ошибки IDE тоже распространены и связаны они просто с невнимательностью. Такие проблемы легко решаются, так как Arduino IDE даст вам подсказку, стараясь отметить номер строки, где обнаружена ошибка. На скриншоте видно, что строка с ошибкой подсвечена, а в нижнем левом углу приложения указан номер строки.

Ошибка: a function-definition is not allowed here before ‘<‘ token

expected initializer before ‘>’ token / expected ‘;’ before ‘>’ token

Сообщение expected initializer before ‘>’ token говорит о том, что вы, наоборот где-то забыли открыть фигурную скобку. Arduino IDE даст вам подсказку, но если скетч довольно большой, то вам придется набраться терпения, чтобы найти неточность в коде. Ошибка при компиляции программы: expected ‘;’ before ‘>’ token говорит о том, что вы забыли поставить точку с запятой в конце командной строки.

‘что-то’ was not declared in this scope

Что за ошибка? Arduino IDE обнаружила в скетче слова, не являющиеся служебными или не были объявлены, как переменные. Например, вы забыли продекларировать переменную или задали переменную ‘DATA’, а затем по невнимательности используете ‘DAT’, которая не была продекларирована. Ошибка was not declared in this scope возникает при появлении в скетче случайных или лишних символов.

Ошибка Ардуино: was not declared in this scope

Например, на скриншоте выделено, что программист забыл продекларировать переменную ‘x’, а также неправильно написал функцию ‘analogRead’. Такая ошибка может возникнуть, если вы забудете поставить комментарий, написали функцию с ошибкой и т.д. Все ошибки также будут подсвечены, а при нескольких ошибках в скетче, сначала будет предложено исправить первую ошибку, расположенную выше.

exit status 1 ошибка компиляции для платы Arduino

Данная ошибка возникает, если вы подключаете в скетче библиотеку, которую не установили в папку libraries. Например, не установлена библиотека ИК приемника Ардуино: fatal error: IRremote.h: No such file or directory . Как исправить ошибку? Скачайте нужную библиотеку и распакуйте архив в папку C:Program FilesArduinolibraries. Если библиотека установлена, то попробуйте скачать и заменить библиотеку на новую.

exit status 1 Ошибка компиляции для платы Arduino Nano

Довольно часто у новичков выходит exit status 1 ошибка компиляции для платы arduino/genuino uno. Причин данного сообщения при загрузке скетча в плату Arduino Mega или Uno может быть огромное множество. Но все их легко исправить, достаточно внимательно перепроверить код программы. Если в этом обзоре вы не нашли решение своей проблемы, то напишите свой вопрос в комментариях к этой статье.

missing fqbn (fully qualified board name)

Ошибка возникает, если не была выбрана плата. Обратите внимание, что тип платы необходимо выбрать, даже если вы не загружаете, а, например, делаете компиляцию скетча. В Arduino IDE 2 вы можете использовать меню выбора:
— список плат, которые подключены и были идентифицированы Arduino IDE.
— или выбрать плату и порт вручную, без подключения микроконтроллера.

Источник

СОДЕРЖАНИЕ ►

  • Произошла ошибка при загрузке скетча в Ардуино
    • programmer is not responding
    • a function-definition is not allowed arduino ошибка
    • expected initializer before ‘}’ token arduino ошибка
    • ‘что-то’ was not declared in this scope arduino ошибка
    • No such file or directory arduino ошибка
  • Compilation error: Missing FQBN (Fully Qualified Board Name)

Ошибки компиляции Arduino IDE возникают при проверке или загрузке скетча в плату, если код программы содержит ошибки, компилятор не может найти библиотеки или переменные. На самом деле, сообщение об ошибке при загрузке скетча связано с невнимательностью самого программиста. Рассмотрим в этой статье все возможные ошибки компиляции для платы Ардуино UNO R3, NANO, MEGA и пути их решения.

Произошла ошибка при загрузке скетча Ардуино

Самые простые ошибки возникают у новичков, кто только начинает разбираться с языком программирования Ардуино и делает первые попытки загрузить скетч. Если вы не нашли решение своей проблемы в статье, то напишите свой вопрос в комментариях к этой записи и мы поможем решить вашу проблему с загрузкой (бесплатно!).

avrdude: stk500_recv(): programmer is not responding

Что делать в этом случае? Первым делом обратите внимание какую плату вы используете и к какому порту она подключена (смотри на скриншоте в правом нижнем углу). Необходимо сообщить Arduino IDE, какая плата используется и к какому порту она подключена. Если вы загружаете скетч в Ардуино Nano V3, но при этом в настройках указана плата Uno или Mega 2560, то вы увидите ошибку, как на скриншоте ниже.

Ошибка: programmer is not responding

Ошибка Ардуино: programmer is not responding

Такая же ошибка будет возникать, если вы не укажите порт к которому подключена плата (это может быть любой COM-порт, кроме COM1). В обоих случаях вы получите сообщение — плата не отвечает (programmer is not responding). Для исправления ошибки надо на панели инструментов Arduino IDE в меню «Сервис» выбрать нужную плату и там же, через «Сервис» → «Последовательный порт» выбрать порт «COM7».

a function-definition is not allowed here before ‘{‘ token

Это значит, что в скетче вы забыли где-то закрыть фигурную скобку. Синтаксические ошибки IDE тоже распространены и связаны они просто с невнимательностью. Такие проблемы легко решаются, так как Arduino IDE даст вам подсказку, стараясь отметить номер строки, где обнаружена ошибка. На скриншоте видно, что строка с ошибкой подсвечена, а в нижнем левом углу приложения указан номер строки.

Ошибка: a function-definition is not allowed

Ошибка: a function-definition is not allowed here before ‘{‘ token

expected initializer before ‘}’ token   expected ‘;’ before ‘}’ token

Сообщение expected initializer before ‘}’ token говорит о том, что вы, наоборот где-то забыли открыть фигурную скобку. Arduino IDE даст вам подсказку, но если скетч довольно большой, то вам придется набраться терпения, чтобы найти неточность в коде. Ошибка при компиляции программы: expected ‘;’ before ‘}’ token говорит о том, что вы забыли поставить точку с запятой в конце командной строки.

‘что-то’ was not declared in this scope

Что за ошибка? Arduino IDE обнаружила в скетче слова, не являющиеся служебными или не были объявлены, как переменные. Например, вы забыли продекларировать переменную или задали переменную ‘DATA’, а затем по невнимательности используете ‘DAT’, которая не была продекларирована. Ошибка was not declared in this scope возникает при появлении в скетче случайных или лишних символов.

Ошибка Ардуино: was not declared in this scope

Ошибка Ардуино: was not declared in this scope

Например, на скриншоте выделено, что программист забыл продекларировать переменную ‘x’, а также неправильно написал функцию ‘analogRead’. Такая ошибка может возникнуть, если вы забудете поставить комментарий, написали функцию с ошибкой и т.д. Все ошибки также будут подсвечены, а при нескольких ошибках в скетче, сначала будет предложено исправить первую ошибку, расположенную выше.

exit status 1 ошибка компиляции для платы Arduino

Данная ошибка возникает, если вы подключаете в скетче библиотеку, которую не установили в папку libraries. Например, не установлена библиотека ИК приемника Ардуино: fatal error: IRremote.h: No such file or directory. Как исправить ошибку? Скачайте нужную библиотеку и распакуйте архив в папку C:Program FilesArduinolibraries. Если библиотека установлена, то попробуйте скачать и заменить библиотеку на новую.

exit status 1 Ошибка компиляции для Arduino Nano

exit status 1 Ошибка компиляции для платы Arduino Nano

Довольно часто у новичков выходит exit status 1 ошибка компиляции для платы arduino uno /genuino uno. Причин данного сообщения при загрузке скетча в плату Arduino Mega или Uno может быть огромное множество. Но все их легко исправить, достаточно внимательно перепроверить код программы. Если в этом обзоре вы не нашли решение своей проблемы, то напишите свой вопрос в комментариях к этой статье.

missing fqbn (fully qualified board name)

Ошибка возникает, если не была выбрана плата. Обратите внимание, что тип платы необходимо выбрать, даже если вы не загружаете, а, например, делаете компиляцию скетча. В Arduino IDE 2 вы можете использовать меню выбора:
— список плат, которые подключены и были идентифицированы Arduino IDE.
— или выбрать плату и порт вручную, без подключения микроконтроллера.

  • #1

Приветствую всех. Собирал гирлянду неделей ранее по оригинальной схеме до этого проекта https://alexgyver.ru/christmaslights/. Ее работа мне понравилось!
С прошивкой Алекса появилась возможность управлять кнопкой. Долго думал из чего сделать корпус, и случайно наткнулся на ненужный контроллер светодиодной RGB-ленты с пультом, по случаю купленный за 80₽ три года назад на Али в «Горящих товарах» ))) Сейчас его можно приобрести примерно за 120₽ в обычных магазинах.

Изначально нужна была коробочка, но, как оказалось, пультик вполне рабочий(!!!) да и фотоприемник подошел к этой гирлянде. )))

Для включения пульта в скетче нужно указать (видимо):
#define IR_ON 1 // Если равен 1 используется пульт
———-
#define IR_RC5 1 // пульт RC5,
#define IR_RC6
1 // пульт RC6,

Далее расскажу еще несколько лайфхаков и доработок этой гирлянды

  • IMG_20191226_201322.jpg

    46.1 KB
    Просмотры: 281

  • IMG_20191226_201437.jpg

    74 KB
    Просмотры: 288

Изменено: 27 Дек 2019

  • #2

Немного доработал работу управление кнопкой:
— появился режим включения/выключения подсветки «ночное небо» (темно-синий фон, заместо черного) — 5-кратное нажатие
— появился режим включения/выключения «свечей» (яркое мерцание отдельных светодиодов) — 6-кратное нажатие

В скетче 1main строки 310-313 меняем (зеленым показано добавляемое):
if (btn.hasClicks()) {
if (btn.getClicks() == 4) glitter = !glitter;

if (btn.getClicks() == 5) background = !background;
if (btn.getClicks() == 6) candle = !candle;

}

Там же, чуть ниже, изменил параметры установки яркости гирлянды.
Теперь она не гаснет в ноль (что бы не спутать с выключенной)

if (btn.isStep()) {
stepFlag = true;
max_bright += (brightDir ?
16 : -16);
max_bright = constrain(max_bright,
15, 255);
FastLED.setBrightness(max_bright);
}

Изменено: 26 Дек 2019

  • #3

за пару дней до НГ. надо попробовать!

  • #4

А можно еще допилить прошивку чтобы количество диодов определялось автоматически при подключении питания с нажатой кнопкой? Разумеется, конец Dout ленты нужно подключить к arduino. Я использую последовательно две ленты 30ledм = 10м 300led и на дальний конец ленты я подаю дополнительно напряжение. Т.е. подключить Dout к arduino легко + полезно по питанию. Такая прошивка стала бы народной т.к. настраивалась бы без компьютера (без пуско-наладочных работ).

  • #5

А можно еще допилить прошивку чтобы количество диодов определялось автоматически при подключении питания с нажатой кнопкой? Разумеется, конец Dout ленты нужно подключить к arduino. Я использую последовательно две ленты 30ledм = 10м 300led и на дальний конец ленты я подаю дополнительно напряжение. Т.е. подключить Dout к arduino легко + полезно по питанию. Такая прошивка стала бы народной т.к. настраивалась бы без компьютера (без пуско-наладочных работ).

Изначально думал над этим и предлагал Алексу реализовать принцип еще до того, когда он сделал эту переделку… По сути, нужно установить задатчик на основе DIP-переключателя. а основываясь на уже полученных знаниях предположу, что конфигурацию проще реализовать определяя цепи по 50 светодиодов (китайцы делают цепи такой длины) и максимумом 250… Далее просто в прошивке нужно будет выходить за определение байта к слову адресации.
Для знающих, такой допил будет легко организовать. Я, к сожалению, так далеко в программировании Ардуинки еще не заходил ))

  • #6

на основе DIP-переключателя

Я по началу тоже думал именно так задавать, но потом посоветовавшись пришел к мысли что не нужно ничего такого городить. Проще считывать количество светодиодов с ленты.

50 светодиодов (китайцы делают цепи такой длины) и максимумом 250…

Если брать ленту 30 led м, как у меня, то стандартные отрезки 306090120150180210240270300 led. Плюс другие гирлянды по 50 led, плюс возможность делать самому любой длинны. Если не считывать с последнего диода, то в пору ставить кнопки +- и числовой индикатор. К тому же, реально не все могут перемножить 30 led x 5м. Каждый второй тупит в магазине при покупке ленты.

  • #7

Я по началу тоже думал именно так задавать, но потом посоветовавшись пришел к мысли что не нужно ничего такого городить. Проще считывать количество светодиодов с ленты.

Если брать ленту 30 led м, как у меня, то стандартные отрезки 306090120150180210240270300 led. Плюс другие гирлянды по 50 led, плюс возможность делать самому любой длинны. Если не считывать с последнего диода, то в пору ставить кнопки +- и числовой индикатор. К тому же, реально не все могут перемножить 30 led x 5м. Каждый второй тупит в магазине при покупке ленты.

когда много кнопок, то уже не народная… ))) со считыванием последнего тоже будут дополнительные сложности

на счет dip:
По идее можно сгруппировать в четыре основные группы конфигурации (2 бита):
1 — 30 кратная 30/60/90/120/180/210/240
2 — 50 кратная 50/100/150/200/250
3 — побитная 32/64/96/128/160/192/224/256
4 — «квадратная» (для матричных эффектов) 16/25/64/100/144/256
— это еще 3 бита, итого 5 полозковый конфигуратор

Как говорил, более 256 диодов — это уже другая программа должна будет заливаться.

  • #8

Прикрутил пультик — делюсь как:
Датчик использовал тот, что перешел с коробочки. Пультик прикупил от управления освещением (см. фото), так как штатный потерялся.
IMG_20191229_175636.jpg Вообще, можно использовать старый любой от любой техники!!!
Чтобы посмотреть систему команд, нужно прошить гирлянду скетчем от библиотеки
C:Users%USERNAME%DocumentsArduinolibrariesArduino-IRremote-masterexamplesIRtest2IRtest2.ino

В этом скетче меняем номер пина куда подключена гирлянда:
int RECV_PIN = 8; (<= переносим из прошивки гирлянды [notamesh4_gyver.ino] #define PIN_IR 8 // Номер пина, куда подключен датчик пульта,)

Компилируем, Прошиваем, Запускаем (не вынимая из дата-кабеля), Включаем «Монитор Порта» Ctrl+Shift+M
Теперь нажимая клавиши на жертвенном пульте в мониторе можем видеть декодированную команду а так же сам тип пульта. В моем случае система кодирования оказалась NEC. Нужно теперь последовательно нажимать на все клавиши и переписать в таблицу значения команд, затем их нужно будет перенести в прошивку гирлянды.

Возвращаемся к скетчу гирлянды. В ней нужно разрешить работу с ДУ (для моего случая настройки будут такими):
#define IR_ON 1 // Если равен 1 используется пульт
———————————
#define IR_RC5 0 // пульт RC5,
#define IR_RC6 0 // пульт RC6,
#define IR_NEC
1 // пульт NEC,
#define IR_SONY 0 // пульт SONY,
#define IR_PANASONIC 0 // пульт PANASONIC,
#define IR_JVC 0 // пульт JVC,
#define IR_SAMSUNG 0 // пульт SAMSUNG,
#define IR_WHYNTER 0 // пульт WHYNTER,
#define IR_AIWA 0 // пульт AIWA_RC_T501,
#define IR_LG 0 // пульт LG,
#define IR_SANYO 0 // пульт SANYO,
#define IR_MITSUBISHI 0 // пульт MITSUBISHI,
#define IR_DENON 0 // пульт DENON
#define IR_REPEAT
1 //Включить повтор, при долгом нажании на кнопку пульта будет повтор клавиши

Далее идем в раздел скетча commands.h и прописываем желаемые команды (частичный пример):
#define IR_Key_Reset 0xFF629D // pp-Select // Сброс всех настроек и перезагрузка
——————————
#define IR_Key_Demo_MyMode
0 // // Включит демо режим (перебор)
#define IR_Key_Demo_MyMode_Random
0xFF6897 // pp-Auto // Включит демо режим (Случайно)
——————————
#define IR_Key_Glitter
0xFF22DD // pp-D // Включить/выключить сверкание
#define IR_Key_BackGround
0xFF02FD // pp-W // Включить/выключить заполнение фона
#define IR_Key_Candle
0xFFC23D // pp-L // Включить/выключить свечки
——————————
#define IR_Key_Previous_mode
0xFFA857 // pp-Left // Предыдущий эффект. Отключает демонстрационный режим
#define IR_Key_Next_mode
0xFF906F // pp-Right // Следующий эффект. Отключает демонстрационный режим
………………..

Обязательно прописываем 0, там где процедуры не обрабатываются кнопками.

Сохраняем, Компилируем, Загружаем… и Вуаля — Пультик прикручен! )))

  • #9

Очередная доработка для шлейфов ws2612b
Сами шлейфы были прикуплены заранее, еще до окончательной реализации проекта, поэтому столкнулся с проблемой одностороннего рассеивания. Долго думал как реализовать светорассеиватель. Кембрики и кусочки акрила были отметены из-за низкой эффективности. Пробовал примерять пластиковые стразы, но и их пришлось бы дорабатывать, но опять же без действенного результата. Тогда решил поискать в области швейной фурнитуры… Сразу скажу, что у меня был выход на оптовую фирму, где удалось не только выбрать пуговицы нужной формы, но и закупить оные за сущие копейки.
Выбор пал на такой экземпляр:
IMG_20191227_010405.jpg — акриловые блузочные пуговицы диаметром 12мм.
Основное достоинство их в том, что они имеют граненый венец по типу «кристалл», что в итоге оказалось существенным приемуществом!

Крепил обычным термоклеем, причем этот клей сослужил еще интересную службу — при придавливании пуговицы к светодиоду он просачивался сквозь отверстия для пришивания, и застывая создал некий рассеивающий световод, что позволило переизлучить свет внутрь толщи акрила. И что в свою очередь заставил светится пуговицу во всех направлениях, даже назад! А грани преломляли этот свет по типу искрящегося снега!

IMG_20191227_010257.jpgIMG_20191227_010559.jpgIMG_20191227_010626.jpgIMG_20191227_010633.jpgIMG_20191227_010714.jpg

Дополнительно залил термоклеем заднюю площадку с наплывами на проводники 2-3мм для укрепления этих проводов и пайки а также для изоляции от короткого замыкания.

  • IMG_20191227_010629.jpg

    14.5 KB
    Просмотры: 39

  • #10

вот жеж… ваще огонь с пуговицами.

  • #12

Дня три прожила гирлянда и … Умерла ардуинка. Возможно сам виноват — не было резистора. Это была единственная Ардуино нано. Есть ещё две платки Ардуино про мини. Подключился аналогично нано, но гирлянда не работает, лишь светит белым цветом. Количество светодиодов соответствует указанному в скетче. Возможно ли без существенных изменений заставить работать гирлянду? Может на другой пин подключить? Дочка переживает — при ней гирлянда сломалась.

Wan-Derer


  • #13

@25kostik, Возможно, сдохла не Ардуино, а первый диод в ленте. Проверить выход Ардуино: подключить на него обычный светодиод с резистором и помигать им.

  • #14

@25kostik, Возможно, сдохла не Ардуино, а первый диод в ленте. Проверить выход Ардуино: подключить на него обычный светодиод с резистором и помигать им.

Все же скорее всего дело в ардуино. Раньше светодиод на ардуино светился, сейчас нет и компом не определяется.

  • #15

@Palpalych, Этот проект уже стал полноценным форком, поэтому ветки объединять не будем. Пусть живёт своей жизнью. Дай ссылку на это обсуждение в основной ветке по проекту.

А смысл? Все построено на прошивке от Алекса… Поэтому это один и тот же проект, только доработанный. )))

  • #16

Все же скорее всего дело в ардуино. Раньше светодиод на ардуино светился, сейчас нет и компом не определяется.

Попробуй перекинуть выход, если сама плата подает признаки жизни

  • #17

Попробуй перекинуть выход, если сама плата подает признаки жизни

Вечером с работы тестер возьму что бы хоть что то померять. А так, признаков жизни нет. Компом не определяется, светодиод power не светится.
Возможно ли перенести скетч на про мини лёгким путем? А если проц перекинуть с про мини на нано? Определяться как будет? Или и загрузчик надо переписывать?

  • #18

Вечером с работы тестер возьму что бы хоть что то померять. А так, признаков жизни нет. Компом не определяется, светодиод power не светится.
Возможно ли перенести скетч на про мини лёгким путем? А если проц перекинуть с про мини на нано? Определяться как будет? Или и загрузчик надо переписывать?

Не знаю, пока опыта мало в Ардуине… сам эту тему прочухал второй неделей.. ))) Варианта 2 — либо сам камень, либо стабилизатор. Второй, в принципе лечится заменой. Если не горелое (не пахнет), то смотри на то, что больше греется. По идее портирование, особенно в смежных девайсах не составляет сложности.

Fortunate


  • #19

Прикрутил пультик — делюсь как:

У меня проблема. Компилирую для WEMOS D1 mini. Выдает ошибку

In file included from ChristmasLights-masterfirmwarenotamesh4_gyver_v1.11main.ino:16:0:

IRremote.h:24:25: error: IRremoteInt.h: No such file or directory

 #include "IRremoteInt.h"

                         ^

compilation terminated.

exit status 1
IRremoteInt.h: No such file or directory

Библиотека IRremote подключена.
Если вручную скопировать IRremoteInt.h из подпапки srcprivate в папку src
то выдает вообще что-то невообразимое

In file included from ChristmasLights-masterfirmwarenotamesh4_gyver_v1.11main.ino:13:0:

C:Program Files (x86)ArduinolibrariesFastLED/FastLED.h:14:21: note: #pragma message: FastLED version 3.002.009

 #    pragma message "FastLED version 3.002.009"

                     ^

In file included from C:Program Files (x86)ArduinolibrariesFastLED/FastLED.h:65:0,

                 from ChristmasLights-masterfirmwarenotamesh4_gyver_v1.11main.ino:13:

C:Program Files (x86)ArduinolibrariesFastLED/fastspi.h:115:23: note: #pragma message: No hardware SPI pins defined.  All SPI access will default to bitbanged output

 #      pragma message "No hardware SPI pins defined.  All SPI access will default to bitbanged output"

                       ^

In file included from DocumentsArduinolibrariesIRremotesrc/IRremoteInt.h:27:0,

                 from sketchIRremote.h:24,

                 from ChristmasLights-masterfirmwarenotamesh4_gyver_v1.11main.ino:16:

DocumentsArduinolibrariesIRremotesrc/IRremoteBoardDefs.h: In function 'void timerConfigForSend(uint16_t)':

DocumentsArduinolibrariesIRremotesrc/IRremoteBoardDefs.h:512:5: error: 'TCCR1A' was not declared in this scope

     TCCR1A = _BV(WGM11);

     ^

In file included from sketchnotamesh4_gyver_v1.1.ino.cpp:1:0:

DocumentsArduinolibrariesIRremotesrc/IRremoteBoardDefs.h:512:18: error: 'WGM11' was not declared in this scope

     TCCR1A = _BV(WGM11);

                  ^

AppDataLocalArduino15packagesesp8266hardwareesp82662.7.4coresesp8266/Arduino.h:168:25: note: in definition of macro '_BV'

 #define _BV(b) (1UL << (b))

                         ^

In file included from DocumentsArduinolibrariesIRremotesrc/IRremoteInt.h:27:0,

                 from sketchIRremote.h:24,

                 from DesktopChristmasLights-masterfirmwarenotamesh4_gyver_v1.11main.ino:16:

DocumentsArduinolibrariesIRremotesrc/IRremoteBoardDefs.h:513:5: error: 'TCCR1B' was not declared in this scope

     TCCR1B = _BV(WGM13) | _BV(CS10);

     ^

In file included from sketchnotamesh4_gyver_v1.1.ino.cpp:1:0:

DocumentsArduinolibrariesIRremotesrc/IRremoteBoardDefs.h:513:18: error: 'WGM13' was not declared in this scope

     TCCR1B = _BV(WGM13) | _BV(CS10);

                  ^

AppDataLocalArduino15packagesesp8266hardwareesp82662.7.4coresesp8266/Arduino.h:168:25: note: in definition of macro '_BV'

 #define _BV(b) (1UL << (b))

                         ^

DocumentsArduinolibrariesIRremotesrc/IRremoteBoardDefs.h:513:31: error: 'CS10' was not declared in this scope

     TCCR1B = _BV(WGM13) | _BV(CS10);

                               ^

AppDataLocalArduino15packagesesp8266hardwareesp82662.7.4coresesp8266/Arduino.h:168:25: note: in definition of macro '_BV'

 #define _BV(b) (1UL << (b))

                         ^

In file included from DocumentsArduinolibrariesIRremotesrc/IRremoteInt.h:27:0,

                 from sketchIRremote.h:24,

                 from DesktopChristmasLights-masterfirmwarenotamesh4_gyver_v1.11main.ino:16:

DocumentsArduinolibrariesIRremotesrc/IRremoteBoardDefs.h:514:5: error: 'ICR1' was not declared in this scope

     ICR1 = pwmval;

     ^

DocumentsArduinolibrariesIRremotesrc/IRremoteBoardDefs.h:515:5: error: 'OCR1A' was not declared in this scope

     OCR1A = pwmval * IR_SEND_DUTY_CYCLE / 100;

     ^

DocumentsArduinolibrariesIRremotesrc/IRremoteBoardDefs.h: In function 'void timerConfigForReceive()':

DocumentsArduinolibrariesIRremotesrc/IRremoteBoardDefs.h:519:5: error: 'TCCR1A' was not declared in this scope

     TCCR1A = 0;

     ^

DocumentsArduinolibrariesIRremotesrc/IRremoteBoardDefs.h:520:5: error: 'TCCR1B' was not declared in this scope

     TCCR1B = _BV(WGM12) | _BV(CS10);

     ^

In file included from sketchnotamesh4_gyver_v1.1.ino.cpp:1:0:

DocumentsArduinolibrariesIRremotesrc/IRremoteBoardDefs.h:520:18: error: 'WGM12' was not declared in this scope

     TCCR1B = _BV(WGM12) | _BV(CS10);

                  ^

AppDataLocalArduino15packagesesp8266hardwareesp82662.7.4coresesp8266/Arduino.h:168:25: note: in definition of macro '_BV'

 #define _BV(b) (1UL << (b))

                         ^

DocumentsArduinolibrariesIRremotesrc/IRremoteBoardDefs.h:520:31: error: 'CS10' was not declared in this scope

     TCCR1B = _BV(WGM12) | _BV(CS10);

                               ^

AppDataLocalArduino15packagesesp8266hardwareesp82662.7.4coresesp8266/Arduino.h:168:25: note: in definition of macro '_BV'

 #define _BV(b) (1UL << (b))

                         ^

In file included from DocumentsArduinolibrariesIRremotesrc/IRremoteInt.h:27:0,

                 from sketchIRremote.h:24,

                 from DesktopChristmasLights-masterfirmwarenotamesh4_gyver_v1.11main.ino:16:

DocumentsArduinolibrariesIRremotesrc/IRremoteBoardDefs.h:521:5: error: 'OCR1A' was not declared in this scope

     OCR1A = SYSCLOCK * MICROS_PER_TICK / 1000000;

     ^

DocumentsArduinolibrariesIRremotesrc/IRremoteBoardDefs.h:522:5: error: 'TCNT1' was not declared in this scope

     TCNT1 = 0;

     ^

exit status 1
Ошибка компиляции для платы LOLIN(WEMOS) D1 R2 & mini.

Помогите, пожалуйста — не знаю что делать

  • #20

@Fortunate, На Wemos идет своя библиотека для работы с пультом, если не ошибаюсь IRemote8266
там совершенно другая логика управления, и скорее всего придется переделывать модуль.

Fortunate


  • #21

Я не смогу переделать — не настолько понимаю в программировании Arduino :(

  • #22

Я не смогу переделать — не настолько понимаю в программировании Arduino :(

Под Wemos сам спишу сделать скетч своей гирлянды пока, правда, без пультика. По идее, там уже есть прописанный модуль ДУ, можно будет попробовать подкрутить…

Fortunate


  • #23

Под Wemos сам спишу сделать скетч своей гирлянды пока, правда, без пультика. По идее, там уже есть прописанный модуль ДУ, можно будет попробовать подкрутить…

Если будут успехи — дашь знать?

Ошибка компиляции в Arduino

Даже опытные программисты-«ардуинщики» могут столкнуться с ошибками компиляции. Исправить их не сложно, а вот найти порой не так просто. Мы решили рассказать сегодня в деталях, какие системные ошибки чаще возникают на различных платах Ардуино, как их исправить и по возможности избежать.

Для начала рассмотрим базовые, так называемые синтаксические ошибки. Они встречаются чаще всего у новичков, но и опытные электронщики с ними точно знакомы не понаслышке. Искать их обычно супер-просто – в Arduino IDE некорректный синтаксис выделяется построчно (таким образом значительно легче отыскать неточность в кодах). Обычно это: отсутствие скобки в конце команды, пропуск этой самой служебной команды или слова, нехватка важных функций, неправильное их написание и т.д.

Для быстрого поиска ошибки советуем рассмотреть строку-подсказку. Ничего не помогло? Тогда для вас наша подборка наиболее распространенных синтаксических ошибок:

С синтаксисом все понятно – вставляем пропущенные символы, убираем лишние знаки, возвращаем функции по умолчанию.
Напомним, в среде разработки Ардуино IDE можно заливать скетчи для различных микроконтроллеров. По умолчанию обычно указана плата Genuino Uno. Если вы работаете с Mega, следует выбрать именно эту платформу (меню «Сервис»), иначе вас ожидает неприятное предупреждение: “programmer is not responding”.

Ошибка компиляции для платы Arduino Uno чаще всего возникает из-за проблем, связанных с библиотеками, например, неправильно подключили, не то ПО инсталлировали. В этом случае вы увидите напоминание fatal error: … No such file or directory” (библиотека не перенесена в папку libraries) или redefinition of void setup”.


Обозначенная на скриншоте ERROR означает, что программирование завершилось некорректно (расшифровываем: внутренние проблемы с компилятором, не обновили версию IDE, сбой в библиотеке, неправильный выбор разрядности операционной системы и др.).
Важно! Не забывайте использовать подсказки приложения – они очень помогают. Включаем тут: Файл -> Настройки -> «Показать подробный вывод во время компиляции».

Что делать, если произошла ошибка при загрузке скетча Arduino Nano. Тут могут быть те же причины, что мы описали выше. Особых отличий в компиляции плат нет, главное, их правильный выбор первоначально. Однако часто пользователи настраивают не те показатели скорости порта: 9600 вместо необходимых 57600 либо не имеют соответствующих драйверов на устройствах – все это нужно проверить и исправить!

Источник

Arduino.ru

подскажите ардуино- это просто? (No such file or directory)

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Всем добрый день.3 неделя в пустую сижу и не понимаю. Вроде все просто но нет. есть программа которая сто процентов работает так как 3 месяца после форматирования компа она вшилась в ардуинку. и вот собрав плату и в паяв ардуину решил поправить код, как говориться навести шик и блеск. но не успев это сделать началось ругательство ардуино иде. что только я не прововал переустанавливал менял папки библиотек. и даже другой ноут. что за фигня просто залить скеч это такая жжж. уже все готовое от автора и скеч и библиотеки, но не могу залить. BLINK работает. помогите спасите. Заранее благодарю Arduino: 1.8.16 (Windows 7), Плата:»Arduino Nano, ATmega328P» C:Program FilesArduinoarduino-builder -dump-prefs -logger=machine -hardware C:Program FilesArduinohardware -hardware C:Users1AppDataLocalArduino15packages -tools C:Program FilesArduinotools-builder -tools C:Program FilesArduinohardwaretoolsavr -tools C:Users1AppDataLocalArduino15packages -built-in-libraries C:Program FilesArduinolibraries -libraries C:Users1DocumentsArduinolibraries -fqbn=arduino:avr:nano:cpu=atmega328 -vid-pid=1A86_7523 -ide-version=10816 -build-path C:Users1AppDataLocalTemparduino_build_783368 -warnings=none -build-cache C:Users1AppDataLocalTemparduino_cache_854966 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=C:Users1AppDataLocalArduino15packagesarduinotoolsarduinoOTA1.1.1 -prefs=runtime.tools.arduinoOTA-1.1.1.path=C:Users1AppDataLocalArduino15packagesarduinotoolsarduinoOTA1.1.1 -prefs=runtime.tools.avrdude.path=C:Users1AppDataLocalArduino15packagesarduinotoolsavrdude6.3.0-arduino9 -prefs=runtime.tools.avrdude-6.3.0-arduino9.path=C:Users1AppDataLocalArduino15packagesarduinotoolsavrdude6.3.0-arduino9 -prefs=runtime.tools.avr-gcc.path=C:Users1AppDataLocalArduino15packagesarduinotoolsavr-gcc4.9.2-atmel3.5.4-arduino2 -prefs=runtime.tools.avr-gcc-4.9.2-atmel3.5.4-arduino2.path=C:Users1AppDataLocalArduino15packagesarduinotoolsavr-gcc4.9.2-atmel3.5.4-arduino2 -verbose C:Users1DesktopV.A.W Metr V2.0 INA 226-20211008T162125Z-001V.A.W Metr V2.0 INA 226Скетч и БиблиотекиV.A.W_metr_INA226V.A.W_metr_INA226.ino C:Program FilesArduinoarduino-builder -compile -logger=machine -hardware C:Program FilesArduinohardware -hardware C:Users1AppDataLocalArduino15packages -tools C:Program FilesArduinotools-builder -tools C:Program FilesArduinohardwaretoolsavr -tools C:Users1AppDataLocalArduino15packages -built-in-libraries C:Program FilesArduinolibraries -libraries C:Users1DocumentsArduinolibraries -fqbn=arduino:avr:nano:cpu=atmega328 -vid-pid=1A86_7523 -ide-version=10816 -build-path C:Users1AppDataLocalTemparduino_build_783368 -warnings=none -build-cache C:Users1AppDataLocalTemparduino_cache_854966 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=C:Users1AppDataLocalArduino15packagesarduinotoolsarduinoOTA1.1.1 -prefs=runtime.tools.arduinoOTA-1.1.1.path=C:Users1AppDataLocalArduino15packagesarduinotoolsarduinoOTA1.1.1 -prefs=runtime.tools.avrdude.path=C:Users1AppDataLocalArduino15packagesarduinotoolsavrdude6.3.0-arduino9 -prefs=runtime.tools.avrdude-6.3.0-arduino9.path=C:Users1AppDataLocalArduino15packagesarduinotoolsavrdude6.3.0-arduino9 -prefs=runtime.tools.avr-gcc.path=C:Users1AppDataLocalArduino15packagesarduinotoolsavr-gcc4.9.2-atmel3.5.4-arduino2 -prefs=runtime.tools.avr-gcc-4.9.2-atmel3.5.4-arduino2.path=C:Users1AppDataLocalArduino15packagesarduinotoolsavr-gcc4.9.2-atmel3.5.4-arduino2 -verbose C:Users1DesktopV.A.W Metr V2.0 INA 226-20211008T162125Z-001V.A.W Metr V2.0 INA 226Скетч и БиблиотекиV.A.W_metr_INA226V.A.W_metr_INA226.ino Using board ‘nano’ from platform in folder: C:Users1AppDataLocalArduino15packagesarduinohardwareavr1.6.20 Using core ‘arduino’ from platform in folder: C:Users1AppDataLocalArduino15packagesarduinohardwareavr1.6.20 Detecting libraries used. «C:\Users\1\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2/bin/avr-g++» -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10816 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR «-IC:\Users\1\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.20\cores\arduino» «-IC:\Users\1\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.20\variants\eightanaloginputs» «C:\Users\1\AppData\Local\Temp\arduino_build_783368\sketch\V.A.W_metr_INA226.ino.cpp» -o nul Alternatives for INA226.h: [[email protected]] ResolveLibrary(INA226.h) -> candidates: [[email protected]] «C:\Users\1\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2/bin/avr-g++» -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10816 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR «-IC:\Users\1\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.20\cores\arduino» «-IC:\Users\1\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.20\variants\eightanaloginputs» «-IC:\Program Files\Arduino\libraries\INA226-master» «C:\Users\1\AppData\Local\Temp\arduino_build_783368\sketch\V.A.W_metr_INA226.ino.cpp» -o nul Alternatives for SPI.h: [[email protected]] ResolveLibrary(SPI.h) -> candidates: [[email protected]] «C:\Users\1\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2/bin/avr-g++» -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10816 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR «-IC:\Users\1\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.20\cores\arduino» «-IC:\Users\1\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.20\variants\eightanaloginputs» «-IC:\Program Files\Arduino\libraries\INA226-master» «-IC:\Program Files\Arduino\libraries\SPI-master» «C:\Users\1\AppData\Local\Temp\arduino_build_783368\sketch\V.A.W_metr_INA226.ino.cpp» -o nul Alternatives for TFT_ST7735.h: [[email protected]] ResolveLibrary(TFT_ST7735.h) -> candidates: [[email protected]] «C:\Users\1\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2/bin/avr-g++» -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10816 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR «-IC:\Users\1\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.20\cores\arduino» «-IC:\Users\1\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.20\variants\eightanaloginputs» «-IC:\Program Files\Arduino\libraries\INA226-master» «-IC:\Program Files\Arduino\libraries\SPI-master» «-IC:\Program Files\Arduino\libraries\TFT_ST7735-master» «C:\Users\1\AppData\Local\Temp\arduino_build_783368\sketch\V.A.W_metr_INA226.ino.cpp» -o nul «C:\Users\1\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2/bin/avr-g++» -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10816 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR «-IC:\Users\1\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.20\cores\arduino» «-IC:\Users\1\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.20\variants\eightanaloginputs» «-IC:\Program Files\Arduino\libraries\INA226-master» «-IC:\Program Files\Arduino\libraries\SPI-master» «-IC:\Program Files\Arduino\libraries\TFT_ST7735-master» «C:\Program Files\Arduino\libraries\INA226-master\INA226.cpp» -o nul Alternatives for Wire.h: [] ResolveLibrary(Wire.h)nolibrariesINA226-masterINA226.cpp:16:117: fatal error: Wire.h: No such file or directory -> candidates: [] #include // I2C Library definition // ^ compilation terminated. Используем библиотеку INA226-master версии 1.0.3 из папки: C:Program FilesArduinolibrariesINA226-master Используем библиотеку SPI-master версии 1.0 из папки: C:Program FilesArduinolibrariesSPI-master Используем библиотеку TFT_ST7735-master версии 0.17 из папки: C:Program FilesArduinolibrariesTFT_ST7735-master exit status 1 Ошибка компиляции для платы Arduino Nano.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Надо комп отформатировать

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Надо комп отформатировать

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Просто, тогда мы ещё 3 недели тебя не увидим.

Источник

Arduino IDE ошибки компиляции скетча

Ошибки компиляции Arduino IDE возникают при проверке или загрузке скетча в плату, если код программы содержит ошибки, компилятор не может найти библиотеки или переменные. На самом деле, сообщение об ошибке при загрузке скетча связано с невнимательностью самого программиста. Рассмотрим в этой статье все возможные ошибки компиляции для платы Ардуино UNO R3, NANO, MEGA и пути их решения.

Ошибка компиляции для Arduino Nano, Uno, Mega

Самые простые ошибки возникают у новичков, кто только начинает разбираться с языком программирования Ардуино и делает первые попытки загрузить скетч. Если вы не нашли решение своей проблемы в статье, то напишите свой вопрос в комментариях к этой записи и мы поможем решить вашу проблему с загрузкой (бесплатно!).

Ошибка: avrdude: stk500_recv(): programmer is not responding

Что делать в этом случае? Первым делом обратите внимание какую плату вы используете и к какому порту она подключена (смотри на скриншоте в правом нижнем углу). Необходимо сообщить Arduino IDE, какая плата используется и к какому порту она подключена. Если вы загружаете скетч в Ардуино Nano V3, но при этом в настройках указана плата Uno или Mega 2560, то вы увидите ошибку, как на скриншоте ниже.

Ошибка Ардуино: programmer is not responding

Такая же ошибка будет возникать, если вы не укажите порт к которому подключена плата (это может быть любой COM-порт, кроме COM1). В обоих случаях вы получите сообщение — плата не отвечает ( programmer is not responding ). Для исправления ошибки надо на панели инструментов Arduino IDE в меню «Сервис» выбрать нужную плату и там же, через «Сервис» → «Последовательный порт» выбрать порт «COM7».

Ошибка: a function-definition is not allowed here before ‘<‘ token

Это значит, что в скетче вы забыли где-то закрыть фигурную скобку. Синтаксические ошибки IDE тоже распространены и связаны они просто с невнимательностью. Такие проблемы легко решаются, так как Arduino IDE даст вам подсказку, стараясь отметить номер строки, где обнаружена ошибка. На скриншоте видно, что строка с ошибкой подсвечена, а в нижнем левом углу приложения указан номер строки.

Ошибка: a function-definition is not allowed here before ‘<‘ token

Ошибка: expected initializer before ‘>’ token / expected ‘;’ before ‘>’ token

Сообщение expected initializer before ‘>’ token говорит о том, что вы, наоборот где-то забыли открыть фигурную скобку. Arduino IDE даст вам подсказку, но если скетч довольно большой, то вам придется набраться терпения, чтобы найти неточность в коде. Ошибка при компиляции программы: expected ‘;’ before ‘>’ token говорит о том, что вы забыли поставить точку с запятой в конце командной строки.

Ошибка: ‘ ‘ was not declared in this scope

Что за ошибка? Arduino IDE обнаружила в скетче слова, не являющиеся служебными или не были объявлены, как переменные. Например, вы забыли продекларировать переменную или задали переменную ‘DATA’, а затем по невнимательности используете ‘DAT’, которая не была продекларирована. Ошибка was not declared in this scope возникает при появлении в скетче случайных или лишних символов.

Ошибка Ардуино: was not declared in this scope

Например, на скриншоте выделено, что программист забыл продекларировать переменную ‘x’, а также неправильно написал функцию ‘analogRead’. Такая ошибка может возникнуть, если вы забудете поставить комментарий, написали функцию с ошибкой и т.д. Все ошибки также будут подсвечены, а при нескольких ошибках в скетче, сначала будет предложено исправить первую ошибку, расположенную выше.

Ошибка: No such file or directory / exit status 1

Данная ошибка возникает, если вы подключаете в скетче библиотеку, которую не установили в папку libraries. Например, не установлена библиотека ИК приемника Ардуино: fatal error: IRremote.h: No such file or directory . Как исправить ошибку? Скачайте нужную библиотеку и распакуйте архив в папку C:Program FilesArduinolibraries. Если библиотека установлена, то попробуйте скачать и заменить библиотеку на новую.

exit status 1 Ошибка компиляции для платы Arduino Nano

Довольно часто у новичков выходит exit status 1 ошибка компиляции для платы arduino/genuino uno. Причин данного сообщения при загрузке скетча в плату Arduino Mega или Uno может быть огромное множество. Но все их легко исправить, достаточно внимательно перепроверить код программы. Если в этом обзоре вы не нашли решение своей проблемы, то напишите свой вопрос в комментариях к этой статье.

Источник

It’s 11 PM on a Wednesday. You’ve just spent three hours toiling on your next Arduino project, and FINALLY, you’re ready to give your sketch a whirl. You hit upload, palms sweaty with anticipation to see all your hard work come to fruition. It’s then you see the error:

No such file or directory.

Surely this is a chance aberration. “Nothing to worry about,” you mutter, sleep-starved and semi-delirious as you hit upload again. And once more, those maddening words, “no such file or directory,” stare back at you in hostile gaslighting mockery.

Have you been here?

If you’re trying to run an Arduino sketch but keep coming across the “no such file or directory” error, don’t worry. This is actually a pretty common problem, and there are two easy fixes that almost always work.

Keep on reading. We’ll show you what they are.

No such file error!

Error messages can be such a pain. They do, however, serve a useful purpose by telling us something about what went wrong. At first glance, the no such file or directory error is particularly maddening because it seems to break that useful purpose rule. Of course there’s a file or directory! You just made the thing, and it’s right there, tucked inside a directory.

But hold up, let’s take a closer look. If you look at the bottom portion of the Arduino IDE where the error message shows up, there’s this handy little button that says “copy error messages.”

Click on that now. You probably won’t fall off your chair to learn that by clicking that button, you just copied the error message from the little window at the bottom of The Serial Monitor’s UI to the clipboard of your computer.

This copy feature is ridiculously useful. You could, for example, paste the error message into Google and learn more about the error. Or you could take advantage of the active Arduino community by asking for help in a forum. For this situation, however, we can be a bit more basic. All we’re going to do is take a closer look at what the message is actually saying. To do that, just fire up your PC’s text editor and paste it into the blank screen.

Decoding the no such file error

Here it is, that pesky error in all its freshly pasted glory.

no such file error printed out on Arduino IDE error section

I’ll break it down for you line by line.

  • The first line is easy. It’s just describing the Arduino version in use, what operating system is running, and which board you have selected.
  • Line 2 begins to zero in on the problem.
    • The first bit, “knob,” is referring to the name of the program. This is your sketch, basically.
    • The second bit is what usually begins to confuse people, but it’s easy once you know. The “10” in this example is telling you the error occurred on line 10 of your sketch. The “19” is telling you the length of the line of code in spaces and characters. The first number is usually the more helpful of the two because you can use it to locate the error in your sketch.
  • Then we get to the smoking gun of the error. It says, “servo.h: No such file or directory”.

So this thing, “Servo.h.” That’s the thing we need to fix, and thanks to line 2, we know where to find it. Line 10. It’s always line 10.

Now that we know what’s going on a bit better, let’s get down to the business of implementing a fix.

The error of our ways

Let’s lay down some scrutiny on this accursed line 10.

It says “#include <servo.h>”

When we verify this code, this line is telling the Arduino IDE compiler, “Hey, for this program to work, you need to go get this file called servo.h”.

Let’s say you had a label-making machine, and you wanted to use it to print some cool motivational labels, like “Success!” and “Keep Trying!” and “Look, Nachos!” To make that happen, you’ll first have to load in a roll of labels. No roll of labels? Well, then the label maker isn’t gonna work.

The sketch you’re trying to upload is like the label maker. The file (in our example, the file named “servo.h”) is the roll of labels.

So the error message actually is saying something useful. It’s saying, “Hey programmer, you said I needed this other file. Well, I looked for it and it’s not there. What gives?”

Now we know the error message isn’t complete gibberish, let’s look at the two most common scenarios that cause it.

Scenario 1 – Fat fingers

This sketch is one that you’ve written. You’re actually the one who wrote the “#include” line. The first thing you should check is your spelling and capitalization. Maybe you spelled the name of the library incorrectly? Or (as with the example below) perhaps you capitalized the wrong letters.

Arduino IDE with misspelled library name, which can create the no such file error

So “servo.h” should actually have a capital “S.” In full and with correct capitalization, it should read, “Servo.h.” You’ll notice above that the word servo changes color when it’s correctly capitalized. That color change signifies that the library name “Servo” is recognized as a “keyword” in the Arduino IDE.

Keep in mind that might not be the case for all the libraries you’re using. In other words, the color change won’t always indicate you’re using the right spelling or capitalization, but it’s often a helpful visual reminder.

Oh, and it’s probably good to mention that everyone in the history of Arduino programming has misspelled or incorrectly capitalized a word at some point. It’s amazing how long you can stare at a line of code and miss something like that.

So don’t sweat it.

Scenario 2 – Missing files

This brings us to the next common scenario for the “no such file or directory” error.

So often, working with Arduinos involves taking code that someone else has developed and shared online and then tailoring it to your project. That’s part of what makes it so easy to get stuff done with Arduino. One problem that frequently happens when we do that, however, is we accidentally introduce code without a matching file.

An easy way to check to see if you have the file a sketch is looking for is to navigate to Sketch > Include Library from within the Arduino IDE. Then look for the name of that library.

Arduino IDE library dropdown - if library is not included, the the no such file error will show up

Whatever library the #include statement was calling for, you want to look through this big long list for a library with the exact same name. If you don’t see the file name there, this means the library isn’t installed. You’ll have to add that library before the sketch will compile without errors.

So, how do you add that library?

The easiest way is to go to Sketch > Include Library > Manage Libraries. The Arduino IDE will open up a dialogue box from which you can search for the library you need.

Make sure you type the exact word that matches the #include line. Once you find the missing library, go ahead and click Install. The Arduino IDE will let you know that it’s installing the library you requested and updating the software accordingly.

Next, just double-check that the library has been successfully installed by going to Sketch > Include Library. You should see your new library in the dropdown list.

Good news! If the library is there, you should now be able to compile your sketch error-free.

Other library locations

OK, there’s one little fly in the ointment. How do these dang ointment flies always manage to complicate things so?

Here’s the thing. Not all libraries live in this convenient pop-up window inside the Arduino IDE. The Arduino community is bubbling with clever ideas, but cleverness (unlike processed cheese) doesn’t always come in conveniently standardized, individually wrapped slices. There are tons of different ways to find Arduino libraries on the web.

If you’re downloading or copying a program from the internet, just go to the page where you got that program and take a close look at the library the author is referencing. They may, for example, have a link to GitHub, which is a place where people keep a lot of code libraries.

Wherever you find it, usually the library will be included in a .zip file package. Once you’ve downloaded the .zip file, fire up the Arduino IDE and go to Sketch > Include Library > Add .ZIP library. Then navigate to the location you downloaded the file and select it. Assuming no additional ointment flies invade your workflow, the Arduino IDE will pop up the message “Library added to your libraries” just above the dark area where the original “no such file or directory” error appeared.

Now it’s business as usual! Just go to Sketch > Include Library, and the new library will appear in the drop-down list.

As the dyslexic Frenchman once said to the oversized violinist: “Viola!”

You now know not one but two ways to add a new library. What a time to be alive!

Review

A quick recap, then.

We’ve looked at the two main scenarios that cause the “no such file or directory” error to appear after you compile your sketch:

  • The fat fingers phenomenon: Check your spelling and capitalization! If you wrote the sketch, there’s a mighty good chance you introduced a tiny error. And don’t beat yourself up over it! Literally every coder has done this.
  • The missing files mixup: Failing that, if you copied code from someone else check that you have the correct libraries installed. Don’t see your library? Install it using the method described above, and you should be good to go.

There may be no such thing as a free lunch, a coincidence, or a luck dragon. But rest assured. Your files and directories? They’re alive and well.

Понравилась статья? Поделить с друзьями:
  • Irql not less or equal windows 7 0x0000000a как исправить
  • Irql not less or equal windows 10 error
  • Irql gt zero at system service windows 10 как исправить
  • Irq not used nvidia как исправить
  • Iroot driver install error 0x000007d1