Бытовой ПДУ представляет собой коробку, на лицевой части которой располагаются кнопки. Пульт работает от батареек и посылает сигналы в виде инфракрасных лучей (0,75 – 1,4 микрона). Волна не распознается человеком, но воспринимается принимающим механизмом. В конструкции есть бескорпусная или корпусная микросхема, которая расположена на пластине из диэлектрика и залита полимерной термопластической смолой.
На панели универсального пульта есть базовые части:
- клавиша включения, выбора аппарата;
- регулятор силы звука и переключения каналов, настройки даты и времени;
- цифровые клавиши для ввода чисел;
- кнопки программирования;
- джойстики для перехода по меню;
- клавиши, назначение которых выбирает пользователь самостоятельно;
- жидкокристаллический или сенсорный экран, показывающий текущие сведения.
Для устройств с множеством функций нужна сложная система с регулированием частоты волн, она же защищает канал от помех и кодирует подаваемые команды. Используется цифровое преобразование микросхемой пульта и декодирование приемником.
Как отремонтировать пульт от телевизора: видео
В наше время телевидение достигло апогея развития. Многие люди смотрят телевизор по несколько раз день и пульт в данном случае является неотъемлемой частью телевизора. Взрослые люди с грустью вспоминают те времена, когда им приходилось вставать каждый раз с дивана или кресла, чтобы переключить канал.
Теперь же все гораздо проще – достаточно нажать всего одну кнопку на этой «волшебной палочке» и вы смотрите уже другой канал. Но как же работает пульт? Давайте заглянем внутрь. Принцип работы дистанционного управления заключается в том, что для его действия необходимо нажать кнопку, которая отвечает за ту или иную функцию.
Это нажатие затем превратится в инфракрасный сигнал света, который получит телевизор. Если снять заднюю крышку пульта, то вы увидите всего одну деталь – печатную плату с множеством точечек и линий. Практически во всех устройствах дистанционного управления используется типичный набор компонентов.
Во-первых, это интегральная схема (также называемая чипом) с серийным номером «TA11835». С правой стороны чипа проходит диод, транзистор (черный), резонатор (желтый), два резистора (зеленые) и конденсатор (темно синий). Рядом с контактами батареи есть резистор (зеленый) и конденсатор (коричневый диск). С помощью этой схемы чип определяет, какая была нажата кнопка.
Затем он переводит «нажатую кнопку» в некую последовательность символов, своего рода азбуку Морзе, поскольку каждая кнопка имеет свой код. Затем чип отсылает этот закодированный сигнал на транзистор, который его усиливает.
Печатная схема
Если раскрутить печатную схему и вытащить ее из пульта, то можно заметить, что она представляет собой тонкую пластинку из стекловолокна, на поверхности которой выгравированы тонкие медные «полосы». На печатной плате собраны различные электронные части. «Печатанье» медных полос на листе из стекловолокна довольно недорогостоящий процесс. К тому же в наше время не составляет большой сложности установить детали (например, чипы, транзисторы и т.д.) на пластину из стекловолокна, а затем припаять все это медными проводами.
Если посмотреть на схему, то можно увидеть набор точек контакта, которые соответствуют каждой отдельной кнопке. Сами кнопки сделаны из тонкого эластичного материала. Каждой кнопке соответствует крошечный проводящий диск. Когда диск соприкасается с контактами на печатной схеме, происходит соединение и чип улавливает сигнал об их соединении.
На конце печатной схемы находится инфракрасный светодиод, также называемый светоизлучающим диодом. Многие светоизлучающие диоды производят видимый свет, но те диоды, которые устанавливаются в пульты дистанционного управления, излучают невидимый для человеческого глаза свет. Но если у вас есть видеокамера, то вы можете увидеть этот свет через видеоискатель. Для этого вам необходимо навести пульт на камеру и нажать любую кнопку. Инфракрасный свет отразится в видеоискателе.
В сущности, основной принцип работы всех устройств дистанционного управления состоит в следующем: вы нажимаете на кнопку и главный чип улавливает соприкосновение кнопки с платой и определяет какая была нажата кнопка. Тогда он воспроизводит кодированный сигнал этой кнопки и отсылает его на светоизлучающий диод, который перерабатывает сигнал в инфракрасный свет. Датчик в телевизоре улавливает этот сигнал и выполняет заданную ему команду.
Принцип работы пульта дистанционного управления
Чаще в устройствах применяется одна частотная модуляция (излучения светодиодного элемента), на которую настраивается приемник и пульт. Значения частоты с постоянной амплитудой обычно неизменны — это 36, 38 или 40 кГц (Button, Canon, Pro Black). Редко используются показатели 56 кГц (Sharp, Runva, Doorhan). Изделия компании Bang
Как отремонтировать пульт от телевизора. Ремонт пульта
Занимательные самоделки из пульта дистанционного управления.
Ардуино: инфракрасный пульт и приемник
Инфракрасный пульт дистанционного управления — один из самых простых способов взаимодействия с электронными приборами. Так, практически в каждом доме есть несколько таких устройств: телевизор, музыкальный центр, видеоплеер, кондиционер. Но самое интересное применение инфракрасного пульта — дистанционное правление роботом. Собственно, на этом уроке мы попытаемся реализовать такой способ управления с помощью популярного контроллера Ардуино Уно.
ИК-пульт
Что нужно для того, чтобы научить робота слушаться инфракрасного (ИК) пульта? Во-первых, нам потребуется сам пульт. Можно использовать обычный пульт от телевизора, а можно приобрести миниатюрный пульт от автомагнитолы. Именно такие пульты часто используются для управления роботами.
На таком пульте есть 10 цифровых кнопок и 11 кнопок для манипуляции с музыкой: громкость, перемотка, play, stop, и т.д. Для наших целей более чем достаточно.
ИК-датчик
Во-вторых, для приема сигнала с пульта нам потребуется специальный ИК-датчик. Вообще, мы можем детектировать инфракрасное излучение обычным фотодиодом/фототранзистором, но в отличие от него, наш ИК-датчик воспринимает инфракрасный сигнал только на частоте 38 кГц (иногда 40кГц). Именно такое свойство позволяет датчику игнорировать много посторонних световых шумов от ламп освещения и солнца.
Для этого урока воспользуемся популярным ИК-датчиком VS1838B, который обладает следующими характеристиками:
- несущая частота: 38 кГц;
- напряжение питания: 2,7 — 5,5 В;
- потребляемый ток: 50 мкА.
Можно использовать и другие датчики, например: TSOP4838, TSOP1736, SFH506.
Подключение
Датчик имеет три вывода (три ноги). Если посмотреть на датчик со стороны приёмника ИК сигнала, как показано на рисунке,
- то слева будет — выход на контроллер,
- по центру — отрицательный контакт питания (земля),
- и справа — положительный контакт питания (2.7 — 5.5В).
Принципиальная схема подключения
Внешний вид макета
Программа
Подключив ИК-датчик будем писать программу для Ардуино Уно. Для этого воспользуемся стандартной библиотекой IRremote, которая предназначена как раз для упрощения работы с приёмом и передачей ИК сигналов. С помощью этой библиотеки будем принимать команды с пульта, и для начала, просто выводить их в окно монитора последовательного порта. Эта программа нам пригодится для того, чтобы понять какой код дает каждая кнопка.
#include «IRremote.h» IRrecv irrecv(2); // указываем вывод, к которому подключен приемник decode_results results; void setup() < Serial.begin(9600); // выставляем скорость COM порта irrecv.enableIRIn(); // запускаем прием >void loop() < if ( irrecv.decode( // если данные пришли Serial.println( results.value, HEX ); // печатаем данные irrecv.resume(); // принимаем следующую команду >>
Загружаем программу на Ардуино. После этого, пробуем получать команды с пульта. Открываем монитор последовательного порта (Ctrl+Shift+M), берём в руки пульт, и направляем его на датчик. Нажимая разные кнопочки, наблюдаем в окне монитора соответствующие этим кнопкам коды.
Проблема с загрузкой программы
В некоторых случаях, при попытке загрузить программу в контроллер, может появиться ошибка:
TDK2 was not declared In his scope
Чтобы ее исправить, достаточно удалить два файла из папки библиотеки. Заходим в проводник. Переходим в папку, где установлено приложение Arduino IDE (скорее всего это «C:Program Files (x86)Arduino»). Затем в папку с библиотекой:
, и удаляем файлы: IRremoteTools.cpp и IRremoteTools.h. Затем, перезапускаем Arduino IDE, и снова пробуем загрузить программу на контроллер.
Управляем светодиодом с помощью ИК-пульта
Теперь, когда мы знаем, какие коды соответствуют кнопкам пульта, пробуем запрограммировать контроллер на зажигание и гашение светодиода при нажатии на кнопки громкости. Для этого нам потребуется коды (могут отличаться, в зависимости от пульта):
- FFA857 — увеличение громкости;
- FFE01F — уменьшение громкости.
В качестве светодиода, используем встроенный светодиод на выводе №13, так что схема подключения останется прежней. Итак, программа:
#include «IRremote.h» IRrecv irrecv(2); // указываем вывод, к которому подключен приемник decode_results results; void setup() < irrecv.enableIRIn(); // запускаем прием >void loop() < if ( irrecv.decode( // если данные пришли switch ( results.value ) < case 0xFFA857: digitalWrite( 13, HIGH ); break; case 0xFFE01F: digitalWrite( 13, LOW ); break; >irrecv.resume(); // принимаем следующую команду > >
Загружаем на Ардуино и тестируем. Жмем vol+ — светодиод зажигается. Жмем vol- — гаснет. Теперь, зная как это все работает, можно вместо светодиода управлять двигателями робота, или другими самодельными микроэлектронными устройствами!
К размышлению
Несмотря на то, что инфракрасные пульты всё еще сильно распространены, этот способ передачи данных сильно проигрывается более современным подходам. Для управления устройствами удобнее использовать bluetooth, wi-fi или zigbee. Также для создания самодельных устройств с дистанционным управлением подойдут низкоуровневые передатчики: самый простой RF433 или RF315, а также более серъёзный NRF24L01.
Изменено: 19 Фев, 2015 13:06Ардуино: инфракрасный пульт и приемник : 75 комментариев
Alexandr говорит 09.09.2015 в 19:11 :
Во-первых спасибо за пример!
но он не работал у меня( пришлось его доделать=) #include «IRremote.h» IRrecv irrecv(2); // указываем вывод, к которому подключен приемник decode_results results;
int Relay = 4; void setup()
pinMode(Relay, OUTPUT);
irrecv.enableIRIn(); // запускаем прием
>
void loop() if ( irrecv.decode( // если данные пришли
switch ( results.value ) case 0x40BF807F:
digitalWrite( Relay, HIGH );
break;
case 0x40BF40BF:
digitalWrite( Relay, LOW );
break;
>
irrecv.resume(); // принимаем следующую команду
>
>Данило говорит 21.03.2019 в 18:45 :
робосайпен говорит 16.08.2019 в 15:52 :у меня тоже не заработал скетч . вот скетч который у меня
заработал. #include // подключаем библиотеку для IR приемника IRrecv irrecv(6); // указываем пин, к которому подключен IR приемник
decode_results results; void setup() // процедура setup
irrecv.enableIRIn(); // запускаем прием инфракрасного сигнала pinMode(11, OUTPUT); // пин 13 будет выходом (англ. «output»)
pinMode(12, OUTPUT); // пин 12 будет выходом (англ. «output»)
pinMode(A0, INPUT); // пин A0 будет входом (англ. «intput») Serial.begin(9600); // подключаем монитор порта
> void loop() // процедура loop
if (irrecv.decode( // отправляем полученные данные на порт // включаем и выключаем светодиоды, в зависимости от полученного сигнала if (results.value == 12535991) digitalWrite(11, HIGH);
>
if (results.value == 12574751 ) digitalWrite(11, LOW);
>
if (results.value == 16718055) digitalWrite(12, HIGH);
>
if (results.value == 16724175) digitalWrite(12, LOW);
>
irrecv.resume(); // принимаем следующий сигнал на ИК приемнике
>
>А какая библиотека?
Даниил говорит 15.07.2022 в 19:50 :
Виталий говорит 08.04.2016 в 16:32 :Большое спасибо за познавательный урок, я бы хотел попросить вас усложнить задачку и сделать при помощи ШИМ плавное вкл/откл светодиода. Спасибо!
Сергей говорит 12.06.2016 в 21:15 :
Дополнить программу кодом в данном месте (для увеличения яркости)
case 0xFFA857:
// например
int val = 0;
val += 50; // значение может быть любым
// или val++; для более плавного перехода
if (val > 255) val = 255
analogWrite( 13, val );
break;Евгений говорит 07.04.2017 в 22:47 :
не работает
Евгений говорит 07.04.2017 в 22:49 :
при этом коде светодиод просто включается, плавности нет.
Случайный прохожий говорит 22.09.2017 в 02:26 :
Нужно подключать к выходам с ШИМ (PWM)
Никита говорит 30.07.2018 в 12:26 :У вас ошибка в коде. При таком алгоритме значение val всегда будет 50, так как постоянно при нажатии на кнопку пульта у вас будет переопределяться переменная val. Во избежание этого следует добавить слово «static» к типу данных val.
Alex говорит 02.07.2016 в 14:54 :
надо добавить, чтобы работало
pinMode(13, OUTPUT);
kek говорит 09.07.2016 в 03:54 :Подключил как в гайде, но все равно не работает( Имею в виду что монитор не показывает что я нажал пультом) но это не такой пульт как в этом гайде. В чем может быть проблема?
Олег Евсегнеев говорит 13.07.2016 в 03:21 :
Скетч залился успешно, без ошибок? Причины могут быть разные. Например, пульт дает сигнал на частоте 40КГц, а приемник скорее всего 38КГц.
Я пробовал и таким же пультом и пультом от телевизора все работает. Посмотри все ли у тебя подключено правильно.
Конституция говорит 10.10.2019 в 14:52 :
Как сделать так что бы ик приемник получал один и тот же сигнал, у меня он принимает с одной кнопки разные коды
070610 говорит 03.06.2021 в 18:21 :
у меня просто нули пишет какую бы кнопку ни не нажимал.
Ivan_dem говорит 18.06.2020 в 19:42 :
У разных пультов разный код.
Кирилл говорит 31.07.2016 в 20:49 :А почему на схеме и на внешнем виде макета отличается подключение выводов? На схеме у вас (слева направо) идёт земля выход вход, а на макете земля вход выход. Я просмотрел уже несколько сайтов по подключению этого приёмника — везде подключают по разному, у одних левый вывод это выход, у других земля. Чепуха какая-то.
Олег Евсегнеев говорит 01.08.2016 в 16:46 :
Спасибо за замечание! Оказалось, что в редакторе схем fritzing ИК-датчик отображается неверно. Заменили на правильный вариант. Теперь всё как надо. Если не заработает, ищите проблему в другом.
разные выводы на сенсоре и на плате ky-022
вносите корректировку.
Дмитрий говорит 23.11.2016 в 18:12 :
Можно ссылочку на деталь в Fritzing
Олег Евсегнеев говорит 24.11.2016 в 02:43 :
Вот тут можно взять:
http://git.robotclass.ru/download/Fritzing/
Константин говорит 10.12.2016 в 16:08 :Я пишу скетч на управление сервой с помощью ик приёмника и вылетает ошибка:
‘results’ was not declared in this scope Скетч:
#include
#include
#include Servo MyServo; IRrecv irrecv(2); void setup() Serial.begin(9600);
irrecv.enableIRIn(); // запускаем прием
MyServo.attach(4); > void loop() if ( irrecv.decode(
break;
case 0xFF629D:
MyServo.write(90); //поворот на 90 градусов
break;
>
irrecv.resume(); // принимаем следующую команду
>Роман говорит 18.05.2019 в 15:23 :
Пропишите #include
Роман говорит 18.05.2019 в 15:24 :
Константин говорит 10.12.2016 в 16:10 :
Почему- то не прописалось:
#include <>
#include <>
#include <>
Николай говорит 25.12.2016 в 22:59 :
Спасибо за пример! Заработал с первого раза. Очень доходчиво и просто. Спасибо.
Антон говорит 30.12.2016 в 13:10 :Добрый день! Использовал скетчи из этой темы для того, что бы сделать лазертаг мишень: принимает ИК сигнал выстрела, загорается и гаснет, но вот какие вопросы:
1. Как только программа загружается в Ардуино — диод горит сразу.
2. Что надо сделать, что бы принял сигнал — моргнул 500 мсек — погас? #include «IRremote.h» IRrecv irrecv(2); // указываем вывод, к которому подключен приемник decode_results results; void setup() Serial.begin(9600); // выставляем скорость COM порта
irrecv.enableIRIn(); // запускаем прием
pinMode(3, OUTPUT);
> void loop() if ( irrecv.decode( // если данные пришли
switch ( results.value ) case 0x2FD58A7:
digitalWrite ( 3, HIGH );
delay (10);
case 0x2FDD827:
digitalWrite ( 3, LOW);
delay (100);
>
Serial.println( results.value, HEX ); // печатаем данные
irrecv.resume(); // принимаем следующую команду
> >Му-му Герасим говорит 29.10.2017 в 00:56 :
Автору респект.
Alexandr, отдельная благодарность.
Светодиод горел на авторском скетче вполнакала,
с Вашей поправкой все заработало отлично.Дамир говорит 29.11.2017 в 15:35 :
Добрый день.
Не подскажете, в чем может быть проблема?
#include «IRremote.h»
void setup() <>
void loop()<>
Не компилируется:
IRremote.h: No such file or directory Спасибо.Павел говорит 13.12.2017 в 22:15 :
Скобки поставь одинарные #include
Павел говорит 13.12.2017 в 22:17 :
#include скобки щдинарные
Name Secret говорит 09.01.2019 в 23:11 :
Скачайте библиотеку IRremote.h
Денис говорит 11.11.2019 в 23:03 :
вместо «IRremote.h» напиши «IRremote.h»
Михаил говорит 02.01.2018 в 23:38 :Использую код из ваших примеров, но среда упорно пишет «Ошибка компиляции для платы Arduino/Genuino Uno». Никаких подробностей не указано больше. В чем проблема может быть?
Михаил говорит 02.01.2018 в 23:43 :
Походу проблема в библиотеке
ArduinoTester говорит 20.07.2018 в 14:08 :Проблема в библиотеке, В новой версии поддержка для UNO Выключена, Попробуйте скачать другую версию.
Я пользуюсь библиотекой от сюда https://www.arduinolibraries.info/libraries/i-rremoteАртем говорит 25.03.2019 в 14:24 :
Бывает такое при подключении платы с уже запущенным приложением Arduino IDE. Закрой ИДЕшку, извлеки провод, с помощью которого прошиваешь плату, запусти ИДЕ, подключи плату(ардуинку). PROFIT
Максим говорит 02.08.2019 в 20:39 :
Можно сделать проще: зайти в программу, Инструменты, Порт и выбираем
Сергей говорит 23.01.2018 в 16:06 :Добрый день? возможно ли подключить к uno серво шилд и wi-fi шилд? если нет, то какой вариант возможен?
Антон говорит 02.03.2018 в 16:12 :
извините,но в вашем коде какая то фигня… Вставте ваш код в word и вы поймёте.
Иван говорит 24.05.2018 в 17:07 :
собрал все по схеме светодиодом моргать получается а когда вместо светодиода цепляю реле неработает
mindstation говорит 29.05.2018 в 12:57 :
Скорее всего тока не хватает для управления реле.
Какое реле подключаете?
Alex говорит 25.06.2018 в 00:32 :Доброго времени суток!
Господа, я новичок в освоении Ардуино, Но!
Получаю команды с пульта всегда в двух числах, исходя из этого
хотел бы спросить профессионалов — Почему 2 цифры?
Как я понял одна из них и есть код сигнала, а вторая преселектор (т.е доп сигнал, для считывания нажатия комбинации кнопок в момент времени),.
Так, как в моем случае, мне нужна быстрая реакция на нажатие, я включил их в обработку
Пример ниже… Текст Кода #include «IRremote.h» IRrecv irrecv(2); // указываем вывод, к которому подключен приемник decode_results results; void setup() pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
Serial.begin(9600); // выставляем скорость COM порта
irrecv.enableIRIn(); // запускаем прием
> void loop() if ( irrecv.decode( // если данные пришли
Serial.println( results.value ); // печатаем данные if (results.value ==32||results.value==2080)
digitalWrite( 13, HIGH );
>
if (results.value ==33||results.value==2081)
digitalWrite( 13, LOW );
>
if (results.value ==17||results.value==2065)
digitalWrite( 12, HIGH );
>
if (results.value ==16||results.value==2064)
digitalWrite( 12, LOW );
>
irrecv.resume(); // принимаем следующую команду
>
>Артём говорит 17.07.2018 в 11:33 :
У меня при case пишет что неуказонное значение.Помогите
ArduinoTester говорит 20.07.2018 в 14:10 :
Покажите свой скетч
Роман говорит 16.12.2018 в 22:33 :
Допишите 0x Например у вас код кнопки получился CE1972FD, значит пишем case 0xCE1972FD
ПОМОГИТЕ УМОЛЯЮ! ЗАГРУЖАЮ СКЕТЧ И ПИШЕТ ОШИБКУ!
Роман говорит 16.12.2018 в 22:35 :
Какая ошибка? case неверный?Допишите перед вашим значением кода 0x Например case 0xCE1972FD
Виталий говорит 09.11.2018 в 09:05 :Почему приёмник иногда пишет в консоль разные коды на одну и ту же кнопку? Как эти коды можно контролировать в понятный для Android вид чтобы создать программный пульт?
АРСЕНИЙ говорит 02.01.2019 в 13:25 :
ТЫ НА ПУЛЬТЕ НАЖИМАЕШЬ РАЗНЫЕ КНОПКИ ПРОСТО СМОТРИ НА ПУЛЬТ И НАЖИМАЙ НОГТЕМ НА ОДНУ КНОПКУ НЕ УДЕРЖИВАЯ ПРИМЕРНО МЕНЬШЕ СЕКУНДЫ!
Михаил говорит 01.12.2018 в 00:24 :
Почему светодиод не на полную мощность работает?
Роман говорит 09.05.2019 в 22:56 :
Может, сопротивление поменьше поставьте
АРСЕНИЙ говорит 02.01.2019 в 13:22 :ГДЕ ВЫ ПОКАЗАЛИ КАК ПОДКЛЮЧАТЬ ИК ДАТЧИК ТАМ НЕ ПРАВИЛЬНО МОЖНО БЫЛО ПОДКЛЮЧИТЬ НА 3 ВОЛЬТА А МОТОР НА 5 ИЛИ НА СЕМЬ ВОЛЬТ МЕНЬШЕ ПЯТИ ВОЛЬТ МОТОРУ НЕ ХВАТАЕТ МОЩНОСТИ!
AlexeySamoilov говорит 28.01.2019 в 02:44 :
Если использовать в одном скрипте + tone для пищалки, то вылетает ошибка
>>
Arduino: 1.8.8 (Windows XP), Плата:»Arduino/Genuino Uno»
Tone.cpp.o (symbol from plugin): In function `timer0_pin_port’:
(.text+0x0): multiple definition of `__vector_7′
librariesIRremoteIRremote.cpp.o (symbol from plugin):(.text+0x0): first defined here
collect2.exe: error: ld returned 1 exit status
exit status 1
Ошибка компиляции для платы Arduino/Genuino Uno.
Куда копать?Роман говорит 09.05.2019 в 22:54 :
Функция tone () использует таймер 2, который по умолчанию IRremote также использует при использовании чипа ATmega2560.
В файле IRremoteInt.h вы можете определить, какой таймер использовать. Или скачайте библиотеку TonePlayerвова говорит 26.03.2019 в 15:33 :
#include «IRremote.h»
вот эту строка пишет что не правельная что делать?
Роман говорит 18.05.2019 в 15:20 :
Скобки одинарные поставьте.
Шурик говорит 03.04.2019 в 18:21 :копировал, поменял на сигнал для своего пульта, закинул, выдает
Arduino: 1.8.9 Hourly Build 2019/03/18 11:33 (Windows 10), Плата: «Arduino BT, ATmega328P» Скетч використовує 6502 байтів (22%) місця зберігання для програм. Межа 28672 байтів.
Глобальні змінні використовують 236 байтів (11%) динамічної пам’яті, залишаючи 1812 байтів для локальних змінних. Межа 2048 байтів.
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x78
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x86
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x60
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x66
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x86
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x78
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x06
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x18
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x60
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xe6
Сталася помилка при вивантаженні скетча Цей звіт міститиме більше інформації, якщо
в меню Файл -> Налаштування увімкнути опцію
«Показати докладний звіт при компіляції».Олег Евсегнеев говорит 06.04.2019 в 18:00 :
Судя по ошибке, Arduino IDE не может залить скетч на плату по каким-то причинам. При этом скетч скомпилирован, к программе уже претензий нет. Проверьте кабель, подключение. Может загрузчик слетел с ардуины, такое тоже бывает.
Источник: robotclass.ru
Пульт РУ для модели своими руками.
Радио управление и двигатели на ней стухли от влажности.
И вот руки добрались его оживить.
Задача:
— что бы все рулилось
— обратная телеметрия
— что бы сильнодешево.
За базу взял Ардуино Нано (130р) и радиомодули NRF24+ (150р). Экран .96″ (300р) (блин мелкий надо было 1.3″ брать).
От старого пульта не осталось ничего кроме пластика. Резисторы поменял на свои зафиксировав их макетной платой и приклеив к джойстику.Пульт имеет пищалку. 2-х цветный светодиод. Умеет измерять и выводить на экран напряжение батареи. Умеет принимать от корабля его телеметрию и выводить на экран. Дальность связи до 1000м. Наличие устойчивой связи можно видеть на экране по напряжению батареи модели.
Если обратной связи нет, значение будет нулевое (если модель не видит пульт более 1сек, то она останавливается). Частота обмена информацией модели с пультом 10 герц.
Радиомодули по совету друга были доработаны. Усилители на них шумят и их для увеличения дальности и отсутствия проблем необходимо экранировать.для начала оборачиваем скотчем. Затем фольгой.
Фольгу припаиваем к земле разъема антенны.
Для отладки программного обеспечения пришлось собрать симулятор электроники корабля.
нано, nrf24+ и motor shild.
Сейчас находусь в ожидании двигателей для корабля из китая. Пульт завершен.
PS из того что пока не реализовано.
— режим калибровки пульта.
— добавление 3-х датчиков температуры в модель и вывод их в телеметрию (2 двигателя и радиатор платы их управления).
— софт для GPS и магнитометра на модели, что бы она при потери связи сама возвращалась на место запуска.
— автоматическая система борьбы за живучесть модели
— система антивандальная модели (китайцы у амеров сперли беспилотник, а мой будет лучше не трогать).
Схема спокойно читаема из софта, поэтому останавливаться на ней не буду.
yadi.sk/d/TiWUG4743E8LpHИсточник: www.drive2.ru