Уважаемые посетители! Форум CQHAM.RU существует исключительно за счет показа рекламы. Мы будем благодарны, если Вы не будете блокировать рекламу на нашем Форуме. Просим внести cqham.ru в список исключений для Вашего блокировщика рекламы.
Страница 96 из 223 ПерваяПервая ... 468693949596979899106146196 ... ПоследняяПоследняя
Показано с 951 по 960 из 2227

Тема: ARDUINO

  1. #951
    Аватар для Tadas
    Регистрация
    12.06.2002
    Адрес
    KO24AV
    Сообщений
    3,356
    Позывной
    LY1CE
    Зачем выкидывать? Делают люди ведь:
    https://www.youtube.com/watch?v=sXMM3Vinsx0
    Хороша теория, но что ты с ней будешь делать ?
    73 de LY1CE


  2. #952
    Цитата Сообщение от UD0CAJ Посмотреть сообщение
    Я не могу монять
    а Вы разбейте задачу на маленькие задачки
    и потихоньку их пишите

    вон если у вас дисплей отдельно работает
    так сделайте этот кусок кода отдельной функцией
    назовите его Showdigits например
    и вызывайте эту функцию с нужным параметром, когда необходимо

    например
    Showdigits(7050);

    итд

  3. #953

    Регистрация
    23.07.2010
    Адрес
    ЕАО с.Белгородское
    Сообщений
    1,974
    Записей в дневнике
    2
    Позывной
    UD0DAB exUD0CAJ
    Да это я умею Вот например сейчас у меня работает синтез, настраивается енкодером. И даже шаг переключаю нажатием на енкодер (пока бэнды не определены, далеко иной раз крутить от 1900 до 7076 КГц например)
    Но надо еще по длинному нажатию в меню как-то выйти. А там попрыгать, попереключать параметры и в память их по длинному нажатию занести. А еще как-то надо определить есть что в памяти, или я батарейку сменил и память забыла все и надо сбросить настройки на дефолт. И проблема не в написании кода как такового. Проблема в том что я не вижу пока логики связей всего этого. Можно написать как "Индусы" - памяти хватит. Но хочется же что бы и работало шустро и не глючило и исходник что бы не был похож на тестовую страницу матричного принтера....

    Просветление, понимаете-ли, никак не приходит

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

  4. #954
    Цитата Сообщение от UD0CAJ Посмотреть сообщение
    по длинному нажатию
    длинное нажатие сначала надо обработать

    написали обработку?

    Цитата Сообщение от UD0CAJ Посмотреть сообщение
    есть что в памяти
    ну так пишите в какую-то ячейку уникальный код
    и каждый раз сравнивайте есть он там или нет
    если есть, то и остальное есть

  5. #955
    Аватар для Tadas
    Регистрация
    12.06.2002
    Адрес
    KO24AV
    Сообщений
    3,356
    Позывной
    LY1CE
    Цитата Сообщение от UD0CAJ Посмотреть сообщение
    Но надо еще по длинному нажатию в меню как-то выйти. А там попрыгать, попереключать параметры и в память их по длинному нажатию занести.
    Посмотрите эту статью -
    https://sohabr.net/habr/post/251181/
    На мой взгляд на основе этого кода можно всё что Вам хочется сделать.
    Пояснения достаточно исчерпывающие.
    Хороша теория, но что ты с ней будешь делать ?
    73 de LY1CE

  6. Спасибо от UD0DAB, veso74

  7. #956

    Регистрация
    23.07.2010
    Адрес
    ЕАО с.Белгородское
    Сообщений
    1,974
    Записей в дневнике
    2
    Позывной
    UD0DAB exUD0CAJ
    Цитата Сообщение от UT0UM Посмотреть сообщение
    длинное нажатие сначала надо обработать

    написали обработку?
    Написал! И даже с антизвоном! Если было не нажато и нажалось это нажатие. А если было нажато и отжалось - это отжатие. Если НЕ БЫЛО нажато, то отжатие не срабатывает. И наоборот. Ну и проверка что полсекунды держали. Это пашет без проблем вообще! Буду за меню браться. Но завтра. Полчетвертого уже местное

    О! не ожидал гемор, но поморгать одним разрядом на индикаторе непросто

  8. #957

    Регистрация
    29.07.2009
    Адрес
    СЫЗРАНЬ
    Сообщений
    57
    Позывной
    RA4HME
    Нажмите на изображение для увеличения. 

