Уважаемые посетители! Форум CQHAM.RU существует исключительно за счет показа рекламы. Мы будем благодарны, если Вы не будете блокировать рекламу на нашем Форуме. Просим внести cqham.ru в список исключений для Вашего блокировщика рекламы.
Страница 126 из 223 ПерваяПервая ... 2676116123124125126127128129136176 ... ПоследняяПоследняя
Показано с 1,251 по 1,260 из 2223

Тема: ARDUINO

  1. #1251
    Сергей, спасибо за помощь, но думаю все ваши Нажмите на изображение для увеличения. 

Название:	IMG_0801.JPG 
Просмотров:	693 
Размер:	22.9 Кб 
ID:	282001советы не выполнимы, поскольку в таком бутерброде никуда не подлезешь...Можно попробовать изменить резистор R5 (3,9 ома), это скорее всего ограничитель тока, но будет проблемно выполнить физически, у меня самый маленький 0805, а там наверное 0406. Вот не понятно что такое перемычка J1. Попробую поискать даташит на дисплей. Вообще то я честно сказать думал, что можно регулировать программно(в драйвере задается числовое значение). Поскольку стоят стабилизаторы 3,3 вольта то не должно быть большого разброса в яркости дисплеев, короче не понятен полет их мысли (китайцев).


  2. #1252
    UA9SJR, я понял) Бутербродное исполнение всё портит, вижу фото. Вот Вам ссылка на arduino.cc, народ обсуждает на 27 страницах проблемы подключения ILI9341 к ардуинам, По одной из версий J1 и регулятор нужен, когда идёт питание не 3, а 5 Вольт на дисплей. J1 перемыкается в том случае, когда точно подаётся 3В на питание и на подсветку (обход стабилизатора). На своём дисплее не проверял это, всё через резистор 30 ом при 3В, у меня UNO и дисплей 2.4" на ILI9341. Почитайте на досуге ссылочку. Напишите, как-нибудь, чего удалось достичь.
    73! Сергей, RW3ACQ

  3. #1253
    Хорошо, Сергей, попробую....Вообще не очень понятно, я перекопал кучу литературы и везде люди не могут включить дисплей после покупки-экран серый и нет никаких следов цветного изображения, хотя везде пишут-поставьте библиотеку драйверов и все заработает. Тестовая программа то должна работать!
    Решил сейчас померить напряжение на 19 ноге, поскольку возраст то уже далеко не...короче случайно коротнул 19 и 18 ноги-и все заработало! Яркость возросла в несколько раз(три-это точно) Вот теперь бы переварить все это...и понять.

  4. #1254

    Сообщение

    Цитата Сообщение от UA9SJR Посмотреть сообщение
    Я так понимаю, что нам нужна ножка №19 LED_A, последовательно с этой ногой стоит резистор 3,9 ома, куда дальше идет не видно....
    Этот резистор не трогайте. Он идёт на светодиоды подсветки. А на плате согласования между кренкой и разъёмом в районе выводов 36-40 стоит 0603 резистор. Вот его замените на 4-10 ом и яркость подсветки придёт в норму. Он получается в цепи подсветки последовательно включенным с резистором на плате дисплея. В принципе его можно даже заменить нулёвкой.

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

