Kablo pin testi

Basmadan çıkıyorsa keypad sorunudur. Ama her hangi bir düzeltme yapmadan direk sıfıra basınca sıfır çıkıyorsa "oynadı güldü, yerini buldu" diyebiliriz.

Rakamları şöyle test edebilirsin;
# tuşunu Enter gibi yapılandır. Yani rakamı girip # ye basınca serial monitöre girdiğin rakamı yazdırsın. Onun için de, oradaki ilk if'in içinde rakam toplama yapar ve "toplam" değişkenine aktarır. Mesela 1'e basınca toplam değişkenine 1 aktarır, peşinden 2' ye basarsan toplam değişkenine 12 aktarmış olursun. Taki sen Toplam = 0; yapana kadar aktarır durur. Şimdi # ifinin içine
Kod:
Serial.print(toplam) ;
toplam = 0;
Yaz. toplam değişkenin adına dikkat et. Büyün - küçük harf duyarlıdır. Ben ezbere yazıyorum. Sen oradaki in aynısını yaz. Bunu yaptıktan sonra keypad den 1 e bas ve peşinden # ye bas. Böylece serial monitör de 1 rakamını görmen gerekir. Her rakam girip # ye bastığında girdiğin rakamı serial monitörde okumalısın. Rakamları da bu şekilde test et. Eğer 1'e basıp, monitörde 2 okuyorsan yukarıdaki kodlama da 1 yazan yere 2 yazarak düzelt.



bu arada 0 tuşunda hiçbir işlem yapmadan 0 basınca 0 yazıyor monitore
 
Değişkenin adına dikkat et demiştim.
Bak 2-3 satır yukarıda yazıyor. ToplamSayi olacak senin değişkenin ismi.
Kırmızı alandaki toplam yazan yeri ToplamSayi olarak değiştir. :)

35 yaşımızdan sonra bi işe girdik umarım yaparız :)

dediğin gibi yaptım A tuşuna bastığımda monitorde 111111 yazıyor
arkasından # tuşuna da baştığımda 01234 yazmaya başladı şimdi daha önceden 0 yazmıyordu




1615124970703.png


1615125073176.png
 
# bastığında işlem yapacak kodların içine int sayi = 1234; diye bir değişken tanımamışsın. Sen # basınca oradaki 1234'ü basıp duruyor. ToplamSayi değişkenine de 0 atamışsın. Bu kodları sil. Sadece Serial. ptint(ToplamSayi) ;yaz oraya. Böylece 1 'e basıp # ye bastığında monitöre 1 yazacak.
Kodların en sonuna da delay(200); yaz. Böylece birkere 1 e basınca sadece bir tane 1 yazacak. Baktınki birkere basıyorsun ama 3 tane 1 yazıyor, o zaman delay süresini uzat. 260 yap, 300 yap.
 
# bastığında işlem yapacak kodların içine int sayi = 1234; diye bir değişken tanımamışsın. Sen # basınca oradaki 1234'ü basıp duruyor. ToplamSayi değişkenine de 0 atamışsın. Bu kodları sil. Sadece Serial. ptint(ToplamSayi) ;yaz oraya. Böylece 1 'e basıp # ye bastığında monitöre 1 yazacak.
Kodların en sonuna da delay(200); yaz. Böylece birkere 1 e basınca sadece bir tane 1 yazacak. Baktınki birkere basıyorsun ama 3 tane 1 yazıyor, o zaman delay süresini uzat. 260 yap, 300 yap.


şuanda A bastığımda monitore 1 # bastığımda da monitöre 0 yazdırıyor



1615127333605.png
 
şuanda A bastığımda monitore 1 # bastığımda da monitöre 0 yazdırıyor



8642 eklentisine bak
* basınca 22, B ye basınca da 2 yazacak. Çünkü öyle tanımamışsın kodların içinde. # hariç aşağıdaki bütün harf ve * ın içeriğini sil. Sonra 1,e bas ve # bas bakalım monitöre ne yazıyor?

Sanırım YouTube dan biraz arduino dersleri izlesen iyi olacak. Böyle körü körüne ilerleyince bu konu 300 mesajı bulacak :katil2:
 
