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

Тема: ARDUINO

  1. #931

    Регистрация
    22.03.2003
    Адрес
    Украина
    Сообщений
    825
    Позывной
    US5IVZ
    Всем доброго времени суток!
    Вопрос к продвинутым ардуинщикам. Хочу допилить скетч от K3NG rotator controller под свои хотелки. Мне нужно подключить одну кнопку (парковка) на ардуино нано. У меня осталось два свободных пина D0 и D13. K D13 подключаюсь, обозначив этот пин в скетче (файл rotator_pins.h)как 13 ,но ничего не происходит ,очевидно потому ,что на этом пине висит LED ардуино. А D0 не могу прописать так как 0 в данном скетче обозначает что данная функция не используется. На всех остальных пинах проверял ,после соответствующей "прописки" и компиляции все работает.
    Вопрос как выйти из положения? Выпаять LED не предлагать.
    Вложения Вложения


  2. #932
    Цитата Сообщение от US5IVZ Посмотреть сообщение
    выйти из положения
    я надеюсь Вы кнопку с пина 13 на землю прицепили?
    тогда надо подтянуть пин 13 к +5В через резистор Ом в 100 (0,25Вт)
    чтобы на нем по умолчанию был высокий уровень
    (будет гореть светодиод)
    а когда нажмете кнопку, то на нем будет низкий уровень
    (светодиод потухнет)

    еще, как вариант, поменять местами D13 с одним из тех пинов, которые управляют транзисторными ключами
    D13, как выход, будет работать без проблем

    ну или выпаять резистор, который последовательно со светодиодом, раз "Выпаять LED не предлагать"
    Последний раз редактировалось UT0UM; 06.10.2017 в 02:33.

  3. Спасибо от US5IVZ

  4. #933

    Регистрация
    22.03.2003
    Адрес
    Украина
    Сообщений
    825
    Позывной
    US5IVZ
    To:UT0UM
    Спасибо "за наводку"! С пин d13 -да на землю кнопка и как выход для ключа тоже можно. А про D0-забыть?

  5. #934
    Цитата Сообщение от US5IVZ Посмотреть сообщение
    А про D0-забыть?
    #ifdef FEATURE_PARK
    #define button_park 1
    #endif

    видимо да
    а если есть коннект по ЮСБ с компом, то пины 0 и 1 использовать не получится
    они заняты под ЮСБ и свободны чисто внешне

  6. #935
    Цитата Сообщение от RD9D Посмотреть сообщение
    напилил
    ну пока так
    смотрите

    Код:
    // Антенный переключатель 1х8
    
    
    //Порты для выходов переключаемых антенн
    int ant[] = {12, 11, 10, 9, 8, 7, 6, 5};
    
    
    //Порты для кнопок 
    // A0 - это 14, А1 - 15 итд
    // первое число єто номер пина PTT
    int bt[] = {2, 14, 15, 16, 17, 18, 19, 20, 21};
    
    
    int PTT = 1;
    
    
    int NumButton[] = {0, 0}; //Номер нажатой кнопки. При включении всегда будет устанавливаться антенна на порту 12 и на прием и на передачу
    
    
    boolean ButtonPressed = false; // Флаг нажатой кнопки
    boolean RXFlag = true; // Флаг перехода на прием
    
    
    void setup () {
    //  порты на вход
    
    
     for (int i=0; i <= 8; i++)
          {
          pinMode (bt[i],INPUT); 
          }
    
    
    // порты на выход 
     for (int i=0; i <= 7; i++)
          {
          pinMode (ant[i],OUTPUT);  
          }
    }
          
    void ReadButton() //Определяем номер нажатой кнопки
    {
      PTT = digitalRead (bt[0]); // чтение состояние ПТТ
          for (int i=1; i <= 8; i++)
          {
          if (digitalRead (bt[i]) == HIGH) 
          {
            ButtonPressed = true;
            NumButton[PTT]= i-1;
          }  
          }
          
          if (PTT)
          {
          RXFlag = true;
          }
          
          
    }
    
    
    void SetAntenna() // включение нужной антенны
    {
      if (RXFlag)
      {
        if (!PTT)
        {
          RXFlag = false;
          ButtonPressed = true; 
        }
        }
        if (ButtonPressed)
    {
    for (int i=0; i <= 7; i++)
          {
          digitalWrite (ant[i], LOW);  
          }
    digitalWrite (ant[NumButton[PTT]], HIGH);
    ButtonPressed = false; 
      }
    }
    
    
    
    
    
    
    void loop () 
    {
    
    
    ReadButton();
    SetAntenna();
       
    }
    Добавлено через 6 минут(ы):

    и да, забыл сказать, что А6 и А7 как цифровые входы работать не будут
    перевесьте эти две кнопки на другие ноги
    Последний раз редактировалось UT0UM; 07.10.2017 в 03:23.

  7. #936
    Цитата Сообщение от UT0UM Посмотреть сообщение
    ну пока так
    смотрите

    Код:
    // Антенный переключатель 1х8
    
    
    //Порты для выходов переключаемых антенн
    int ant[] = {12, 11, 10, 9, 8, 7, 6, 5};
    
    
    //Порты для кнопок 
    // A0 - это 14, А1 - 15 итд
    // первое число єто номер пина PTT
    int bt[] = {2, 14, 15, 16, 17, 18, 19, 20, 21};
    
    
    int PTT = 1;
    
    
    int NumButton[] = {0, 0}; //Номер нажатой кнопки. При включении всегда будет устанавливаться антенна на порту 12 и на прием и на передачу
    
    
    boolean ButtonPressed = false; // Флаг нажатой кнопки
    boolean RXFlag = true; // Флаг перехода на прием
    
    
    void setup () {
    //  порты на вход
    
    
     for (int i=0; i <= 8; i++)
          {
          pinMode (bt[i],INPUT); 
          }
    
    
    // порты на выход 
     for (int i=0; i <= 7; i++)
          {
          pinMode (ant[i],OUTPUT);  
          }
    }
          
    void ReadButton() //Определяем номер нажатой кнопки
    {
      PTT = digitalRead (bt[0]); // чтение состояние ПТТ
          for (int i=1; i <= 8; i++)
          {
          if (digitalRead (bt[i]) == HIGH) 
          {
            ButtonPressed = true;
            NumButton[PTT]= i-1;
          }  
          }
          
          if (PTT)
          {
          RXFlag = true;
          }
          
          
    }
    
    
    void SetAntenna() // включение нужной антенны
    {
      if (RXFlag)
      {
        if (!PTT)
        {
          RXFlag = false;
          ButtonPressed = true; 
        }
        }
        if (ButtonPressed)
    {
    for (int i=0; i <= 7; i++)
          {
          digitalWrite (ant[i], LOW);  
          }
    digitalWrite (ant[NumButton[PTT]], HIGH);
    ButtonPressed = false; 
      }
    }
    
    
    
    
    
    
    void loop () 
    {
    
    
    ReadButton();
    SetAntenna();
       
    }
    Добавлено через 6 минут(ы):

    и да, забыл сказать, что А6 и А7 как цифровые входы работать не будут
    перевесьте эти две кнопки на другие ноги
    Алексей, спасибо, в понедельник по разбираюсь

  8. #937
    А6 и А7 это на мини вроде не работают а в нано вроде работают


    Цитата Сообщение от RD9D Посмотреть сообщение
    // первое число єто номер пина PTT
    int bt[] = {2, 14, 15, 16, 17, 18, 19, 20, 21};


    int PTT = 1;
    кнопка ПТТ всетаки 1 или 2

  9. #938
    Цитата Сообщение от RD9D Посмотреть сообщение
    А6 и А7 э
    они везде не работают как цифровые входы, где атмега328 в смд корпусе

    Цитата Сообщение от RD9D Посмотреть сообщение
    // первое число єто номер пина PTT
    int bt[] = {2, 14, 15, 16, 17, 18, 19, 20, 21};
    2

    PTT - это просто переменная

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

  11. #939

    Регистрация
    23.07.2010
    Адрес
    ЕАО с.Белгородское
    Сообщений
    1,974
    Записей в дневнике
    2
    Позывной
    UD0DAB exUD0CAJ
    Все товарищи. Одно расстройство. Не выходит у данилы каменный цветок. По отдельности с компонентами работать могу. Часы, память, 9834, 4-х разрядный лед дисплей, енкодер - все это работает, показывает, крутит... А накодить простенький синтез, собрать эти куски кода воедино - голова вообще одеревенела.

    Надо короткое нажатие на енкодер - показывать время, дату, частоту в КГц и так по кругу. Длинное - простое меню типа F1 - установить минуты, F2 - часы, ... F5 - частота ПЧ МГц, F6 - частота ПЧ КГц. Одна из ног переключает +- пч. Пишу,пишу а выходит какакакаято. Может кто возьмется занедорого?


  12. #940
    Arduino головного мозга, однако.
    Добро пожаловать в AtmelStudio, с отладчиком и регистрами....

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

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

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

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

Ваши права

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