Название:	IMG_0803.JPG 
Просмотров:	1075 
Размер:	21.5 Кб 
ID:	282009 Прости, но нет там у меня резистора 0603. Слева стоит 0406, номинал не вижу....и справа два кондера...Или я не там смотрю?

  6. #1256
    Правильно смотрите. У меня в пяти платах все 0603 были. Суть это не меняет. Измерьте этот резистор и сразу же поймёте куда девалась ваша подсветка. Именно он ограничивает ток подсветки.

  7. #1257

  8. #1258
    Заменил резистор 99 ом на резистор 15 ом(правда 0805) дисплей работает прекрасно, яркость нормальная.


    ur3ilf, спасибо за помощь!

  9. #1259
    Аватар для Integral
    Регистрация
    08.02.2007
    Адрес
    г. Снежное
    Сообщений
    2,926
    Записей в дневнике
    1
    Позывной
    UT0IS/D0ISM
    Сделали с Александром D0ITC промежуточный проект универсального дешифратора диапазонов на плате Mega 2560. Устройство определяет на какой частоте происходит передача и подключает необходимый ФНЧ. Как это работает можно посмотреть на видео. Если делать отдельное устройство, то проще перенести проект на 168 или 328 Атмегу, применив двухстрочный индикатор.

    Скрытый текст

    Код:
    //********************  ********************  ********************  ********************  ********************  ********************  ********************  *********
    //                                                      Программа дешифратора
    //                                                  TFT_HX8357 25февраля 2018года
    //                                                   г.Снежное, ДНР, D0ITC, D0ISM 
    //********************  ********************  ********************  ********************  ********************  ********************  ******* Подключаем библиотеки
    #include <TFT_HX8357.h>                                                //подключаем библиотеку для индикатора HX8357
    #include "Free_Fonts.h"                                                //подключаем шрифт Free_Fonts
    //********************  ********************  ********************  ********************  ********************  ********************  ************ Задаём константы
    #define D0 0                                                           //константа порта подключения дешифратора ФНЧ(D0)
    #define D1 1                                                           //константа порта подключения дешифратора ФНЧ(D1)
    #define D2 2                                                           //константа порта подключения дешифратора ФНЧ(D2)
    #define D3 3                                                           //константа порта подключения дешифратора ФНЧ(D3)
    #define Freq 47                                                        //константа порта измерения частоты входного сигнала 
        TFT_HX8357 tft = TFT_HX8357();                                     //инициализация дисплея
    //********************  ********************  ********************  ********************  ********************  ********************  ******** Назначаем переменные
        float frq=0;                                                       //переменная частоты входного сигнала
        int frq_get=0;                                                     //переменная после сравнения частоты для шифрации
        float frq_old1=0;                                                  //переменная для сравнения первого цикла
        float frq_old2=0;                                                  //переменная для сравнения второго цикла
        float frq_old3=0;                                                  //переменная для сравнения третьего цикла
        volatile unsigned long timerCounts;                                //таймер расчёта при измерении частоты входного сигнала
        volatile boolean counterReady;                                     //конечный подсчет
        unsigned long overflowCount;                                       //расчёт переполнения
        unsigned int timerTicks;                                           //таймер прерываний
        unsigned int timerPeriod;                                          //таймер периода
    //********************  ********************  ********************  ********************  ********************  ********************  *** Подпрограмма начала счета
    void startCounting (unsigned int ms){ 
        counterReady=false;                                                //готовность счётчика
        timerPeriod=ms;                                                    //количество импульсов на входе за 1 мс
        timerTicks=0;                                                      //сброс счетчика прерываний
        overflowCount=0;                                                   //счётчик переполнений
        TCCR2A=0; TCCR2B=0; TCCR5A=0; TCCR5B=0;                            //сброс таймера 2 и таймера 5
        TIMSK5=bit(TOIE1);                                                 //таймер 5-подсчет импульсов на pin D47, прерывание при переполнении таймера 5
        TCCR2A=bit(WGM21) ;                                                //режим CTC
        OCR2A=123;                                                         //подсчёт 125 тиков для получения 1мс(корректировка показаний) 
        TIMSK2=bit(OCIE2A);                                                //timer 2-прерывание каждую 1 мс, включаем прерывание Timer2
        TCNT2=0; TCNT5=0;                                                  //сброс счётчиков 2 и 5
        GTCCR=bit(PSRASY);                                                 //сброс предделителя, таймер 2 
        TCCR2B=bit(CS20)|bit  (CS22);                                        //предделитель на 128, запуск таймера 5 
        TCCR5B=bit(CS50)|bit  (CS51)|bit(CS52);}                             //чтение частоты на T4 pin (D47)   
        ISR (TIMER5_OVF_vect){++  overflowCount;}                            //подсчет числа переполнения счетчика 5, конец TIMER5_OVF_vect 
        ISR (TIMER2_COMPA_vect){                                           //таймер 2 прерываний запускается аппаратным таймером 2 каждую 1мс=1000Гц
        unsigned int timer5CounterValue;                                   //получить значение счетчика,перед его изменением
        timer5CounterValue=T  CNT5;                                          //см.datasheet, (доступ к 16-битным регистрам)
      if (++timerTicks<timerPeriod) return;                                //-------------------------------------------- 
      if (TIFR5&TOV5)overflowCount++  ;                                      //при переполнении
        TCCR5A=0; TCCR5B=0; TCCR2A=0; TCCR2B=0;                            //обнуляем таймеры 5 и 2
        TIMSK2=0; TIMSK5=0;                                                //отключаем прерывания Timer2 и Timer5  
        timerCounts=(overflo  wCount<<16)+timer5CounterVal  ue;                //подсчёт переполнений, каждое переполнение больше 65536 
        counterReady=true;}                                                //установить глобальный флаг для периода конечного подсчета
    //====================  ====================  =============== Установочная часть программы ====================  ====================  ====================  ====        
    void setup(){
        pinMode(D0,OUTPUT);                                                //назначаем вывод(D0)на выход, подключение дешифратора ФНЧ(0) 
        pinMode(D1,OUTPUT);                                                //назначаем вывод(D1)на выход, подключение дешифратора ФНЧ(1)
        pinMode(D2,OUTPUT);                                                //назначаем вывод(D2)на выход, подключение дешифратора ФНЧ(2)
        pinMode(D3,OUTPUT);                                                //назначаем вывод(D3)на выход, подключение дешифратора ФНЧ(3)
        pinMode(Freq,INPUT);                                               //назначаем порт измерения частоты на вход(47)
        tft.init();                                                        //инициализация дисплея
        tft.setRotation(3);                                                //выбираем альбомную ориентацию дисплея
        tft.fillScreen(TFT_B  LACK);                                         //заливаем экран черным цветом
        for(int i=0; i<5; i++){                                            //включаем цикл
        tft.drawRect(0+i,0+i  ,480-i*2,320-i*2,TFT_SILVER);}                 //рисуем наружную окантовку
        tft.setFreeFont(FSBI  18); tft.setTextColor(TFT  _DARKGREY);           //выбираем шрифт и цвет текста      
        tft.drawCentreString  ("* RF BAND DECODER *",240,45,1);              //выводим надпись "* RF BAND DECODER *"
        tft.setFreeFont(FSBI  12);                                           //выбираем шрифт текста
        tft.drawCentreString  ("D0ITC  2018  D0ISM",240,280,1);              //выводим надпись "D0ITC  2018  D0ISM"
        tft.setFreeFont(FSBI  18); tft.setTextColor(TFT  _GREEN);              //выбираем шрифт и цвет текста
        tft.drawCentreString  ("BAND",240,120,1);                            //выводим надпись "BAND"
    }//====================  ====================  ====================  == Основной цикл ====================  ====================  ====================  ===========    
    void loop(){    
      for (int i=0; i<3; i++){startCounting(2  ); delay(2);                  //включаем цикл и выставляем 2мс для подсчёта частоты
        frq=((timerCounts*16  )/100)/timerPeriod;                            //измеряем входную частоту в МГц(шаг 100кГц)
      if (frq>frq_old1){frq_old1=f  rq;}}                                    //получаем наивысшую частоту "frq_old1"
      for (int i=0; i<3; i++){startCounting(2  ); delay(2);                  //включаем цикл и выставляем 2мс для подсчёта частоты
        frq=((timerCounts*16  )/100)/timerPeriod;                            //измеряем входную частоту в МГц(шаг 100кГц)
      if (frq>frq_old2){frq_old2=f  rq;}}                                    //получаем наивысшую частоту "frq_old2"
      for (int i=0; i<3; i++){startCounting(2  ); delay(2);                  //включаем цикл и выставляем 2мс для подсчёта частоты
        frq=((timerCounts*16  )/100)/timerPeriod;                            //измеряем входную частоту в МГц(шаг 100кГц)
      if (frq>frq_old3){frq_old3=f  rq;}}                                    //получаем наивысшую частоту "frq_old3"
      if ((frq_old1==frq_old2  )&&(frq_old2==frq_old3)  )                      //сравниваем три частоты
        {frq_get=frq_old1;}                                                //и при их равенстве записываем в "frq_get"
        tft.setTextColor(TFT  _GREEN,TFT_BLACK); tft.setTextPadding(1  30);    //выбираем цвет текста и включаем обновление подложки шрифта
      switch (frq_get){                                                    //после цикла выбора наивысшей частоты и совпадения частот
        case 16 ... 30:   tft.drawCentreString  ("160m",240,170,6);          //----------------- 160m -------------------
        digitalWrite(D0,HIGH  ); digitalWrite(D1,LOW)  ;                       //вывод кода для дешифратора диапазонных ФНЧ
        digitalWrite(D2,LOW)  ; digitalWrite(D3,LOW)  ;  break;                //--------- D3=0--D2=0--D1=0--D0=1 ---------
        case 31 ... 50:   tft.drawCentreString  ("80m",240,170,6);           //------------------ 80m -------------------
        digitalWrite(D0,LOW)  ; digitalWrite(D1,HIGH  );                       //вывод кода для дешифратора диапазонных ФНЧ
        digitalWrite(D2,LOW)  ; digitalWrite(D3,LOW)  ;  break;                //--------- D3=0--D2=0--D1=1--D0=0 ---------
        case 51 ... 80:   tft.drawCentreString  ("40m",240,170,6);           //------------------ 40m -------------------
        digitalWrite(D0,HIGH  ); digitalWrite(D1,HIGH  );                      //вывод кода для дешифратора диапазонных ФНЧ
        digitalWrite(D2,LOW)  ; digitalWrite(D3,LOW)  ;  break;                //--------- D3=0--D2=0--D1=1--D0=1 ---------
        case 81 ... 120:  tft.drawCentreString  ("30m",240,170,6);           //------------------ 30m -------------------
        digitalWrite(D0,LOW)  ; digitalWrite(D1,LOW)  ;                        //вывод кода для дешифратора диапазонных ФНЧ
        digitalWrite(D2,HIGH  ); digitalWrite(D3,LOW)  ; break;                //--------- D3=0--D2=1--D1=0--D0=0 ---------
        case 121 ... 160: tft.drawCentreString  ("20m",240,170,6);           //------------------ 20m -------------------
        digitalWrite(D0,HIGH  ); digitalWrite(D1,LOW)  ;                       //вывод кода для дешифратора диапазонных ФНЧ
        digitalWrite(D2,HIGH  ); digitalWrite(D3,LOW)  ; break;                //--------- D3=0--D2=1--D1=0--D0=1 ---------
        case 161 ... 190: tft.drawCentreString  ("17m",240,170,6);           //------------------ 17m -------------------
        digitalWrite(D0,LOW)  ; digitalWrite(D1,HIGH  );                       //вывод кода для дешифратора диапазонных ФНЧ
        digitalWrite(D2,HIGH  ); digitalWrite(D3,LOW)  ; break;                //--------- D3=0--D2=1--D1=1--D0=0 ---------
        case 191 ... 230: tft.drawCentreString  ("15m",240,170,6);           //------------------ 15m -------------------
        digitalWrite(D0,HIGH  ); digitalWrite(D1,HIGH  );                      //вывод кода для дешифратора диапазонных ФНЧ
        digitalWrite(D2,HIGH  ); digitalWrite(D3,LOW)  ; break;                //--------- D3=0--D2=1--D1=1--D0=1 ---------
        case 231 ... 260: tft.drawCentreString  ("12m",240,170,6);           //------------------ 12m -------------------
        digitalWrite(D0,LOW)  ; digitalWrite(D1,LOW)  ;                        //вывод кода для дешифратора диапазонных ФНЧ
        digitalWrite(D2,LOW)  ; digitalWrite(D3,HIGH  ); break;                //--------- D3=1--D2=0--D1=0--D0=0 ---------
        case 261 ... 300: tft.drawCentreString  ("10m",240,170,6);           //------------------ 10m -------------------
        digitalWrite(D0,HIGH  ); digitalWrite(D1,LOW)  ;                       //вывод кода для дешифратора диапазонных ФНЧ
        digitalWrite(D2,LOW)  ; digitalWrite(D3,HIGH  ); break;                //--------- D3=1--D2=0--D1=0--D0=1 ---------
        case 301 ... 510: tft.drawCentreString  ("6m",240,170,6);            //-------------------6m---------------------
        digitalWrite(D0,LOW)  ; digitalWrite(D1,LOW)  ;                        //вывод кода для дешифратора диапазонных ФНЧ
        digitalWrite(D2,LOW)  ; digitalWrite(D3,LOW)  ; break;}                //--------- D3=0--D2=0--D1=0--D0=0 ---------
      if (frq<frq_old1){frq_old1=0  ; frq_old2=0; frq_old3=0;}               //если новая частота меньше предыдущей обнуляем "frq_old1-3"
    }//********************  ********************  ********************  ********************  ********************  ********************  ******************* Конец!!!



    Интеграл от человеческих заблуждений - истина, производная - безумие.

  10. Спасибо от 4Y, RK3TD, UD0DAB


  11. #1260
    То есть сигнал уже есть,а ФНЧ еще не подключен?
    ex UA3QLQ

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

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

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

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

Ваши права

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