Arduino Sim900 ile LCD de sinyal seviyesi AT+CSQ
  • Arkadaşlar Merhaba
    Sim900 ile basit bir röle açma kapama işlemi yapıyorum. Fakat cihazın bulunduğu ortamda sinyal seviyesinin yeterli olmadığı zamanlar oluyor. Bu sebepten projeme bir 16*2 LCD bağlayıp sinyal seviyesini görüntülemek istiyorum. Biraz araştırmadan sonra serial port üzerinden AT+CSQ? ile sinyal seviyesini 2 ile 30 arasında bir değerde görebiliyorum.
    AT+CSQ?
    +CSQ: 14,99
    OK
    Bu değeride aşağıdaki gibi RSSI dbm e dönüştürüp yada değer üzerinden oluşturacağım bir koşul ile sinyal seviyesi iyi - orta - kötü olarak LCD de göstereceğim.
    değer dbm
    2 -109 Marginal
    3 -107 Marginal
    4 -105 Marginal
    5 -103 Marginal
    6 -101 Marginal
    7 -99 Marginal
    8 -97 Marginal
    9 -95 Marginal
    10 -93 OK
    11 -91 OK
    12 -89 OK
    13 -87 OK
    14 -85 OK
    15 -83 Good
    16 -81 Good
    17 -79 Good
    18 -77 Good
    19 -75 Good
    20 -73 Excellent
    21 -71 Excellent
    22 -69 Excellent
    23 -67 Excellent
    24 -65 Excellent
    25 -63 Excellent
    26 -61 Excellent
    27 -59 Excellent
    28 -57 Excellent
    29 -55 Excellent
    30 -53 Excellent
    Fakat bunu yapabilmek için "+CSQ:" dan sonra gelen değeri ayrıştırmam gerekiyor bunu yapamadım.
    Bunu yapabilirsem belki seviye gösteren küçük çubuklar bile yapabilirim :)
  • şu satırı okuyabiliyorumusun modemden gelen
    +CSQ: 14,99
    eğer okuyorsan parçalama işlemi yapacaksın. bu cumlenın uzunluğu 11 karakter bunları tarayıp once ":" ye kadar ilerleyeceksin sonra da "," kadar başka bir text değişkene yollayacaksın. devamını da başka bir text değişkene atarsın.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Login with Facebook

Tagged

Açık kaynak kültürü gereği, çözdüğünüz problemlerin çözümlerini paylaşmayı lütfen unutmayın.