Делаем из простого приемника Продвинутый-3 или универсальный модуль управления и индикации.

sergor

На каком устройстве смотришь видеосигнал?
Осциллографом можешь посмотреть D7 и D9 ?

cnyx

Смотрю на мониторе 5". Монитор точно рабочий. Месяцев 5 назад я собирал похожий проект на этой самой плате ардуино и 5808, только вместо тумблера для включения меню использовал 4066, код мне дописали под это дело. Все работало. Решил собрать аккуратно и вставить в шлем, но идет затык. пробовал менять сигнал на ntsc, результата тоже нет.
Осциллографа нет.

DiscoMan

Если ошибок нет и ардуина “живая везде” 😃 то проблема как раз в памяти. Если ее не хватает, то фреймбуфер не создается и библиотека TVOut ничего выдать не может. Надо посмотреть, что возвращает функция TV.begin. Если 4, то точно недостаточно памяти. Выхода два: пытаться оптимизировать код (это отдельная и очень печальная песня), либо уменьшать разрешение. Сам с этим имел кучу гимора, проблему решил в итоге по-тупому: завел вторую ардуину, заточенную только на работу с тв аут, а данные на нее стал передавать с первой по сериал порту.

sergor

Ардуинка единственная в хозяйстве?
Я как только не изголялся с заливкой прошивок этого проекта (и через avrusb, и в ардуинку с его USB, и через ISP со стороннего программатора, без бутлоадера) - они все работали, даже с кривыми фьюзами.

Проверь еще раз подключения и моник с внешнего источника типа DVD или тюнера любого.

DiscoMan:

фреймбуфер не создается

А какой там размер фреймбуфера?
И с какой стати на одной дуинке нано оно работает, а на другой - нет? Глупость какая.

DiscoMan
sergor:

И с какой стати на одной дуинке нано оно работает, а на другой - нет? Глупость какая.

Вот хз почему, но это так. Проверить просто: поставить намного меньшее разрешение и все должно заработать, если дело в этом. У меня заработало, но разрешение 64 на 64 точки мне нафик было не нужно 😃

dollop
sergor:

И с какой стати на одной дуинке нано оно работает, а на другой - нет? Глупость какая.

DiscoMan:

Вот хз почему, но это так.

Дело не в железе, а версии IDE Arduino.

cnyx
DiscoMan:

Если ошибок нет и ардуина “живая везде” то проблема как раз в памяти.

Была живая. А снять сейчас с платы для меня проблема: где чуть припоя осталось, уже фик вытащишь. Оплеткой плохо припой снимается, фена нет.
Плюс именно эту плату ардуинки с одной стороны близко к отверстиям обрезали. Я плясал с бубнами, она не хотела работать при внешнем питании, но от USB работала. Я подавал +5В на вход +5В и землю брал с той же стороны платки, но видимо там был плохой контакт и заработало только тогда, когда подал землю на вывод с другой стороны платы, а +5В на Vin. Теперь на процессоре не ровно 5В, может это влиять? Ничего страшного, если я монитор запитаю от аккумулятора, а ардуинку от USB чисто для теста? Может питания не хватает.

DiscoMan:

Надо посмотреть, что возвращает функция TV.begin. Если 4, то точно недостаточно памяти.

Я так понимаю, чтобы это узнать, нужно написать код + проверять визуально, например, светодиодом?

sergor:

Ардуинка единственная в хозяйстве?

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

sergor:

они все работали, даже с кривыми фьюзами.

Так у меня до этого тоже работало. Но я не на 100% уверен, что сейчас пользуюсь тем же проектом, а не форком, с гитхаба. В том варианте 5месячной давности еще был функционал DIP-переключателей.

DiscoMan:

Проверить просто: поставить намного меньшее разрешение и все должно заработать,

Это где-то в настройках либы TVout?

dollop:

Дело не в железе, а версии IDE Arduino.

Вариант интересный, возможно я версию с того момента менял. Как пробовать? Прям старые ставить или есть какие-то знаковые 2-3 версии?

DiscoMan
dollop:

Дело не в железе, а версии IDE Arduino.

Вот, кстати, давно хотел понять, какая разница в использовании разных версий IDE и их влиянии на подобные вещи. Можно поподробнее?

cnyx:

Это где-то в настройках либы TVout?

Это в аргументах функции TV.Begin, насколько я помню. А насчет проверки, равен ее результат 4 или нет, варианты разные могут быть. Светодиод включить, зуммером попищать и т.д

