Raspberry Pico ile Keypad Kullanımı

Şuanda herşey yolunda gibi.
Voltaj 30v dan fazla tuşlanmasın diye bir kaç önlem ekledim.
Küçük bir sıkıntı var. 00.00 yerine 0.00 görüyorum.
Mesela 5v ayarlamak istediğimde 05.00 şeklinde tuşluyorum ama baştaki eleman etkisiz olunca yazmıyor ekrana.
Keypad ile kullanım bakımından hiç bir sıkıntı yok ama bunu enkoder ile ayarlamak istediğimizde oradaki sıfırı görebilmemiz lazım.

16358 eklentisine bak

Kod:
float sayi1 = 0;
float sayi2 = 0;
float sayi3 = 0;
float sayi4 = 0;
int tur = 0;
float voltaj = 00.00;

if ( isdigit(kidx) ) {
    uint8_t sayi = kidx - '0';
    if (tur == 0) {
      if (sayi <= 3) {
        sayi1 = sayi;
      }else{
      tur = -1;
      }
    } else if (tur == 1) {
      if(sayi1 != 3){
      sayi2 = sayi;
      }else{
        tur = 0;
      }
    } else if (tur == 2) {
      sayi3 = sayi;
    } else if (tur == 3) {
      sayi4 = sayi;
      tur = -1;
    }
    tur++;
    voltaj = sayi1 * 10.0 + sayi2 * 1.0 + sayi3 * 0.1 + sayi4 * 0.01;
    Serial.print("voltaj: ");
    Serial.println(voltaj);

Bu kod çok fazla karmaşık, baya basitleştirilebilir. Basitleştirmede kasıt, daha az satır olması değil. Mantığı basit olacak:

1) Değişken sayısı az olacak.
2) Kodun dallanma sayısı az olacak (if else sayısı)
 
Bu kod çok fazla karmaşık, baya basitleştirilebilir. Basitleştirmede kasıt, daha az satır olması değil. Mantığı basit olacak:

1) Değişken sayısı az olacak.
2) Kodun dallanma sayısı az olacak (if else sayısı)
Dur abi iş çıkarma, çalışıyor şuanda.
Söz komple çalışır duruma getirdikten sonra ayarlarını bozmadan kodlarını daha mantıklı ve kısa tutmaya çalışacağım :D
 

Forum istatistikleri

Konular
8,850
Mesajlar
144,042
Üyeler
3,555
Son üye
Logi

Son kaynaklar

Back
Top