Страница 96 из 97 ПерваяПервая ... 46869394959697 ПоследняяПоследняя
Показано с 951 по 960 из 968

Тема: ARDUINO

  1. #951
    Аватар для Tolya
    Регистрация
    30.10.2008
    Адрес
    Мой адрес,ни дом и не улица.Мой адрес СОВЕТСКИЙ СОЮЗ!!!!!
    Сообщений
    1,132
    Позывной
    UA1NER
    Еcть вот такой дисплейчик..tftlcd 3.5 ili 9327..можно что нибудь с него сделать,хотя бы те же часы или выкинуть его и не заморачиваться с ним..
    Раньше давал в эфире CQ...CQ. Теперь набираю на мониторе WWW...... !!!


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

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

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

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

    итд

  4. #954

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

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

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

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

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

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

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

  7. Спасибо от UD0CAJ, veso74

  8. #957

    Регистрация
    23.07.2010
    Адрес
    Хабаровск.
    Сообщений
    1,178
    Позывной
    UD0CAJ
    Цитата Сообщение от UT0UM Посмотреть сообщение
    длинное нажатие сначала надо обработать

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

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

  9. #958
    Нажмите на изображение для увеличения. 

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

Размер: 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.

  10. #959

    Регистрация
    28.04.2005
    Адрес
    Московская обл., г. Мытищи
    Сообщений
    2,607
    Позывной
    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);

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


  12. #960
    Здравствуйте! Спасибо R2DHG за помощь. Такой вариант тоже возможен, но при использовании такого варианта будет просто меняться цвет текста, можно сделать заполнение окна нужным текстом, но тогда будет выглядеть некрасиво пустующее окно.(в данном случае SSB). Я хочу сделать так чтобы текст в окнах был неактивный пока не будет включен соответствующий режим. то есть окна имеют какой то бледный фон и на этом фоне надпись и при выборе соответствующего режима цвет окна и надписи становились более чёткими, возможно с изменением цвета. Как в компьютере, если кнопка неактивна,она бледная но видимая, если активна- она четкая и хорошо видимая.

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

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

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

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

Ваши права

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