cnyx

Все оказалось слишком легко, до банального.
Сначала смутило это в основном файле программы

#ifdef TVOUT_SCREENS
// #include <TVout.h>
// #include <fontALL.h>
#endif

С учетом того, что перед этим стоит ifdef и отключать инклюд этих файлов нужно никак не комментированием этих строк.
Ну и в файле settings.h было так

//#define TVOUT_SCREENS
#define OLED_128x64_ADAFRUIT_SCREENS

Собственно закомментил OLED дисплей, раскомментил TVOUT_SCREENS.
Но проблема все-равно есть: меню программы просматривается, но крайне плохое, плывет, косится. Пойду дальше колдовать.

DiscoMan

Кто-нибудь пробовал подключать вот такой дисплейчик www.ebay.co.uk/itm/…/181868816013 к Ардуино Нано по i2c? В режиме spi он работает нормально, но я бы хотел использовать его в режиме i2c для экономии выходов ардуины, нужных для других целей. Перепаял перемычку на плате дисплея для переключения его в этот режим, подключил к пинам A4 и A5, подал питание и нифига. Адафрутовская библиотека его не видит, сканер i2c не находит устройства на шине… идеи пока кончились 😃

sergor

Sda/scl не перепутал местами? Номера выводов дуины верно указаны в коде?

TheKing

Ну и sda/scl подтянуты к плюсу резистором килоом в 10?

DiscoMan

Не перепутал, надеюсь 😃 Хотя пробовал и так, и этак. Шины пробовал подтянуть резисторами - результата 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 цифр. выход.

sergor

Там, в принципе, даже подтяжка необязательна, и так работает.

DiscoMan

С одним устройством на шине да, будет работать и так. С двумя и более - лучше поставить резисторы.

emax

Вопрос теоретический, как соотносятся параметры сигнала аппаратуры для FPV 1.2GHz и обычного тв дмв?
Будет ли картинка если у ТВ частоту приема чуть поднять дальше 69 канала и попробовать половить нижние каналы FPV ~900-1000 MHz, или там девиация такая, что ТВ его не поймет?
И соответственно наоборот, “разогнанный” модулятор из видика что-нибудь покажет на FPV приемнике?

Думаю обладатели продвинутых приемников легко смогут ответить на эти вопросы…

DiscoMan
DiscoMan:

Адафрутовская библиотека его не видит, сканер i2c не находит устройства на шине… идеи пока кончились

Проблему решил самостоятельно 😃 Оказывается, этот дисплей в обязательном порядке требует сигнал RESET. Подключил пин RES дисплея к D4, прописанному в коде скетча, и все тут же зафурычило 😃 Имейте в виду, если столкнетесь. Подтягивающие резюки к 5-ти вольтам также нужны для некоторых дисплеев, без них картинка может зависать. Резюки нужны в любом случае, если на шине два и более девайса.

Панкратов_Сергей
emax:

Будет ли картинка если у ТВ частоту приема чуть поднять дальше 69 канала и попробовать половить нижние каналы FPV ~900-1000 MHz, или там девиация такая, что ТВ его не поймет?
И соответственно наоборот, “разогнанный” модулятор из видика что-нибудь покажет на FPV приемнике?

Нет. Модуляция совершенно не совместима.

23 days later
DiscoMan

Мужики, не знаю, что уже с этим делать, помогайте. Короче, симптомы такие, будто сгорает Arduino Nano, которая управляет всем хозяйством. Вот сегодня такая участь постигла очередную. Подключил питание, чего-то повозился со схемой, потом глядь - все, дисплей погас, на ардуине горит только светодиод power. Подключаю к IDE, результат: avrdude: stk500_recv(): programmer is not responding. Светодиод RX при этом тускло подмигивает. Выдернул ее из макетки, подключил просто к компу по юсб, та же фигня. И так уже с третьей ардуиной! Не сегодня, а вообще. В чем причина может быть? Ардуина сгорела или слетел загрузчик по какой-то причине? Как проверить? Питание заведено от 12 вольт, на Vin 11.9 попадает в итоге. Раньше все фурычило. Главное я закономерность понять не могу. Просто раз и все, без причины как будто. Статика, что ли?

sergor

Ну а питание самой ардуинки-то какое?

DiscoMan

Да там и 7-12в можно подавать, и 5в. На плате регулятор стоит. У меня питалась от 12-ти.

upd. Сегодня попробую прошить загрузчик с помощью другой ардуины.