Odpowiedz 
 
Ocena wątku:
  • 6 Głosów - 4 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO
SQ6SEE Offline
Paweł
*

Liczba postów: 37
Dołączył: 08-10-2014
Post: #290
RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO
Ta syntezę będę dawać do trx qrp do obudowy po Radmorze 3011. Temu enkoder tak nisko bo wyżej obok jest potencjometr od głośności i głośnik.




---------------------



Da się w tym kodzie dołożyc krok by po megahercach zmieniac czestotliwość? Kombinuje od kilku godzin i nici z tego, dopisalem linijke do kodu i dodałem podkreslenie, a po nacisnieciu przycisku step nie przechodzi na megaherce.
Jak dopisze do procedury startowej że ma zaczynać od megaherców to działa ale dopóki nie zmienię kroku strojenia.
Pozmieniałem niektóre rzeczy na LCD bo mam go od Noki 3410 a on ma większa rozdzielczośc, smetr poszedł troche niżej, potem przesunołem RITa pod częstotliwość i zwiększyłem zakres częstotliwości az do 2m.
İmage
Kod:
//obsługa klawisza zmiany kroku
    if(step_button_pressed == true){      //jeśli klawisz jest wcisnięty
      switch(step_value){                 //za pomocą instrukcji swich zmieniamy krok
      case 1000000:                       // krok 1mHz
        step_value = 100000;
        break;
      case 100000:                        //jeśli krok jest 100kHz ustaw 10kHz
        step_value = 10000;
        break;
      case 10000:                         //jeśli krok jest 10kHz ustaw 1kHz
        step_value = 1000;
        break;
      case 1000:                          //jeśli krok jest 1kHz ustaw 50Hz
        step_value = 50;
        break;
      case 50:                            //jeśli krok jest 50Hz ustaw 100kHz
        step_value = 100000;
      break;
      }
     show_step();                         //pokazuję zmianę kroku na lcd
     delay(200);                          //zwłoka po zmianie kroku 200msec    
    }

Tutaj podkreślenie:
Kod:
//funkcja do wyświetlania aktualnego kroku syntezera za pomocą podkreślenie odpowiedniej cyfry
void show_step(){      
       myGLCD.clrLine(0,31,95,31);          //czyszczę cała linię gdzie wyświetlam podkreślenie
       myGLCD.clrLine(0,32,95,32);          //czyszczę druga linię tak samo podkreśliniki są grube na dwa piksele
  switch(step_value){                       //przełącznik reaguje na bieżącą wartość kroku syntezy
   case 50:
        myGLCD.drawLine(79, 31, 95, 31);    //pokreślam 100Hz
        myGLCD.drawLine(79, 32, 95, 32);    //pokreślam 100Hz
     break;
   case 1000:
        myGLCD.drawLine(63, 31, 71, 31);    //pokreślam 1kHz
        myGLCD.drawLine(63, 32, 71, 32);    //pokreślam 1kHz      
    break;
   case 10000:
        myGLCD.drawLine(51, 31, 59, 31);    //pokreślam 10kHz
        myGLCD.drawLine(51, 32, 59, 32);    //pokreślam 10kHz      
    break;
   case 100000:
        myGLCD.drawLine(39, 31, 47, 31);    //pokreślam 100kHz
        myGLCD.drawLine(39, 32, 47, 32);    //pokreślam 100kHz      
    break;
   case 1000000:
        myGLCD.drawLine(27, 31, 35, 31);    //pokreślam 1mHz
        myGLCD.drawLine(27, 32, 35, 32);    //pokreślam 1mHz      
    break;    
  }
myGLCD.update();  //jak już ustaliliśmy co, rysujemy to wysyłamy to do LCD
}
(Ten post był ostatnio modyfikowany: 21-07-2020 11:19 przez SQ6SEE.)
24-04-2020 13:03
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Odpowiedz 


Wiadomości w tym wątku
RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO - SQ6SEE - 24-04-2020 13:03

Skocz do:


Użytkownicy przeglądający ten wątek: 3 gości