* basınca 22, B ye basınca da 2 yazacak. Çünkü öyle tanımamışsın kodların içinde. # hariç aşağıdaki bütün harf ve * ın içeriğini sil. Sonra 1,e bas ve # bas bakalım monitöre ne yazıyor?

Sanırım YouTube dan biraz arduino dersleri izlesen iyi olacak. Böyle körü körüne ilerleyince bu konu 300 mesajı bulacak :katil2:

YouTube den de izliyorum ama orda nedense hemen çalışıyor onlarda hiç sıkıntı çıkmıyor

Dediğiniz şekilde deneyip söyleyeceğim
 
* basınca 22, B ye basınca da 2 yazacak. Çünkü öyle tanımamışsın kodların içinde. # hariç aşağıdaki bütün harf ve * ın içeriğini sil. Sonra 1,e bas ve # bas bakalım monitöre ne yazıyor?

Sanırım YouTube dan biraz arduino dersleri izlesen iyi olacak. Böyle körü körüne ilerleyince bu konu 300 mesajı bulacak :katil2:


1 e basıp # bastığımda monitörde yazan

1615154033452.png




2 basıp # bastığımda monitörde yazan


1615154100796.png



3 basıp # bastığımda monitörde yazan



1615154179043.png




# bastığımda en son yazanı tekrar yazdırıyor
 
void loop kısmındaki kodları buraya ekler misin? Yarın sabah bakayım.
Kod:
 void loop(){
    uint8_t idxx = keyPad.getKey();
    char idx = "123A456B789C*0#D"[idxx];

    if ( isdigit(idx) ) {
        uint8_t sayi = idx - '0';
        ToplamSayi = ((ToplamSayi * 10) + sayi);
          Serial.print( "Tuslanan Sayi:" );
          Serial.println(ToplamSayi);
          lcd.print(ToplamSayi);
    }
    else if ( idx == '#' ) {

    Serial.print(ToplamSayi) ;
 
  delay(250);
}
else if ( idx == '*' ) {
 
//  int sayi = 22;
 // Serial.print(sayi);
 // delay(200);
}
else if ( idx == 'A' ) {
 
 // int sayi = 1;
//  Serial.print(sayi);
//  delay(200);
}
  else if ( idx == 'B' ) {
 
 // int sayi = 2;
 // Serial.print(sayi);
 // delay(200);

}
else if ( idx == 'C' ) {
 
//  int sayi = 3;
 // Serial.print(sayi);
 // delay(200);

}

else if ( idx == 'D' ) {
 
 // int sayi = 4;
//  Serial.print(sayi);
//delay(200);

}
 }
 
void loop kısmını ekledim sadece
Senin kodları sil. yerine bunu ekle.
Sonra 1'e ve # ye bas. Ekrana ne yazdırıyor bak.

Keypad:
void loop(){
    uint8_t idxx = keyPad.getKey();
    char idx = "123A456B789C*0#D"[idxx];

    if ( isdigit(idx) ) {
        uint8_t sayi = idx - '0';
        ToplamSayi = ((ToplamSayi * 10) + sayi);
    }
    else if ( idx == '#' ) {

        Serial.print(ToplamSayi);;
    }
    else if ( idx == '*' ) {
    
       //Serial.print(ToplamSayi);
    }
    else if ( idx == 'A' ) {
    
        //Serial.print(ToplamSayi);
    }
      else if ( idx == 'B' ) {
      
        //Serial.print(ToplamSayi);
    }
    else if ( idx == 'C' ) {
    
        //Serial.print(ToplamSayi);
    }
    else if ( idx == 'D' ) {
    
        //Serial.print(ToplamSayi);
    }
    delay(300);
}
 
Senin kodları sil. yerine bunu ekle.
Sonra 1'e ve # ye bas. Ekrana ne yazdırıyor bak.

Keypad:
void loop(){
    uint8_t idxx = keyPad.getKey();
    char idx = "123A456B789C*0#D"[idxx];

    if ( isdigit(idx) ) {
        uint8_t sayi = idx - '0';
        ToplamSayi = ((ToplamSayi * 10) + sayi);
    }
    else if ( idx == '#' ) {

        Serial.print(ToplamSayi);;
    }
    else if ( idx == '*' ) {
   
       //Serial.print(ToplamSayi);
    }
    else if ( idx == 'A' ) {
   
        //Serial.print(ToplamSayi);
    }
      else if ( idx == 'B' ) {
     
        //Serial.print(ToplamSayi);
    }
    else if ( idx == 'C' ) {
   
        //Serial.print(ToplamSayi);
    }
    else if ( idx == 'D' ) {
   
        //Serial.print(ToplamSayi);
    }
    delay(300);
}


