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
SQ8MVY Offline
Paweł
****

Liczba postów: 724
Dołączył: 30-07-2011
Post: #281
RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO
No tak, trochę się w obliczaniu pomyliłem. Ale aż 90 bajtów trochę szkoda. Wystarczy 6 brakujących bajtów dodac., A nie jeden, jak sugerowałem.

73 Paweł
07-04-2020 12:23
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SQ6SEE Offline
Paweł
*

Liczba postów: 37
Dołączył: 08-10-2014
Post: #282
RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO
dodawalem po kolei i stopniowo pasek znikał a przy 90 znikł całkiem
07-04-2020 12:27
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP9BSL Offline
Sławek
*****

Liczba postów: 786
Dołączył: 20-10-2015
Post: #283
RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO
Zwróćcie panowie uwagę na organizację pamięci tego kontrolera tutaj.
Nie da się tego wyliczyć stosując uproszczenie x*y.

Wydaje mi się że bufor ekranu powinien mieć taką wielkość: liczba_całkowita(65/8+1) *102 czyli 918 bajtów.

Wartości Max_x=102, max_y=65.

Z poprzednich wyliczeń Pawła wychodzi 828 bajtów więc jak widać o 90 za mało.

73 Sławek
(Ten post był ostatnio modyfikowany: 07-04-2020 15:27 przez SP9BSL.)
07-04-2020 15:27
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SQ8MVY Offline
Paweł
****

Liczba postów: 724
Dołączył: 30-07-2011
Post: #284
RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO
Sławku, zgadza się.
Dopiero teraz na spokojnie spojrzalem do noty.

73 Paweł
07-04-2020 15:40
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SQ5KVS Offline
Karol
*****

Liczba postów: 1,012
Dołączył: 26-09-2012
Post: #285
RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO
"Pamiętajcie elektroniki młode, czytajcie zawsze karty katalogowe" Smile

Nie rozumiem - nie robię. Chyba że robię żeby zrozumieć.
08-04-2020 9:50
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SQ6SEE Offline
Paweł
*

Liczba postów: 37
Dołączył: 08-10-2014
Post: #286
RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO
Jak tu jest zrealizowana obsluga przyciskow? Bo losowo wciska sie vfo a/b band i step.
16-04-2020 10:15
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SQ8MVY Offline
Paweł
****

Liczba postów: 724
Dołączył: 30-07-2011
Post: #287
RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO
Dodaj zewnętrzne rezystory PullUp do tych przycisków, jak masz taki efekt. 4.7K wystarczy.
Zwarcie pinu do masy traktowane jest jako wciśnięcie.

73 Paweł
16-04-2020 10:35
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SQ6SEE Offline
Paweł
*

Liczba postów: 37
Dołączył: 08-10-2014
Post: #288
RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO
Co sądzicie o takiej płytce do tej syntezy? W załączniku szczegóły.


Załączone pliki
.zip  Desktop.zip (Rozmiar: 263.09 KB / Pobrań: 853)
22-04-2020 18:15
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SQ5KVS Offline
Karol
*****

Liczba postów: 1,012
Dołączył: 26-09-2012
Post: #289
RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO
Pomyśl o otworach montażowych do płyty głównej lub czołowych i przeanalizuj popularne obudowy (zwłaszcza może te metalowe) w kontekście tego gdzie mają mocowania i jakie. Ja popełniłem kiedyś błąd i okazało się że śruby mocujące wyświetlacz, płytkę do płyty głównej wypadają w miejscu gdzie obudowa ma słupki.. Trzeba było coś upiłować, i tak obudowa się spina na trzy śruby a nie cztery... Smile I tak się cieszę że się zmieściło, bywają gorsze pomyłki Smile

Nie rozumiem - nie robię. Chyba że robię żeby zrozumieć.
23-04-2020 10:56
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
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 


Skocz do:


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