Самодельный передатчик (часть 1)

Nick_Shl
Denn:

Как я понимаю, целью проекта является создание работающей схемы с возможностью её лёгкого повторения.

Вотцели у вех получается разные…

Denn:

Лично я приветствую любую информацию, которая поможет хоть кому-нибудь сделать кодер или передатчик! Причём чем более грамотным и упорядоченным будет код и сам процесс - в выигрыше будут все.

Нужен будет совет - обращайтесь. Что касается процесса - я ещё год назад предлагал по коллективизации процесса с установкой сервера контроля версий…

Aleksey_Gorelikov:

Но делать для кого-то что-то - это извините. Свой код не дам и чужих переделывать не буду, а то вдруг ошибусь…
Так что давайте сами!!!

Вот и я говорю - тут человек человеку волк. Каждый сам по себе. Нет комьюнити и похоже никогда не будет…
Я уже говорил про Linux - очень хороший пример когда люди что-то захотели и сделали. Вместе.

Aleksey_Gorelikov
Nick_Shl:

пример когда люди что-то захотели и сделали. Вместе.

Сейчас народ винду заново пишет. 😃 Не хотите присоединиться?

З.Ы. Сори за офтоп.

ubd

Но не могу ни как определиться по какой схеме собирать передатчик на 40 Мгц.

Ну там на этом сайте схема ВЧ-блока есть, вот и делай его.

msv

2АлександрСамара
Не торопитесь компилить (хотя освоить это в принципе, не помешает). В выкладываемой версии канал контроля батареи = 7 и соответстует схеме.
Калибровку батареи делать надо в последнюю очередь, после калибровки джойстиков (согласно моей инструкции во вложении). Но если просто надо проверить, то намекаю, посмотрите какое напряжение у Вас установлено на AREF? И сравните его с PF7.
//------------
“Наезд” Nick_Shl вполне понятен и уж точно не обиден. Считаю серьезной заслугой Фокуса, что будучи еще школьником, он потянул такой проект, и пожалуй первый перешел от с слов к делу, во всяком случае открыто.
Лично я взялся за этот проект по причинам (в порядке уменьшения приоритета):

  1. Соскучились руки по паяльнику.
  2. Захотелось вспомнить, что не так уж давно был программером.
  3. Поиметь аппу с неограниченным ничем, кроме моих фантазий, функционалом.
    То что это оказалось полезным еще кому-то, приятная добавка в виде морального удолетворения…
    И уж точно на скорую руку слепленная прога не претендует на образец для обучения и выложена не для этого.
    Контроль CRC EEPROM конечно был в планах, но сразу не до того было, а потом как-то забылось за ненадобностью (наверное пока в поле с кривой конфигурации не окажусь… 😃)
    А вот аналогии с Linux не вижу. Уровень сложности всего проекта - “конструкция выходного дня”. И быть привязанным к чужой архитектуре, стилю итп. нет смысла.
    Достаточно обмена идеями.
Denn

Спасибо, MSV!

У меня к Вам есть предложение: не сможете ли Вы изменить код программы следующим образом:
ввести переменную , отвечающую за сдвиг изображения на дисплее на определённое количество пикселей. Тогда для дисплея 3310 она = 0, а для 3410 - половине разности разрешений дисплеев по горизонтали. Тогда на 3410 будет выводится пусть немного уменьшенное изображение, но по центру.

Nick_Shl
Aleksey_Gorelikov:

Сейчас народ винду заново пишет. 😃 Не хотите присоединиться?

Одну и так уже написал. Вывод сообщений - вызываем MsgBox(). Редактирование имени - EditStrDlg(). Есть ещё EditNumDlg(), FromToBox(), SelectBox(). Работу всех функций видно на фото.

Denn:

У меня к Вам есть предложение: не сможете ли Вы изменить код программы следующим образом

Для таких вещей define’ами надо пользоваться. Пару раз всплывала тема про переворот экрана. Зная, что такое может повторится, нужно было сделать так:
в def.c добавить:

// Если задан - экран рисуется перевёрнутым  - для установки экрана вверх тормашками.
#define GFX_REVERSED

А в графической библиотеке написать так:

void gfx_PutPixel(unsigned char x, unsigned char y, unsigned char color)
{
    unsigned char i;
    unsigned char j;

    if(x >=  WidthS) return; // Если X выходит за экран - выходим
    if(y >= HeightS) return; // Если Y выходит за экран - выходим

    color &= 0x01;   // Color must have one last bit

#ifdef GFX_REVERSED
    x = WidthS  - 1 - x; // Reverse X
    y = HeightS - 1 - y; // Reverse Y
#endif

    i = y >> 3;          // y/8;
    j = y & 0b00000111;  // y%8;

    LCD_Buf[i][x] = (LCD_Buf[i][x] & (~(1 << j))) | (color << j);
}

WidthS и HeightS - тоже define’ы задающие размеры экрана. Если опиратся на них, то большую часть пользовательского интерфейса можно было написать с автоподгонкой.
У меня без автоподгонки только калибровка и редактирование кривой.

