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

Тема: ARDUINO

  1. #1431
    так это пример работы . вот и хочу свой дисплей + ардуино уно совместить со скетчем этой темы , но у меня не получается .


  2. #1432
    R9US, не поделитесь печатной платой ?

  3. #1433
    делал для себя, номиналы не проставлял, ну думаю что разберетесь......

    к ардуинке2.rar

  4. #1434
    Аватар для tomcat
    Регистрация
    27.01.2010
    Адрес
    Магаляндия, колония США
    Сообщений
    1,674
    Записей в дневнике
    3
    Цитата Сообщение от R9US Посмотреть сообщение
    tomcat, здравствуйте! я хотел у Вас спросить, как эксперементы с подключением к высокому напряжению конструкции Сергея Integral ?
    Привет!
    Именно этот проект на ардуине - пока что не подключал, где-то живёт надежда, что удастся подключить к этому прожекту дисплеи на 2,8....3,2".

    А вот блок ra3ybw нормально подключился для измерения анодного тока и напряжения.

    поэтому, как мне кажется, на ардуино тоже должно поехать...!
    ICOM-728, Mini SW2013, sdr-trx R3DI (Маламут), ATU N7DDC, Inv-V, GP.

  5. #1435
    Аватар для alex_39
    Регистрация
    20.01.2010
    Адрес
    г.Сердобск Пензенская область.
    Сообщений
    92
    Позывной
    R4FAT
    Доброго времени суток. Подскажите пожалуйста как выставить часы? а то у меня 2000й год. СпасибоНажмите на изображение для увеличения. 

Название:	IMG_20190129_134332.jpg 
Просмотров:	450 
Размер:	1.05 Мб 
ID:	306063

    Добавлено через 35 минут(ы):

    Вопрос снят.Разобрался.Нажмите на изображение для увеличения. 

Название:	IMG_20190129_160534.jpg 
Просмотров:	413 
Размер:	1.09 Мб 
ID:	306069
    Последний раз редактировалось alex_39; 29.01.2019 в 16:08.
    С Уважением Алексей R4FAT.

  6. #1436
    Аватар для tomcat
    Регистрация
    27.01.2010
    Адрес
    Магаляндия, колония США
    Сообщений
    1,674
    Записей в дневнике
    3

    Индикатор лампового УМ на Arduino nano 3 и LCD 2004

    набросал прожект индикатора лампового УМ на Arduino nano 3 и LCD 2004

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

Название:	IMG_20190212_092215_332.jpg 
Просмотров:	482 
Размер:	159.0 Кб 
ID:	307142

    входы :

    А0 = напряжение анода,

    А1 = ток анода,

    А2 = напряжение экранной сетки,

    А3 = ток экранной сетки,

    А4 = прямая волна от НО,

    А5 = отраженная волна от НО,

    сейчас вывод информации имеет такой вид :

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