merhaba

şimdi denedim kodu 1 e bastığımda monitore bişey yazmıyor # batığımda yazdırıyor monitöre

2 ye basıp # bastığımda 2 3 4 5 aynı şekilde fakat 6 dan sonra sapıtıyor rakamlar :)
yazan rakamların düzelmesi için reset atmam gerekiyor galiba programa
ilk seferde 7 bastığımda ekrana 7 basıyor

umarım olmaya başlamıştır :)


1615195176439.png
 
merhaba

şimdi denedim kodu 1 e bastığımda monitore bişey yazmıyor # batığımda yazdırıyor monitöre

2 ye basıp # bastığımda 2 3 4 5 aynı şekilde fakat 6 dan sonra sapıtıyor rakamlar :)
yazan rakamların düzelmesi için reset atmam gerekiyor galiba programa
ilk seferde 7 bastığımda ekrana 7 basıyor

umarım olmaya başlamıştır :)


8691 eklentisine bak
Serial monitöre bilgiyi yazdıran kod: Serial.print(ToplamSayi); budur.
Bu kod # tuşuna basıldığında yapılacak işlerin içinde bulunduğuna göre, #'ye basmadan monitörde bir şey göremezsin.

Tane tane bas.
Önce 1'e bas, peşinden # ye bas.
Bunu yaptığında monitörde 1 okuyor olmalısın.

Sonra monitörün sağ altından "çıkışı temizle" butonuna bas.

Sonra 2'ye bas, peşinden #'ye bas.
Bunu yaptığında monitörde 2 okuyor olmalısın.

Sonra monitörün sağ altından "çıkışı temizle" butonuna bas.

Sonra 3'ye bas, peşinden #'ye bas.
Bunu yaptığında monitörde 3 okuyor olmalısın.

Sonra monitörün sağ altından "çıkışı temizle" butonuna bas.

Sonra 4'ye bas, peşinden #'ye bas.
Bunu yaptığında monitörde 4 okuyor olmalısın.

Sonra monitörün sağ altından "çıkışı temizle" butonuna bas.

Sonra 5'ye bas, peşinden #'ye bas.
Bunu yaptığında monitörde 5 okuyor olmalısın.

Sonra monitörün sağ altından "çıkışı temizle" butonuna bas.

Sonra 6'ye bas, peşinden #'ye bas.
Bunu yaptığında monitörde 6 okuyor olmalısın.

Sonra monitörün sağ altından "çıkışı temizle" butonuna bas.

Sonra 7'ye bas, peşinden #'ye bas.
Bunu yaptığında monitörde 7 okuyor olmalısın.

Sonra monitörün sağ altından "çıkışı temizle" butonuna bas.

Sonra 8'ye bas, peşinden #'ye bas.
Bunu yaptığında monitörde 8 okuyor olmalısın.

Sonra monitörün sağ altından "çıkışı temizle" butonuna bas.

Sonra 9'ye bas, peşinden #'ye bas.
Bunu yaptığında monitörde 9 okuyor olmalısın.

Sonra monitörün sağ altından "çıkışı temizle" butonuna bas.

Sonra 0'ye bas, peşinden #'ye bas.
Bunu yaptığında monitörde 0 okuyor olmalısın.

Sonra monitörün sağ altından "çıkışı temizle" butonuna bas.

Bunlardan hangisi çalışmıyorsa, onun resmini at.
Tuşa fazla basılı tutarsan #'ye bastığında rakam peş peşe çıkar. O yüzden tuşa bas ve beklemeden çek elini.
Misal 1'e basılı tutarsan elini #'ye bastığında 11111 okursun.
 
Serial monitöre bilgiyi yazdıran kod: Serial.print(ToplamSayi); budur.
Bu kod # tuşuna basıldığında yapılacak işlerin içinde bulunduğuna göre, #'ye basmadan monitörde bir şey göremezsin.

Tane tane bas.
Önce 1'e bas, peşinden # ye bas.
Bunu yaptığında monitörde 1 okuyor olmalısın.