Aleksey_Gorelikov
Nick_Shl:

Одну и так уже написал.

Ну так вот идею коммунистического линукса продвигаете, а коммунистический ХР поддержать не хотите. А между прочим, альфы-версии уже сносно работают.

Nick_Shl
Aleksey_Gorelikov:

Ну так вот идею коммунистического линукса продвигаете, а коммунистический ХР поддержать не хотите. А между прочим, альфы-версии уже сносно работают.

Я двигаю идею работы вместе по образу и подобию. И с линуксом особо не знаком. Но рюшечки в Ubuntu произвели незгладимое впечатление… чего можно добится работая командой.
Кстати ссылочку на ваш “коммунистический ХР” стоило бы привести раз уж про него заговорили.

DmitryS

Доброго времени суток уважаемые.
У кого нибудь есть разводка печатки под E-Skyевский пульт?

Aleksey_Gorelikov
Nick_Shl:

Я двигаю идею работы вместе по образу и подобию. И с линуксом особо не знаком. Но рюшечки в Ubuntu произвели незгладимое впечатление… чего можно добится работая командой.
Кстати ссылочку на ваш “коммунистический ХР

www.reactos.org/ru/index.html

UserM
Nick_Shl:

Что касается исходников, то решил, что буду буду придерживаться такой точки зрения: _ Не вижу смысла ее публиковать, да и не хочу._

Nick_Shl:

Цель не отбить желание, цель мотивировать сделать код лучше и понятнее для чайников.
Была цель реализовать читабельный и модульный код. Эта цель достигнута.

Уж извините , но как то одно с другим не совпадает. Сделать понятный модульный код для чайником и ни кому его не показывать. 😵 Таки цель видимо другая. 😉

АлександрСамара

Разобрал свою санвуWG400, ужаснулся, в ней тримера сделанны механически докручивают потенциометры, так что кнопочки мне не поставить(((
Нельзя ли програмно обойти процедуру кнопок что бы запоминать нулевые положения стиков как отримированное положение?
Помогите люди добрые советом или переделаным HEXом))))
Собрать обратно уже не получится, кусок платы обрезал, думал завтра полетать((((

lomo

4 кнопки управления полюбому делать. А без триммерных кнопок жить можно. Месяц без них летал.

А вот так с триммерами стало. Жутковато конечно.

AlexN
АлександрСамара:

Разобрал свою санвуWG400, ужаснулся, в ней тримера сделанны механически докручивают потенциометры, так что кнопочки мне не поставить

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

Aleksey_Gorelikov

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

Nick_Shl
UserM:

Уж извините , но как то одно с другим не совпадает. Сделать понятный модульный код для чайником и ни кому его не показывать. 😵 Таки цель видимо другая. 😉

Почему не совпадает? В начале была. Потом поменялась. Почему поменялась - написано выше.

АлександрСамара

Ну все, собрал полностью передатчик, без нескольких мне пока не нужных тумблеров-каналов, все пошло, работает супер!!!
Спасибо всем кто помогал!!!
Остался вопрос, первоначальные установки калибровки каким нибудь образом сбрасываются или надо заново перешивать МК?

Sergey750iL
АлександрСамара:

Ну все, собрал полностью передатчик, без нескольких мне пока не нужных тумблеров-каналов, все пошло, работает супер!!!
Спасибо всем кто помогал!!!
Остался вопрос, первоначальные установки калибровки каким нибудь образом сбрасываются или надо заново перешивать МК?

А по какой схеме собирали ВЧ часть передатчика?

АлександрСамара

Передатчи…хм, правильнее было назвать “Кодер”, я кодер собрал, и поставил вместо отрезанной части кодера от передатчика Санва…
Вч часть делать не собираюсь, ни приемник не передатчик, то что есть в инете безделушка выходного дня, которая испортит выходной когда решился полетать…

Enigm

Остался вопрос, первоначальные установки калибровки каким нибудь образом сбрасываются или надо заново перешивать МК?

При включении кодера зажимая клавишу в Право происходит сброс и запуск калибровки

ubd

А по какой схеме собирали ВЧ часть передатчика?

Как я понимаю, он оставил штатный ВЧ блок, который был в передатчике.

Sergey750iL:
В этой ветке я выкладывал уже схему ВЧ-блока. Схема эта полностью скопированна с ВЧ части передатчика Hitec Lazer 4. Я пробовал собирать, вроде работает, только антенну мне хорошо согласовать не удалось, т.к. нет приборов и опыта в настройке ВЧ-схем. И сразу хочу предопредить если у тебя нет опыта в постройке ВЧ схем (передатчиков, приёмников), то ты врятли сможешь настроить эту ВЧ часть. Я тогда схему выложу заново, т.к. её уже нет в это ветке. Попробуй если хочешь.

А самый лучший способ, это купить любой простой и не дорогой передатчик, убрать из него штатный кодер, и на место его сделать самодельный, оставив штатную ВЧ сачть и применив её. А если всё самому делать, шарить нужно в радиотехнике очень хорошо. А то черевато дровами на поле все полетушки.