Страница 22 от 22 ПърваПърва ... 12 18 19 20 21 22
Резултати 526 до 528 от 528

Тема: Релеен атенюатор с 32 стъпки + входен буфер + селектор с 3 входа

  1. #526
    Направих кода с един масив
    Код:
    int8_t vol_mass[32][6] =
    {
      {0b00000001, 0b00000001, 0b00000001, 0b00000011, 0b00000001, 0b00000001},
      {0b00000001, 0b00000011, 0b00000001, 0b00000110, 0b00000001, 0b00000010},
      {0b00000001, 0b00000110, 0b00000001, 0b00001100, 0b00000001, 0b00000100},
      {0b00000001, 0b00001100, 0b00000001, 0b00011000, 0b00000001, 0b00001000},
      {0b00000001, 0b00011000, 0b00000001, 0b00110000, 0b00000001, 0b00010000},
      {0b00000001, 0b00110000, 0b00000001, 0b01100000, 0b00000001, 0b00100000},
      {0b00000001, 0b01100000, 0b00000001, 0b11000000, 0b00000001, 0b01000000},
      {0b00000001, 0b11000000, 0b00000011, 0b10000000, 0b00000001, 0b10000000},
      {0b00000011, 0b10000000, 0b00000010, 0b11000000, 0b00000010, 0b10000000},
      {0b00000010, 0b11000000, 0b00000010, 0b01100000, 0b00000010, 0b01000000},
      {0b00000010, 0b01100000, 0b00000010, 0b00110000, 0b00000010, 0b00100000},
      {0b00000010, 0b00110000, 0b00000010, 0b00011000, 0b00000010, 0b00010000},
      {0b00000010, 0b00011000, 0b00000010, 0b00001100, 0b00000010, 0b00001000},
      {0b00000010, 0b00001100, 0b00000010, 0b00000110, 0b00000010, 0b00000100},
      {0b00000010, 0b00000110, 0b00000010, 0b00000011, 0b00000010, 0b00000010},
      {0b00000010, 0b00000011, 0b00000110, 0b00000001, 0b00000010, 0b00000001},
      {0b00000110, 0b00000001, 0b00000100, 0b00000011, 0b00000100, 0b00000001},
      {0b00000100, 0b00000011, 0b00000100, 0b00000110, 0b00000100, 0b00000010},
      {0b00000100, 0b00000110, 0b00000100, 0b00001100, 0b00000100, 0b00000100},
      {0b00000100, 0b00001100, 0b00000100, 0b00011000, 0b00000100, 0b00001000},
      {0b00000100, 0b00011000, 0b00000100, 0b00110000, 0b00000100, 0b00010000},
      {0b00000100, 0b00110000, 0b00000100, 0b01100000, 0b00000100, 0b00100000},
      {0b00000100, 0b01100000, 0b00000100, 0b11000000, 0b00000100, 0b01000000},
      {0b00000100, 0b11000000, 0b00001100, 0b10000000, 0b00000100, 0b10000000},
      {0b00001100, 0b10000000, 0b00001000, 0b11000000, 0b00001000, 0b10000000},
      {0b00001000, 0b11000000, 0b00001000, 0b01100000, 0b00001000, 0b01000000},
      {0b00001000, 0b01100000, 0b00001000, 0b00110000, 0b00001000, 0b00100000},
      {0b00001000, 0b00110000, 0b00001000, 0b00011000, 0b00001000, 0b00010000},
      {0b00001000, 0b00011000, 0b00001000, 0b00001100, 0b00001000, 0b00001000},
      {0b00001000, 0b00001100, 0b00001000, 0b00000110, 0b00001000, 0b00000100},
      {0b00001000, 0b00000110, 0b00001000, 0b00000011, 0b00001000, 0b00000010},
      {0b00001000, 0b00000011, 0b00001000, 0b00000011, 0b00001000, 0b00000001}
    };
    
    void setup() {
      Serial.begin(9600);
      ------
      ------
    
    }
    
    void loop() {
      if (millis() - Time >= 10)
      {
        Delay = true;
        vol_prev = vol;
        set_relays();
        Serial.println(vol_prev);
      }
      --------
      --------
      if (vol != vol_old)
      {
        set_relays();
        vol_old = vol;
        Time = millis();
        Serial.println(vol);
      }
      enc_dir = 0;
    
    }
    
    -------- -
    -------- -
    
    void set_relays()
    {
      if (!Delay)
      {
        if (vol >= vol_prev)
        {
          set_mcp(SECOND_MCP, GPIO, vol_mass[vol][0]);
          set_mcp(FIRST_MCP,  GPIO, vol_mass[vol][1]);
        }
        else
        {
          set_mcp(SECOND_MCP, GPIO, vol_mass[vol][2]);
          set_mcp(FIRST_MCP,  GPIO, vol_mass[vol][3]);
        }
      }
      else
      {
        set_mcp(SECOND_MCP, GPIO, vol_mass[vol][4]);
        set_mcp(FIRST_MCP,  GPIO, vol_mass[vol][5]);
      }
      Delay = false;
      Level_indication();
    }
    --------
    --------
    Но не мога да го тествам, атенюатора ми прави магарии...
    При включването му се увеличава до нивото на звука, което е било преди изключването на захранването и след това нивото се занулява и MCP- тата за индикацията и нивото угасват. Вчера преди да заредя последния код забелязах, че един кабел е е разпоил (кабелът свързващ контролера с USB модула, там не е с конектор поради грешки при проектирането на платката) възможно е да се е допрял до нещо. Зареждах старите версии на кода, които гарантирано работят, но все едно и също ... май ще се наложи да поръчам нова платка за дигиталната част за да съм сигурен, че проблемът е в нея, че с многото корекции на пистите всичко е възможно. Имам съмнения, че и микроконтролерът може да е частично повреден, онова разпоено кабелче можеше да се допре до първите 5 крака на контролера. Имам още един чип, който трябва да го "съживя", предния път нещо не ми се получи зареждането на Bootloader. За да не си губя времето ще коригирам платката и ще поръчам китайците да я изработят. Някой ако иска платки мога да поръчам повече

    • #0
      Реклама от Google Реклама от Google
      Членува от
      Dec 2007
      Адрес
      Google.com

        
       

  2. #527
    Съмлявам се да му се е случило нещо с "хвърчащ" проводник (естествено: да не е +12V или по-зле ). Много "тормоз" съм прилагал на тестовия си макет, понякога в резултат от необмислено мое действие, понякога като случайно събитие .

    Пробвай "Blink" на всички информационните изводи заедно: "обиколи" пиновете с един светодиод (и резистор към земя или +5V) - трябва да си мига на всеки. Груба проверка, но върши работа. Спасявало ме е от "неопределеност": Arduino ли не работи или нещо друго след него.
    Прикрепени изображения Прикрепени изображения
    Прикрепени файлове Прикрепени файлове

  3. #528
    Тествах контролера, всички I/O работят. Сглобих си атенюатора и взе, че заработи ...
    Съмнява ме, че цифровата платка ми прави проблеми, ще я коригирам и ще поръчам да ми изработят нова. Няма как да го монтирам в усилвателя и ту да работи, ту не. Тествах кода с двумерния масив, работи както и с другия код, но е в пъти по-кратък. Още веднъж ти благодаря Веселине за идеята и за помощта ти като цяло

Страница 22 от 22 ПърваПърва ... 12 18 19 20 21 22

Права за публикуване

  • Вие не можете да започвате нова тема
  • Вие не можете да отговаряте в тема
  • Вие не можете да прикачвате към мненията си
  • Вие не можете да редактирате мненията си
  •  
  • BB кодове са Включени
  • Smilies са Включени
  • [IMG] кодове са Включени
  • [VIDEO] code is Включени
  • HTML кодове са Изключени