Sonra monitörün sağ altından "çıkışı temizle" butonuna bas.

Sonra 2'ye bas, peşinden #'ye bas.
Bunu yaptığında monitörde 2 okuyor olmalısın.

Sonra monitörün sağ altından "çıkışı temizle" butonuna bas.

Sonra 3'ye bas, peşinden #'ye bas.
Bunu yaptığında monitörde 3 okuyor olmalısın.

Sonra monitörün sağ altından "çıkışı temizle" butonuna bas.

Sonra 4'ye bas, peşinden #'ye bas.
Bunu yaptığında monitörde 4 okuyor olmalısın.

Sonra monitörün sağ altından "çıkışı temizle" butonuna bas.

Sonra 5'ye bas, peşinden #'ye bas.
Bunu yaptığında monitörde 5 okuyor olmalısın.

Sonra monitörün sağ altından "çıkışı temizle" butonuna bas.

Sonra 6'ye bas, peşinden #'ye bas.
Bunu yaptığında monitörde 6 okuyor olmalısın.

Sonra monitörün sağ altından "çıkışı temizle" butonuna bas.

Sonra 7'ye bas, peşinden #'ye bas.
Bunu yaptığında monitörde 7 okuyor olmalısın.

Sonra monitörün sağ altından "çıkışı temizle" butonuna bas.

Sonra 8'ye bas, peşinden #'ye bas.
Bunu yaptığında monitörde 8 okuyor olmalısın.

Sonra monitörün sağ altından "çıkışı temizle" butonuna bas.

Sonra 9'ye bas, peşinden #'ye bas.
Bunu yaptığında monitörde 9 okuyor olmalısın.

Sonra monitörün sağ altından "çıkışı temizle" butonuna bas.

Sonra 0'ye bas, peşinden #'ye bas.
Bunu yaptığında monitörde 0 okuyor olmalısın.

Sonra monitörün sağ altından "çıkışı temizle" butonuna bas.

Bunlardan hangisi çalışmıyorsa, onun resmini at.
Tuşa fazla basılı tutarsan #'ye bastığında rakam peş peşe çıkar. O yüzden tuşa bas ve beklemeden çek elini.
Misal 1'e basılı tutarsan elini #'ye bastığında 11111 okursun.


şimdi denedim
aynen şu şekilde çalışıyor

1 basıp # bastığımda 0 monitörde yazıyor çıkışı temizle dediğimde siliniyor
1 basıp # bastığımda 1 monitörde yazıyor çıkışı temizle dediğimde siliniyor
2 basıp # bastığımda 12 monitörde yazıyor çıkışı temizle dediğimde siliniyor
3 basıp # bastığımda 123 monitörde yazıyor çıkışı temizle dediğimde siliniyor
4 basıp # bastığımda 1234 monitörde yazıyor çıkışı temizle dediğimde siliniyor
5 basıp # bastığımda 12345 monitörde yazıyor çıkışı temizle dediğimde siliniyor
6 basıp # bastığımda -7616 monitörde yazıyor çıkışı temizle dediğimde siliniyor
7 basıp # bastığımda -10617 monitörde yazıyor çıkışı temizle dediğimde siliniyor
8 basıp # bastığımda 24910 monitörde yazıyor çıkışı temizle dediğimde siliniyor
9 basıp # bastığımda 731 monitörde yazıyor çıkışı temizle dediğimde siliniyor
0 basıp # bastığımda -16512 monitörde yazıyor çıkışı temizle dediğimde siliniyor

bu şekilde döngüyü tamamlayıp tekrardan başa döndüm 1 basıp denedim tekrar onda da -12789 yazdırdı monitöre

arduino üzerinde ki reset tuşuna basıp tersten denemek istedim birde

