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.
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
}