Делаем из простого приемника Продвинутый-3 или универсальный модуль управления и индикации.
И с какой стати на одной дуинке нано оно работает, а на другой - нет? Глупость какая.
Вот хз почему, но это так. Проверить просто: поставить намного меньшее разрешение и все должно заработать, если дело в этом. У меня заработало, но разрешение 64 на 64 точки мне нафик было не нужно 😃
И с какой стати на одной дуинке нано оно работает, а на другой - нет? Глупость какая.
Вот хз почему, но это так.
Дело не в железе, а версии IDE Arduino.
Если ошибок нет и ардуина “живая везде” то проблема как раз в памяти.
Была живая. А снять сейчас с платы для меня проблема: где чуть припоя осталось, уже фик вытащишь. Оплеткой плохо припой снимается, фена нет.
Плюс именно эту плату ардуинки с одной стороны близко к отверстиям обрезали. Я плясал с бубнами, она не хотела работать при внешнем питании, но от USB работала. Я подавал +5В на вход +5В и землю брал с той же стороны платки, но видимо там был плохой контакт и заработало только тогда, когда подал землю на вывод с другой стороны платы, а +5В на Vin. Теперь на процессоре не ровно 5В, может это влиять? Ничего страшного, если я монитор запитаю от аккумулятора, а ардуинку от USB чисто для теста? Может питания не хватает.
Надо посмотреть, что возвращает функция TV.begin. Если 4, то точно недостаточно памяти.
Я так понимаю, чтобы это узнать, нужно написать код + проверять визуально, например, светодиодом?
Ардуинка единственная в хозяйстве?
Нет, но если пробовать другую, то только навесным монтажем. Буду пробовать в последнюю очередь.
они все работали, даже с кривыми фьюзами.
Так у меня до этого тоже работало. Но я не на 100% уверен, что сейчас пользуюсь тем же проектом, а не форком, с гитхаба. В том варианте 5месячной давности еще был функционал DIP-переключателей.
Проверить просто: поставить намного меньшее разрешение и все должно заработать,
Это где-то в настройках либы TVout?
Дело не в железе, а версии IDE Arduino.
Вариант интересный, возможно я версию с того момента менял. Как пробовать? Прям старые ставить или есть какие-то знаковые 2-3 версии?
Дело не в железе, а версии IDE Arduino.
Вот, кстати, давно хотел понять, какая разница в использовании разных версий IDE и их влиянии на подобные вещи. Можно поподробнее?
Это где-то в настройках либы TVout?
Это в аргументах функции TV.Begin, насколько я помню. А насчет проверки, равен ее результат 4 или нет, варианты разные могут быть. Светодиод включить, зуммером попищать и т.д
Все оказалось слишком легко, до банального.
Сначала смутило это в основном файле программы
#ifdef TVOUT_SCREENS
// #include <TVout.h>
// #include <fontALL.h>
#endif
С учетом того, что перед этим стоит ifdef и отключать инклюд этих файлов нужно никак не комментированием этих строк.
Ну и в файле settings.h было так
//#define TVOUT_SCREENS
#define OLED_128x64_ADAFRUIT_SCREENS
Собственно закомментил OLED дисплей, раскомментил TVOUT_SCREENS.
Но проблема все-равно есть: меню программы просматривается, но крайне плохое, плывет, косится. Пойду дальше колдовать.
Кто-нибудь пробовал подключать вот такой дисплейчик www.ebay.co.uk/itm/…/181868816013 к Ардуино Нано по i2c? В режиме spi он работает нормально, но я бы хотел использовать его в режиме i2c для экономии выходов ардуины, нужных для других целей. Перепаял перемычку на плате дисплея для переключения его в этот режим, подключил к пинам A4 и A5, подал питание и нифига. Адафрутовская библиотека его не видит, сканер i2c не находит устройства на шине… идеи пока кончились 😃
Sda/scl не перепутал местами? Номера выводов дуины верно указаны в коде?
Ну и sda/scl подтянуты к плюсу резистором килоом в 10?
Не перепутал, надеюсь 😃 Хотя пробовал и так, и этак. Шины пробовал подтянуть резисторами - результата 0. В i2c примере из библиотеки Adafruit_1306 номера выводов для подключения i2c не указываются, насколько я понимаю. Там только адрес, 0x3c или 0x3d, попробовал и так, и так, для очистки совести больше, т.к сканер не видит ничего в любом случае.
Инициализация дисплея там выглядит так:
Serial.begin(9600);
// by default, we’ll generate the high voltage from the 3.3v line internally! (neat!)
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialize with the I2C addr 0x3D (for the 128x64)
// init done
В коде прописана только константа OLED_RESET, указывающая на 4 цифр. выход.
Там, в принципе, даже подтяжка необязательна, и так работает.
С одним устройством на шине да, будет работать и так. С двумя и более - лучше поставить резисторы.
Вопрос теоретический, как соотносятся параметры сигнала аппаратуры для FPV 1.2GHz и обычного тв дмв?
Будет ли картинка если у ТВ частоту приема чуть поднять дальше 69 канала и попробовать половить нижние каналы FPV ~900-1000 MHz, или там девиация такая, что ТВ его не поймет?
И соответственно наоборот, “разогнанный” модулятор из видика что-нибудь покажет на FPV приемнике?
Думаю обладатели продвинутых приемников легко смогут ответить на эти вопросы…
Адафрутовская библиотека его не видит, сканер i2c не находит устройства на шине… идеи пока кончились
Проблему решил самостоятельно 😃 Оказывается, этот дисплей в обязательном порядке требует сигнал RESET. Подключил пин RES дисплея к D4, прописанному в коде скетча, и все тут же зафурычило 😃 Имейте в виду, если столкнетесь. Подтягивающие резюки к 5-ти вольтам также нужны для некоторых дисплеев, без них картинка может зависать. Резюки нужны в любом случае, если на шине два и более девайса.
Будет ли картинка если у ТВ частоту приема чуть поднять дальше 69 канала и попробовать половить нижние каналы FPV ~900-1000 MHz, или там девиация такая, что ТВ его не поймет?
И соответственно наоборот, “разогнанный” модулятор из видика что-нибудь покажет на FPV приемнике?
Нет. Модуляция совершенно не совместима.
Мужики, не знаю, что уже с этим делать, помогайте. Короче, симптомы такие, будто сгорает Arduino Nano, которая управляет всем хозяйством. Вот сегодня такая участь постигла очередную. Подключил питание, чего-то повозился со схемой, потом глядь - все, дисплей погас, на ардуине горит только светодиод power. Подключаю к IDE, результат: avrdude: stk500_recv(): programmer is not responding. Светодиод RX при этом тускло подмигивает. Выдернул ее из макетки, подключил просто к компу по юсб, та же фигня. И так уже с третьей ардуиной! Не сегодня, а вообще. В чем причина может быть? Ардуина сгорела или слетел загрузчик по какой-то причине? Как проверить? Питание заведено от 12 вольт, на Vin 11.9 попадает в итоге. Раньше все фурычило. Главное я закономерность понять не могу. Просто раз и все, без причины как будто. Статика, что ли?
Ну а питание самой ардуинки-то какое?
Да там и 7-12в можно подавать, и 5в. На плате регулятор стоит. У меня питалась от 12-ти.
upd. Сегодня попробую прошить загрузчик с помощью другой ардуины.
На плате регулятор стоит.
Ну вот с него и надо начать. Кстати, не факт, что этот стабилизатор надлежащего качества. Помните проблемы с APM?
Нет, это не регулятор. При питании от USB он обходится, а симптомы те же. Между тем я все больше укрепляюсь в мысли о том, что слетел загрузчик. Только вот прошить его не получается. Может поможет кто? Нарыл инструкцию, как это сделать с помощью второй ардуины нано: …wordpress.com/…/burning-a-bootloader-to-an-arduin… Сделал все как там, теперь прошивальщик выдает ошибку:
vrdude: Device signature = 0x00ff00
avrdude: Expected signature for ATmega328P is 1E 95 0F
Double check chip, or use -F to override this check.
avrdude done. Thank you.
Wrong microcontroller found. Did you select the right board from the Tools > Board menu?
Как ее победить пока не знаю.
Явно видно, что сигнатуры 328 атмеги программатор не получает, а вот запитав убитую атмегу любым правильным напряжением ответа ты никак не получишь. Понял, о чем я?
Помочь могу, есть разные программаторы, если не поленишься ехать ко мне в Алтуфьево.
Сергей, супер, спасибо 😃 У меня уже три таких “убитых” валяется. Сейчас отпишусь в личку.