9 basıp # bastığımda 9 monitörde yazıyor çıkışı temizle dediğimde siliniyor
8 basıp # bastığımda 98 monitörde yazıyor çıkışı temizle dediğimde siliniyor
7 basıp # bastığımda 987 monitörde yazıyor çıkışı temizle dediğimde siliniyor
6 basıp # bastığımda 9876 monitörde yazıyor çıkışı temizle dediğimde siliniyor
5 basıp # bastığımda -32307 monitörde yazıyor çıkışı temizle dediğimde siliniyor
4 basıp # bastığımda 4614 monitörde yazıyor çıkışı temizle dediğimde siliniyor
3 basıp # bastığımda -19393 monitörde yazıyor çıkışı temizle dediğimde siliniyor
2 basıp # bastığımda 2680 monitörde yazıyor çıkışı temizle dediğimde siliniyor
1 basıp # bastığımda 26801 monitörde yazıyor çıkışı temizle dediğimde siliniyor
0 basıp # bastığımda 5866 monitörde yazıyor çıkışı temizle dediğimde siliniyor




1615204405824.png


1615204477701.png


1615204519070.png

1615204567970.png


1615204615111.png


1615204678181.png






1615203689699.png


1615203746014.png


1615203854539.png


1615203957975.png


1615204093511.png



1615204233090.png


1615204810491.png



1615204916571.png
 

Ekler

  • 1615203978929.png
    1615203978929.png
    50.4 KB · Görüntüleme: 98
şimdi denedim
aynen şu şekilde çalışıyor

1 basıp # bastığımda 0 monitörde yazıyor çıkışı temizle dediğimde siliniyor
1 basıp # bastığımda 1 monitörde yazıyor çıkışı temizle dediğimde siliniyor
2 basıp # bastığımda 12 monitörde yazıyor çıkışı temizle dediğimde siliniyor
3 basıp # bastığımda 123 monitörde yazıyor çıkışı temizle dediğimde siliniyor
4 basıp # bastığımda 1234 monitörde yazıyor çıkışı temizle dediğimde siliniyor
5 basıp # bastığımda 12345 monitörde yazıyor çıkışı temizle dediğimde siliniyor
6 basıp # bastığımda -7616 monitörde yazıyor çıkışı temizle dediğimde siliniyor
7 basıp # bastığımda -10617 monitörde yazıyor çıkışı temizle dediğimde siliniyor
8 basıp # bastığımda 24910 monitörde yazıyor çıkışı temizle dediğimde siliniyor
9 basıp # bastığımda 731 monitörde yazıyor çıkışı temizle dediğimde siliniyor
0 basıp # bastığımda -16512 monitörde yazıyor çıkışı temizle dediğimde siliniyor

bu şekilde döngüyü tamamlayıp tekrardan başa döndüm 1 basıp denedim tekrar onda da -12789 yazdırdı monitöre

arduino üzerinde ki reset tuşuna basıp tersten denemek istedim birde

9 basıp # bastığımda 9 monitörde yazıyor çıkışı temizle dediğimde siliniyor
8 basıp # bastığımda 98 monitörde yazıyor çıkışı temizle dediğimde siliniyor
7 basıp # bastığımda 987 monitörde yazıyor çıkışı temizle dediğimde siliniyor
6 basıp # bastığımda 9876 monitörde yazıyor çıkışı temizle dediğimde siliniyor
5 basıp # bastığımda -32307 monitörde yazıyor çıkışı temizle dediğimde siliniyor
4 basıp # bastığımda 4614 monitörde yazıyor çıkışı temizle dediğimde siliniyor
3 basıp # bastığımda -19393 monitörde yazıyor çıkışı temizle dediğimde siliniyor
2 basıp # bastığımda 2680 monitörde yazıyor çıkışı temizle dediğimde siliniyor
1 basıp # bastığımda 26801 monitörde yazıyor çıkışı temizle dediğimde siliniyor
0 basıp # bastığımda 5866 monitörde yazıyor çıkışı temizle dediğimde siliniyor




8701 eklentisine bak

8702 eklentisine bak

8703 eklentisine bak
8704 eklentisine bak

8705 eklentisine bak

8706 eklentisine bak





8694 eklentisine bak

8695 eklentisine bak

8696 eklentisine bak

8697 eklentisine bak

8699 eklentisine bak


8700 eklentisine bak

8707 eklentisine bak


8708 eklentisine bak
Evet unuttuğumuz birşey var.
# içindeki Serial.print(ToplamSayi); hemen altına şu satırı ekle ve aynı şekilde testi baştan başlat. ToplamSayi = 0;
 
Evet unuttuğumuz birşey var.
# içindeki Serial.print(ToplamSayi); hemen altına şu satırı ekle ve aynı şekilde testi baştan başlat. ToplamSayi = 0;

Merhaba


1 basıp # bastığımda 1 monitörde yazıyor çıkışı temizle dediğimde siliniyor
2 basıp # bastığımda 2 monitörde yazıyor çıkışı temizle dediğimde siliniyor
3 basıp # bastığımda 3 monitörde yazıyor çıkışı temizle dediğimde siliniyor
4 basıp # bastığımda 4 monitörde yazıyor çıkışı temizle dediğimde siliniyor
5 basıp # bastığımda 5 monitörde yazıyor çıkışı temizle dediğimde siliniyor
6 basıp # bastığımda 6 monitörde yazıyor çıkışı temizle dediğimde siliniyor
7 basıp # bastığımda 7 monitörde yazıyor çıkışı temizle dediğimde siliniyor
8 basıp # bastığımda 8 monitörde yazıyor çıkışı temizle dediğimde siliniyor
9 basıp # bastığımda 9 monitörde yazıyor çıkışı temizle dediğimde siliniyor
0 basıp # bastığımda 0 monitörde yazıyor çıkışı temizle dediğimde siliniyor
hiç bi tuşa basmadan # bastığımda 0 monitörde yazıyor çıkışı temizle dediğimde siliniyor

membran tuş takımı da sanki biraz dandik olacak gibi geliyor :) belki bir yere yapışınca iyi olur
 
Merhaba


1 basıp # bastığımda 1 monitörde yazıyor çıkışı temizle dediğimde siliniyor
2 basıp # bastığımda 2 monitörde yazıyor çıkışı temizle dediğimde siliniyor
3 basıp # bastığımda 3 monitörde yazıyor çıkışı temizle dediğimde siliniyor
4 basıp # bastığımda 4 monitörde yazıyor çıkışı temizle dediğimde siliniyor
5 basıp # bastığımda 5 monitörde yazıyor çıkışı temizle dediğimde siliniyor
6 basıp # bastığımda 6 monitörde yazıyor çıkışı temizle dediğimde siliniyor
7 basıp # bastığımda 7 monitörde yazıyor çıkışı temizle dediğimde siliniyor
8 basıp # bastığımda 8 monitörde yazıyor çıkışı temizle dediğimde siliniyor
9 basıp # bastığımda 9 monitörde yazıyor çıkışı temizle dediğimde siliniyor
0 basıp # bastığımda 0 monitörde yazıyor çıkışı temizle dediğimde siliniyor
hiç bi tuşa basmadan # bastığımda 0 monitörde yazıyor çıkışı temizle dediğimde siliniyor

membran tuş takımı da sanki biraz dandik olacak gibi geliyor :) belki bir yere yapışınca iyi olur
Ohh Bee. Yaşlandım yav. Sayende tuş takımının içinden geçtim. Bir daha bu konuda sıkıntı çekeceğimi sanmıyorum :katil2:

Şimdi bu key pad ile ne yapmak istediğini söyle.
 
Son düzenleme:
Forumun keypad otoritesi sen oldun artık :)
 

Forum istatistikleri

Konular
5,972
Mesajlar
101,847
Üyeler
2,514
Son üye
evrenbasaran

Son kaynaklar

Son profil mesajları

deneyci wrote on hakan8470's profile.
Sibonge uNkulunkulu ngokuhlukahluka asinike kona.

Bu hangi dil? :)
Lyewor_ wrote on taydin's profile.
Merhabalar. Elektrik laboratuvarınız varsa bunun hakkında bir konunuz var mı acaba? Sizin laboratuvarınızı merak ettim de :)
Lyewor_ wrote on taydin's profile.
Merhabalar forumda yeniyim! Bir sorum olacaktı lcr meterler hakkında. Hem bobini ölçen hemde bobin direnci ölçen bir lcr meter var mı acaba?
gruptaki arkadaşlara selamlar. sıteyi bu gün fark ettim. Asansör için 2x7 segment LCD gösterge üretmek istiyorum. acaba bu sayfadaki arkadaşlardan destek alabilirmiyim. LCD nin mantık açılımı ektedir.
deneyci wrote on TA3UIS's profile.
Selam.
Amatör telsiz lisansı nasıl alınıyor?
Lisansı olmayanı forumlarına almıyorlar. :)
Bilgi alamıyoruz.
Back
Top