Название:	IMG_20190211_180551_186.jpg 
Просмотров:	465 
Размер:	73.4 Кб 
ID:	307141

    тестовый скетч :

    thermometerRoom2004_2.rar






    to Integral

    Сергей, подскажите,

    - как сделать SWR дробью ?

    - как сделать в нижней строке линейку-градусник мощности ?


    .
    Последний раз редактировалось tomcat; 12.02.2019 в 10:25.
    ICOM-728, Mini SW2013, sdr-trx R3DI (Маламут), ATU N7DDC, Inv-V, GP.

  7. Спасибо от R9US, ur7hfo

  8. #1437

    Регистрация
    28.04.2005
    Адрес
    Московская обл., г. Мытищи
    Сообщений
    3,923
    Позывной
    ex RW3DKC
    SWR можно разбить математически и воткнуть точку при выводе на lcd между сотнями и десятками/единицами (в коде ниже).

    Градусник в зависимости от требуемой красивости. Например вот так "в лоб":

    Код:
    #include <LiquidCrystal.h>
    
    
    //пин ацп градусника
    #define  PMETER_PIN  A0
    
    
    //уровни ацп каждого кубика градусника
    #define  PMETER_1      80
    #define  PMETER_2      120
    #define  PMETER_3      160
    #define  PMETER_4      200
    #define  PMETER_5      240
    #define  PMETER_6      280
    #define  PMETER_7      320
    #define  PMETER_8      360
    #define  PMETER_9      400
    #define  PMETER_10     440
    #define  PMETER_11     480
    #define  PMETER_12     520
    
    //спецсимволы для lcd
    byte lcd_sym_01[8] = { 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b11111, 0b11111 };
    byte lcd_sym_02[8] = { 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b11111, 0b11111, 0b11111 };
    byte lcd_sym_03[8] = { 0b00000, 0b00000, 0b00000, 0b00000, 0b11111, 0b11111, 0b11111, 0b11111 };
    byte lcd_sym_04[8] = { 0b00000, 0b00000, 0b00000, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111 };
    byte lcd_sym_05[8] = { 0b00000, 0b00000, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111 };
    byte lcd_sym_06[8] = { 0b00000, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111 };
    byte lcd_sym_07[8] = { 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111 };
    
    
    LiquidCrystal lcd(4, 5, 10, 11, 12, 13);
    
    
    String pmtr;
    String xpmtr;
    
    
    uint16_t xpmeter;
    uint16_t swr = 160;
    
    
    void setup() {
       lcd.begin(16, 2);
       //инициализируем lcd спецсимволами
       initMeter(); 
       
       //выводим целую и дробную часть SWR
       lcd.setCursor(0,0);
       lcd.print("SWR:");
       lcd.print(swr / 100); //целая часть
       lcd.print(".");
       lcd.print(swr - (swr/100)*100); //дробная часть
    }
    
    
    void loop() {
       //выводим градусник непрерывно
       printMeter(analogRead(PMETER_PIN));
       delay(50);
    }
    
    
    void initMeter() {
       //спецсимволы в память lcd
       lcd.createChar(1, lcd_sym_01);
       lcd.createChar(2, lcd_sym_02);
       lcd.createChar(3, lcd_sym_03);
       lcd.createChar(4, lcd_sym_04);
       lcd.createChar(5, lcd_sym_05);
       lcd.createChar(6, lcd_sym_06);
       lcd.createChar(7, lcd_sym_07);
    }
    
    
    void printMeter(uint16_t pmeter) {
    if (xpmeter != pmeter) { //если текущее значение ацп равно предыдущему - не обрабатываем
       pmtr = "PWR:";
       if  (pmeter > PMETER_12)
          {  pmtr += "\02\02\03\03\04\04\05\05\06\06\07\07";  } else
          if  (pmeter > PMETER_11)
          {  pmtr += "\02\02\03\03\04\04\05\05\06\06\07";  } else
          if  (pmeter > PMETER_10)
          {  pmtr += "\02\02\03\03\04\04\05\05\06\06";  } else
          if  (pmeter > PMETER_9)
          {  pmtr += "\02\02\03\03\04\04\05\05\06";  } else
          if  (pmeter > PMETER_8)
          {  pmtr += "\02\02\03\03\04\04\05\05";  } else
          if  (pmeter > PMETER_7)
          {  pmtr += "\02\02\03\03\04\04\05";  } else
          if  (pmeter > PMETER_6)
          {  pmtr += "\02\02\03\03\04\04";  } else
          if  (pmeter > PMETER_5)
          {  pmtr += "\02\02\03\03\04";  } else
          if  (pmeter > PMETER_4)
          {  pmtr += "\02\02\03\03";  } else
          if  (pmeter > PMETER_3)
          {  pmtr += "\02\02\03";  } else
          if  (pmeter > PMETER_2)
          {  pmtr += "\02\02";  } else
          if  (pmeter > PMETER_1)
          {  pmtr += "\02";  } else
          {    };
    while (pmtr.length() < 16)  {  pmtr += " ";  };   
    if (xpmtr != pmtr) { //если новая строка равна предыдущей - не печатаем (надо для устранения мерцания)
       lcd.setCursor(0,1);
       lcd.print(pmtr);
       xpmtr = pmtr;
    }
    xpmeter = pmeter;
    }
    }

  9. Спасибо от exUA4ABS, tomcat

  10. #1438
    Никак не соображу. Имеется такая команда
    deley(180000);
    digitalWrite(9,HIGH) ;
    Т.е. после включения появляется 1 на pin9 с задержкой 180000
    Как сделать 1 на pin9 в любой момент по импульсу на каком-нибудь входе (задать любой).
    Что-бы задержка осталась, но если мне надо, я по импульсу включаю pin9 не дожидаясь пока эта задержка отработает.
    Именно по импульсу!

  11. #1439

    Регистрация
    28.04.2005
    Адрес
    Московская обл., г. Мытищи
    Сообщений
    3,923
    Позывной
    ex RW3DKC
    Либо через прерывания либо не использовать delay.
    Второе делается примерно так

    loop() {
    //какой то код без delay ...
    if (<условие на событие старта отсчета 180 сек>) { pin9_millis = millis(); pin9_event = 1; }
    if (((millis() - pin9_millis > 180000)&&(pin9_event == 1))||(<условие на событие по импульсу>)) { digitalWrite(9,HIGH) ; pin9_event = 0; }
    //какой то код без delay ...
    }

    Т.е. если начали писать без delay - никаких delay уже нигде быть не должно, все управляется таймером и триггерами событий / флагами состояний. Можно почитать про конечные автоматы.

    Тут коротко про delay и millis:

    https://arduinomaster.ru/program/arduino-delay-millis/

  12. Спасибо от exUA4ABS


  13. #1440
    Спасибо! С таймерами никогда не имел дело. Будем учиться.

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

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

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

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

Ваши права

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