Название:	ДИСПЛЕЙ УСИЛИТЕЛЯ МОЩНОСТИ.jpg 
Просмотров:	1110 
Размер:	1.08 Мб 
ID:	272810Название: индикация ксв.jpg
Просмотров: 1284

Размер: 4.4 Кб Приветствую всех участников форума. Благодарю за ответы на мои предыдущие вопросы.Особая благодарность за помощь учасникам форума XENOMORPH и UV7QAE.Я искал скетч для управления усилителем
    индикации состояния выбранного режима работы и диапазона. Измерение КСВ с отображением на дисплее
    в виде цифр и шкалы подобной как на фото. У меня снова возникли вопросы следующего характера-
    КАК НАПИСАТЬ КОД ЧТО БЫ ПРИ ПОДАЧЕ НАПРЯЖЕНИЯ НА РАЗНЫЕ ВХОДА ПЛАТЫ Atmega 2560 в правой части
    дисплея индицировался выбранный диапазон. Например подано +5 на вход А0 - индицируется диапазон 160
    метров. Подано +5 на вход A1-диапазон 80 метров и т.д.
    На дисплее видно в прямоугольниках надписи ssb.cw.FM. DIGI.RX.TX. Как сделать эти прямоугольники
    другим фоном и на этом фоне были видны эти надписи, а при активации выбранного режима,ПУТЁМ ПОДАЧИ
    +5 ВОЛЬТ НА ВХОД (НАПРИМЕР А9) надпись например CW была видима как активная, может быть чтобы
    менялся фон или цвет в прямоугольнике, может становился ярче или менял цвет или меняли цвет цифры.
    Можно использовать кнопки (в замен подачи напряжений на входа) для управления усилителем-выбором
    диапазона и режимом работы.Прикрепляю скетч на фото того что видите.(для TFT ATMEGA2560(красный
    ярлык)
    может быть кто видел в интернете подобную конструкцию, еси до, то дайте ссылку.
    СКЕТЧ на фото слева

    #include <UTFT.h>
    UTFT myGLCD(CTE32HR, 38, 39, 40, 41);
    //ОБЪЯВЛЕНИЕ ВСТРОЕННОГО ШРИФТА
    extern uint8_t GroteskBold24x48[];
    extern uint8_t Grotesk32x64[];
    extern uint8_t SmallFont[];
    extern uint8_t hallfetica_normal[];
    extern uint8_t Arial_round_16x24[];




    void setup()

    {
    myGLCD.InitLCD(LANDS CAPE);
    // очищаем экран
    myGLCD.clrScr();
    // выбираем тип шрифта
    myGLCD.setFont (GroteskBold24x48);
    // выбираем цвет шрифта
    myGLCD.setColor(VGA_ MAROON);
    // печатаем при загрузке ("PA 200 W") в центре верхней строки дисплея
    myGLCD.print("PA 200 W", CENTER, 130);
    // выбираем цвет шрифта при загрузке "PA 200 W" в центре верхней строки дисплея
    myGLCD.setColor(VGA_ LIME);
    //время занрузки -в милисекундах (ПРИ ЗАГРУЗКЕ ИДЁТ ПОЛОСА ГОРИЗОНТАЛЬНАЯ)
    delay(500);
    myGLCD.fillRect(80, 200, 100, 220);
    delay(100);
    myGLCD.fillRect(80, 200, 150, 220);
    delay(100);
    myGLCD.fillRect(80, 200, 200, 220);
    delay(100);
    myGLCD.fillRect(80, 200, 250, 220);
    delay(100);
    myGLCD.fillRect(80, 200, 300, 220);
    delay(100);
    myGLCD.fillRect(80, 200, 350, 220);
    delay(100);
    myGLCD.fillRect(80, 200, 400, 220);
    delay(800);
    myGLCD.clrScr();


    analogReference(INTE RNAL2V56); // активация встроенного опорника MEGA 2560
    //////////////////////////////////////////////////////////////////////////////////
    //надписи в окнах 1-7 и определение расположения, типа шрифта и цвета
    myGLCD.setColor(VGA_ LIME);
    myGLCD.setFont( Arial_round_16x24);
    myGLCD.print("SSB", 21, 26);
    myGLCD.print("FM",97 , 26);
    myGLCD.print("RX", 165,26);
    myGLCD.print("CW", 28, 75);
    myGLCD.print("DIG", 91, 75);
    myGLCD.print("TX", 165, 75);
    myGLCD.setColor(VGA_ BLUE);
    myGLCD.setFont(Grote skBold24x48);
    myGLCD.print("160 metr", 240, 58);
    myGLCD.setColor(VGA_ LIME);
    myGLCD.setFont(Arial _round_16x24);
    myGLCD.print("BAND", 240, 25);


    //вывод информации о режиме работы PA
    // рисую прямоугольники в левой части дисплея для отображения информации о режиме работы PA
    myGLCD.setColor(100, 150,200); // цвет прямоугольников
    myGLCD.drawRoundRect (20, 20 ,70 ,50); // 1 окно режим SSB
    myGLCD.drawRoundRect (140, 20 ,90 ,50); // 2 окно режим CW
    myGLCD.drawRoundRect (20, 100 ,70 ,70); // 3 окно режим AM/FM
    myGLCD.drawRoundRect (140, 100 ,90 ,70); // 4 окно режим DIGI
    myGLCD.drawRoundRect (200, 20 ,160 ,50); // 5 ТХ
    myGLCD.drawRoundRect (200, 100 ,160 ,70); // 6 RX
    myGLCD.setColor(VGA_ WHITE);
    myGLCD.drawRoundRect (11, 110 ,460 ,11); // 6 окно-диапазон (160,80 ит.д.


    }
    void loop()
    {
    Последний раз редактировалось RA4HME; 14.10.2017 в 08:27.

  9. #958

    Регистрация
    28.04.2005
    Адрес
    Московская обл., г. Мытищи
    Сообщений
    3,920
    Позывной
    ex RW3DKC
    Что то мешает сделать прямо в лоб ?

    myGLCD.setFont( Arial_round_16x24);
    if (digitalRead(A0) == LOW) myGLCD.setColor(VGA_ LIME); else myGLCD.setColor(VGA_ WHITE );
    myGLCD.print("SSB", 21, 26);

  10. Спасибо от RA4HME

  11. #959

    Регистрация
    29.07.2009
    Адрес
    СЫЗРАНЬ
    Сообщений
    57
    Позывной
    RA4HME
    Здравствуйте! Спасибо R2DHG за помощь. Такой вариант тоже возможен, но при использовании такого варианта будет просто меняться цвет текста, можно сделать заполнение окна нужным текстом, но тогда будет выглядеть некрасиво пустующее окно.(в данном случае SSB). Я хочу сделать так чтобы текст в окнах был неактивный пока не будет включен соответствующий режим. то есть окна имеют какой то бледный фон и на этом фоне надпись и при выборе соответствующего режима цвет окна и надписи становились более чёткими, возможно с изменением цвета. Как в компьютере, если кнопка неактивна,она бледная но видимая, если активна- она четкая и хорошо видимая.


  12. #960

    Регистрация
    01.10.2011
    Адрес
    Горняк
    Сообщений
    33
    Позывной
    R9YCA ex RA9YMC
    RA4HME,может так вас устроит;
    if ( ATT==false ){
    ATT = true;// если бит сброшен то устанавливаем его
    tft.fillRoundRect(19 ,185,65,40,4,GREEN);
    tft.setCursor(33, 199); tft.println("ATT");
    goto outATT;}

    if ( ATT ==true ){
    ATT = false;// если бит установлен то сбрасываем его
    tft.fillRoundRect(19 ,185,65,40,4,GREY);
    tft.setCursor(33, 199); tft.println("ATT");
    }

Страница 96 из 223 ПерваяПервая ... 468693949596979899106146196 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •