avatar_efeworld

mpx 10 dp basınç sensörü

Başlatan efeworld, 20 Kasım 2016, 19:52:50

efeworld

sevgili hocam ve arkadaşlar.Ben mpx 10 dp basınç sensörünün nasıl çalıştığını merak ediyorum datasheet e baktım ama bişey anlamadım.nasıl çalıştığını anlatabilirmisiniz.bir de basit bir programla anlatırsanız daha iyi anlarım.şimdiden teşekkürler

kudretuzuner

#1
Merhaba,
MPX..... serisi basınç sensörleri hava hortumu bağlanıp basınç verilmeye başlayınca data şitindeki grafikte görüldüğü gibi linear bir eğri ile voltaj verir.Yani basınç arttıkça voltj da artar.birkaç basit entegrelerle bu değerleri 8 bit digital olarak okumak mümkündür.ADC0804 ve 555 ile sekiz bit okuyan çalışmamın bir bölümü sanırım size fikir verecektir.
http://pdf.datasheetcatalog.com/datasheet2/1/02zzelrd7drquf1ohd0ij21qgpky.pdf

efeworld

Verdiğiniz cevap için teşekkür ederim Allah razı olsun

KMD

#3
Bmp 180 proton kod orenegınde sıcaklık olcme gayet guzel ben basınc olcme bolumunu pek cozemedım uzerınde calısıyorum hala.bu sensor modulle ugrasacak arkadaslara kolay gelsın.

;========================= BMP180 PROTON  CODE =======================
Device =16F877
  XTAL = 20
TRISA=0:PORTA=0
TRISB=0:PORTB=0
TRISC=0:PORTC=0
TRISD=0:PORTD=0       
TRISE=0:PORTE=0
Declare ALL_DIGITAL = true
;-------------------------------------------------------------------------------
Declare LCD_TYPE alpha 
Declare LCD_LINES 2
Declare LCD_INTERFACE 4
Declare LCD_DTPIN PORTB.4
Declare LCD_RSPIN PORTB.0
Declare LCD_ENPIN PORTB.1
Symbol SDA =PORTC.7
Symbol  SCL =PORTC.6

  Symbol BMP180 = $EE  'BMP180 I2C address
  Symbol CalDatStAd = $AA 'Start address for cal. data.
  Symbol InitConvReg = $F4
  Symbol PReadReg = $34
  Symbol TReadReg = $2E
  Symbol BASINCOKU=$F6
 
  Dim wAC1 As Word
  Dim wAC2 As Word
  Dim wAC3 As Word
  Dim wAC4 As Word
  Dim wAC5 As Word
  Dim wAC6 As Word

  Dim wB1 As Word
  Dim wB2 As Word
 
  Dim wMB As Word
  Dim wMC As Word
  Dim wMD As Word

;_______________________________
  Dim AC1 As DWord
  Dim AC2 As DWord
  Dim AC3 As DWord
  Dim AC4 As DWord
  Dim AC5 As DWord   ;WORD
  Dim AC6 As Word ;WORD

  Dim B1 As Byte
  Dim B2 As DWord
  Dim B6 As DWord
  Dim B3 As Word
  Dim B4 As Word
  Dim B7 As Word
  Dim PR As Word
 
  Dim MB As DWord
  Dim MC As DWord
  Dim MD As DWord

  Dim OSS As Byte
  Dim UP As  Word
  Dim UT As Word    ;WORD
    Dim PT As Word
  Dim XLSB As Word

  Dim X1 As DWord
  Dim X2 As DWord
  Dim X3 As DWord
  Dim MK As Word
  Dim SAY As Byte
;==================================
Dim XX1 As DWord
Dim XX2 As DWord
Dim XX3 As DWord
Dim P As DWord
Dim PERA As Float
;==================================

       Dim TOPLA As DWord
       Dim T As Float
       Dim Temperature As Word
       DelayMS 1000
GoSub KALIBRE
       DelayMS 500
Cls
;===========================================
BASLA:
                 I2COUT SDA,SCL,BMP180,InitConvReg,[TReadReg]
                  DelayMS 10   
                 I2CIN SDA,SCL,BMP180,$F6,[UT]
                 GoSub Thesap
                 Print At 1,1,"C: ",Dec T
                  ;Print At 1,8,"F6:",Dec UT
                 
I2COUT SDA,SCL,BMP180,InitConvReg,[PReadReg]
DelayMS 10
I2CIN SDA,SCL,BMP180,$F6,[PT]
DelayMS 1
GoSub BHESAP
Print At 2,1,"B: ",Dec PR
Print At 2,12,"X1:",Dec XX1
DelayMS 500
GoTo BASLA
;=======================================KALIBRASYON=======================================
KALIBRE:
    Print At  1,1,"START"
    I2CIn SDA,SCL,$EE,$AA, [wAC1]
    DelayMS 5
    I2CIn SDA,SCL,$EE,$AC, [wAC2]
    DelayMS 5
    I2CIn SDA,SCL,$EE,$AE, [wAC3]
    DelayMS 5
    I2CIn SDA,SCL,$EE,$B0, [wAC4]
    DelayMS 5
    I2CIn SDA,SCL,$EE,$B2, [wAC5]
    DelayMS 5
    I2CIn SDA,SCL,$EE,$B4, [wAC6]
     DelayMS 5
    I2CIn SDA,SCL,$EE,$B6, [wB1]
    DelayMS 5
    I2CIn SDA,SCL,$EE,$B8, [wB2]
        DelayMS 5
       I2CIn SDA,SCL,$EE,$BA, [wMB]
       DelayMS 5
       I2CIn SDA,SCL,$EE,$BC, [wMC]
       DelayMS 5
       I2CIn SDA,SCL,$EE,$BE, [wMD]
       DelayMS 5
    AC1 = (wAC1.HighByte<<8) + wAC1.LowByte 
    AC2 = (wAC2.HighByte<<8) + wAC2.LowByte
    AC3 = (wAC3.HighByte<<8) + wAC3.LowByte 
    AC4 = (wAC4.HighByte<<8) + wAC4.LowByte         
    AC5 = (wAC5.HighByte<<8) + wAC5.LowByte
    AC6 = (wAC6.HighByte<<8) + wAC6.LowByte
    B1 = (wB1.HighByte<<8) + wB1.LowByte
    B2 = (wB2.HighByte<<8) + wB2.LowByte
    MB = (wMB.HighByte<<8) + wMB.LowByte
    MC = (wMC.HighByte<<8) + wMC.LowByte
    MD = (wMD.HighByte<<8) + wMD.LowByte
Return
;=====================sıcaklık hesap=======================
Thesap:
X1 = (UT - AC6)                   
   X1 = (X1 *AC5)/32768             
    X2 = (MC * 2048)
    X3 = X2/(X1 + MD)
    TOPLA = X1 + X3
    ;TOPLA=TOPLA/10
    T = (TOPLA + 8)/160;18.5   
Return
;=======================BASINC HESAPLAMA=============================
BHESAP:
B6 =(X1+X2)-4000                                     
    XX1 = (B6*B6)/4096
    XX1 = (B2 * XX1)/2048

    XX2 = (AC2 * B6)/2048
    XX3 = XX1 + XX2
   
    B3 = (AC1 * 4)+ XX3
    B3 = (B3+2)/4

    XX1 = (AC3 * B6)/8192

    XX2 = (B6 * B6)/4096
    XX2 = (B1 * XX2)/65536

    XX3 = XX1 + XX2
    XX3 = (XX3 + 2)/4

    B4 = (XX3 + 32768)
    B4 = (B4/32768)*AC4

    B7 = UP - B3
    B7 = B7*50000

   P=(B7*2)/4
   XX1=(P/65536)*P
   XX1=(XX1*3038)/65536
   
   XX2=(-7357*P)/65536
   PERA=(XX1+XX2+3791)
   PR=P+PERA/16
   PR=PR/100     
Return

kudretuzuner

#4
Merhaba,
Hangi sensörler olursa olsun kalibrasyon önemli bir faktördür.Hangi bar da kaç volt verdiğini deneysel olarak ölçüp görmek çok sağlıklı oluyor.Data şite bakarak da ayarlanabilinir ama fiziksel deney bence daha başarılı oluyor.MPX serisini sensörler serbest hava basıncında da belli bir değer göstermektedir.

Dtmf

Iyi gunler degerli arkadaslar Bmp180 barometrik sensor modulu ile sicaklik bilgisi geliyor fakat bmp180 in data shett inde yazan hesaplama formulunu bir turlu cozemedim ugrasan arkadaslar varsa yardimci olabilirmi atmosfer basinci olcmem lazim

ete

#6
Data sheet (Bilgi formu) na şöyle bir baktım ve epeyce komplike bir okuma sistemi olduğunu gördüm.
İşlemin adımları şöyle;
Öncelikle cihaz adresi %11101110 veya %11101111 şeklinde verilecek. Bit*0 biliyorsunuz okuma yada yazma yapıldığının göstergesi olarak 1 veya sıfır oluyor. Basic bunu otomatik yapabiliyor. C dilinde bilmiyorum her halde okuma için 1 yazma için sıfır verilmesi gerekiyor.

Ardından ikinci adım olarak 11 adet byte okunması gerekiyor. Bunlar düzeltme faktörleri. Her sensöre fabrikada o sesnörün doğru sonuç vermesi için gerekli düzeltme faktörleri kayıt edilmiş. Bunlar AC1-AC2-AC3-AC4-AC5-AC6-B1-B2-MB-MC-MD değerleri olacak ve daha sonra gerçek basınç hesaplamasında kullanılacaklar.

Üçüncü adım olarak kompanse edilmemiş sıcaklık değeri okunacak bunun için $F4 registerine $2E yazıyorsun ve yaklaşık 4,5ms (4500us) bekliyorsun. Ardından $F6 ve $F7 registerlerini okuyorsun.
UT=($F6<<8)+$F7
şeklinde bulunuyor.

Dördüncü adım Kompanse edilmemiş Basınç değerinin okunması oluyor. Bunun için $F4 registerine  $34+(OSS<<6) değerini yazıyorsun. Burada OSS=OverSamplingSettings oluyor. (bak $F4 registeri 6-7 ci bitleri. Şayet bu bitler %00 olursa 1 defa örnekleme, %01 olursa 2 defa örnekleme , %10 olursa 4 defa örnekleme, %11 olursa 8 defa örnekleme okuması yapıyor.
OSS=%01 ise bu durumda bunu 6 bit sola kaydırıp bunu $34 e eklemiş oluyorsun yani 6-7 bitleri yerine getirmiş oluyorsun hepsi bu.
Daha sonra $F6(MSB)  ve $F7(LSB) ve $F8 de yer alan XLSB registerlerini okuyorsun ve UP=(MSB<<16 + LSB<<8 + XLSB)>>(8-OSS) şeklinde formülü verip Ham basıncı buluyorsun.

Beşinci adım olarak Gerçek sıcaklığın hesabına geçiyoruz.
X1=(UT-AC6)*AC5/32768  ...... (2 üzeri 15=32768 dir)
X2=MC * 2048 /(X1+MD)   ......(2 üzeri 11 = 2048 dir)
B5=X1+X2
T=(B5+8)/16

Altıncı adım olarak Gerçek basıncın hesabını yapıyoruz.
B6=B5-4000
X1=(B2*(B6*B6/4096))/2048
X2=AC2*B6/2048
X3=X1+X2
B3=(((AC1*4+X3)<<OSS)+2)/4
X1=AC3*B6/8192
X2=(B1*(B6*B6/4096))/65536
X3=((X1+X2)+2)/4
B4=AC4*(X3+32768)/32768   (sonuç işaretsiz LONG tipinde ve Tamsayı olması gerekiyor)
B7=((UP-B3)*(50000>>OSS)
IF (B7<800000000) THEN
   P=B7*2/B4
ELSE
   P=(B7/B4)*2
ENDIF
X1=(P/256)*(P/256)
X1=(X1*3038)/65536
X2=(-7357*P)/65536
P=P+(X1+X2+3791)/16
Bu hesap sonucunda sonuç Paskal (Pa) çıkıyor. Sonradanbu değeri istediğin değere çevirebilirsin.
Görüldüğü üzere yoğun şekilde Long tip değişken matematiği var bütün hesaplar 32 bit üzerinden yapılıyor.
Bunu basicde yapmak biraz zor gözüküyor. İmkansız değil ama çok fazla hesap yapmak lazım.

Ete



Dtmf

ıyı aksamlar ete hocam ılgılendıgınız ıcın tesekur ederım formda kdm arkadasın paylastıgı bır program var ben onu denedım sıcaklık bolumu gayet guzel calısıyor gorunuyor ama basınc bolumunde sıkıntı var

Dtmf

#8
ete hocam kalıbre bolumunu soyle yaptım formdan aldım

KALIBRE:
    Print At  1,1,"START"
    I2CIn SDA,SCL,$EE,$AA, [wAC1]
    DelayMS 5
    I2CIn SDA,SCL,$EE,$AC, [wAC2]
    DelayMS 5
    I2CIn SDA,SCL,$EE,$AE, [wAC3]
    DelayMS 5
    I2CIn SDA,SCL,$EE,$B0, [wAC4]
    DelayMS 5
    I2CIn SDA,SCL,$EE,$B2, [wAC5]
    DelayMS 5
    I2CIn SDA,SCL,$EE,$B4, [wAC6]
     DelayMS 5
    I2CIn SDA,SCL,$EE,$B6, [wB1]
    DelayMS 5
    I2CIn SDA,SCL,$EE,$B8, [wB2]
        DelayMS 5
       I2CIn SDA,SCL,$EE,$BA, [wMB]
       DelayMS 5
       I2CIn SDA,SCL,$EE,$BC, [wMC]
       DelayMS 5
       I2CIn SDA,SCL,$EE,$BE, [wMD]
       DelayMS 5
    AC1 = (wAC1.HighByte<<8) + wAC1.LowByte 
    AC2 = (wAC2.HighByte<<8) + wAC2.LowByte
    AC3 = (wAC3.HighByte<<8) + wAC3.LowByte 
    AC4 = (wAC4.HighByte<<8) + wAC4.LowByte         
    AC5 = (wAC5.HighByte<<8) + wAC5.LowByte
    AC6 = (wAC6.HighByte<<8) + wAC6.LowByte
    B1 = (wB1.HighByte<<8) + wB1.LowByte
    B2 = (wB2.HighByte<<8) + wB2.LowByte
    MB = (wMB.HighByte<<8) + wMB.LowByte
    MC = (wMC.HighByte<<8) + wMC.LowByte
    MD = (wMD.HighByte<<8) + wMD.LowByte
Return
;

sıcaklık hesaplama bolumunu soyle yaptım

I2COUT SDA,SCL,$EE,$F4,[$2E]
                  DelayMS 10   
                 I2CIN SDA,SCL,BMP180,$F6,[UT]
                   I2CIN SDA,SCL,BMP180,$F7,[UK]
                   KK=(UT<<8+UK)
                 GoSub Thesap
                 Print At 1,1,"C: ",Dec KK

Dtmf

Ete hocam bu oss degerini anlayamadim simdi I2cin sda ,scl,$EE, $F4,($34) yazip (oss《6) mi yazacagiz biraz aciklayabilirmisiniz

ete

Mesajımda açıklamıştım.
"Burada OSS=OverSamplingSettings oluyor. (bak $F4 registeri 6-7 ci bitleri. Şayet bu bitler %00 olursa 1 defa örnekleme, %01 olursa 2 defa örnekleme , %10 olursa 4 defa örnekleme, %11 olursa 8 defa örnekleme okuması yapıyor."
Okumalar için kaç defa örnekleme yapmasını istiyor isen OSS yerine onu kullanacaksın. Bence önce sıfır bırak. Sonra gerekirse diğer değerleri denersin. Bunun için $F4 registerini önce okuyacak (OKUNAN=F4 registeri) sonra OKUNAN.6=0 ve Okunan.7=0 deyip OKUNAN değerinin yeniden F4 de yazacaksın.

Ete

Dtmf

hayırlı sabahlar ete hocam oss degerı hakkında yazdıklarınızı bırebır uyguladım oldu  :) .cozemedıgım asagıdakı UP degerı ıcın verılen formulu yazdıgımda uyarı verıyor soyle :connot compıle an expressıon containing more than 3 operands when the assıgnment is DWORD or FLOAT! (YETMISYEDI BAS)  busekılde uyarı verıyor derleme yapmıyor

I2CIN SDA,SCL,BMP180,$F6,[MSB]
I2CIN SDA,SCL,BMP180,$F7,[LSB]
I2CIN SDA,SCL,BMP180,$F8,[XLSB]
DelayMS 5
UP=(MSB<<16+LSB<<8+XLSB)>>(8-OSS)



ete

Belliki bu formülü derleyip çözemiyor. Bunu parçalara ayrırmak gerekir. Ancak ondan önce bazı şeylere açıklık getirmek gerek.

I2CIN SDA,SCL,BMP180,$F6,[MSB] komutu ile okuduğun MSB 8 bitlik bir sayı olması gerek. Aslında formülde bunu 16 bit sola kaydırıyor ve 16 bitlik bir sayı elde etmeye çalışıyor. Buna birde LSB yi ekleyerek (8-oss) kadar tekrar sağa kaydırıyor.
Sen şöyle yap. TEMP (WORD cinsinden olsun.)
TEMP.byte1=MSB:TEMP.Byte0=LSB şeklinde tanımlama yap.
Sonra UP=TEMP>>(8-OSS) şeklinde kullan formülü.

Ete

Dtmf

#13
ete hocam sızı sureklı mesgul edıp degerlı vaktınızı calıyorum  :) hakkınızı helal edin.sayın hocam programı verıyorum bır bakabılırmısınız vaktınız varsa rıca etsem.ham deger 1826 gıbı degerler gosterıyor mını bır el pompası ıle bmp 180 uzerınekı delıge basınc uyguladıgımda degısımı geruyorum fakat (p) degerınde bır degısım yok 236 gosterıyor

;====BMP 180 ============
Device =16F877A
Declare ALL_DIGITAL TRUE
XTAL = 20
TRISA=0:PORTA=0
TRISB=0:PORTB=0
TRISC=0:PORTC=0
TRISD=0:PORTD=0       
TRISE=0:PORTE=0
Declare LCD_TYPE alpha 
Declare LCD_LINES 2
Declare LCD_INTERFACE 4
Declare LCD_DTPIN PORTB.4
Declare LCD_RSPIN PORTB.0
Declare LCD_ENPIN PORTB.1
Symbol SDA =PORTC.7
Symbol SCL =PORTC.6

  Symbol BMP180 = $EE  'BMP180 I2C adres
  Symbol CalDatStAd =$AA
  Symbol InitConvReg =$F4
  Symbol PReadReg =$34
  Symbol TReadReg =$2E
  Symbol BASINCOKU=$F6
 
  Dim wAC1 As Word
  Dim wAC2 As Word
  Dim wAC3 As Word
  Dim wAC4 As Word
  Dim wAC5 As Word
  Dim wAC6 As Word

  Dim wB1 As Word
  Dim wB2 As Word
 
  Dim wMB As Word
  Dim wMC As Word
  Dim wMD As Word

;_______________________________
  Dim AC1 As DWord
  Dim AC2 As DWord
  Dim AC3 As DWord
  Dim AC4 As DWord
  Dim AC5 As DWord  ;ISI
  Dim AC6 As Word ;ISI

  Dim B1 As Byte
  Dim B2 As Byte
  Dim B6 As Byte
  Dim B3 As Word
  Dim B4 As Word
  Dim B7 As Word
  Dim PR As Word
 
  Dim MB As DWord
  Dim MC As DWord ;ISI
  Dim MD As DWord ;ISI

  Dim OSS As Byte
  Dim UP As  DWord
  Dim UT As Word    ;ISI
 

  Dim X1 As DWord     ;ISI
  Dim X2 As DWord     ;ISI
  Dim X3 As DWord     ;ISI
  Dim TOPLA As Word  ;ISI
  Dim T As Float;ISI
;==================================
Dim XX1 As DWord
Dim XX2 As DWord
Dim XX3 As DWord
Dim P As DWord
Dim PERA As Float

  Dim MSB As Word
   Dim LSB As Byte
    Dim XLSB As Word
OSS=3 
    Dim A1 As Byte
    Dim A2 As Byte
;==================================
Dim TEMP As Word
  DelayMS 100
  GoSub KALIBRE
  DelayMS 100
  Cls
;=============================
START:
;=============================SICAKLIK HESAPLAMA BOLUMU================
                 I2COUT SDA,SCL,BMP180,InitConvReg,[TReadReg] 
                 DelayMS 5
                 I2CIN SDA,SCL,BMP180,$F6,[UT]
                 GoSub Thesap
                 Print At 1,1,"C: ",Dec T
;================================BASINC HESAPLAMA BOLUMU=======================================                 
I2COUT SDA,SCL,BMP180,InitConvReg,[$34+OSS<<6] ;OSS DEGERI YAZMA
DelayUS 4500
I2CIN SDA,SCL,BMP180,$F6,[MSB]
I2CIN SDA,SCL,BMP180,$F7,[LSB]
I2CIN SDA,SCL,BMP180,$F8,[XLSB]
DelayMS 5
                TEMP.BYTE1=MSB:TEMP.BYTE0=LSB
                UP=TEMP>>(8-OSS)
                Print At 2,1,"HAM:",Dec UP
                DelayMS 10
GoSub BHESAP
Print At 2,10,"P:",Dec P
DelayMS 500
GoTo START
;=======================================KALIBRASYON==========================================
KALIBRE:
    Print At  1,1,"START"
    I2CIn SDA,SCL,$EE,$AA, [wAC1]
    DelayMS 5
    I2CIn SDA,SCL,$EE,$AC, [wAC2]
    DelayMS 5
    I2CIn SDA,SCL,$EE,$AE, [wAC3]
    DelayMS 5
    I2CIn SDA,SCL,$EE,$B0, [wAC4]
    DelayMS 5
    I2CIn SDA,SCL,$EE,$B2, [wAC5]
    DelayMS 5
    I2CIn SDA,SCL,$EE,$B4, [wAC6]
     DelayMS 5
    I2CIn SDA,SCL,$EE,$B6, [wB1]
    DelayMS 5
    I2CIn SDA,SCL,$EE,$B8, [wB2]
                    DelayMS 5
                   I2CIn SDA,SCL,$EE,$BA, [wMB]
                   DelayMS 5
                   I2CIn SDA,SCL,$EE,$BC, [wMC]
                   DelayMS 5
                   I2CIn SDA,SCL,$EE,$BE, [wMD]
                   DelayMS 5
    AC1 = (wAC1.HighByte<<8) + wAC1.LowByte 
    AC2 = (wAC2.HighByte<<8) + wAC2.LowByte
    AC3 = (wAC3.HighByte<<8) + wAC3.LowByte 
    AC4 = (wAC4.HighByte<<8) + wAC4.LowByte         
    AC5 = (wAC5.HighByte<<8) + wAC5.LowByte
    AC6 = (wAC6.HighByte<<8) + wAC6.LowByte
    B1 = (wB1.HighByte<<8) + wB1.LowByte
    B2 = (wB2.HighByte<<8) + wB2.LowByte
    MB = (wMB.HighByte<<8) + wMB.LowByte
    MC = (wMC.HighByte<<8) + wMC.LowByte
    MD = (wMD.HighByte<<8) + wMD.LowByte
Return
;======sıcaklık hesap=======================
Thesap:
X1 = (UT - AC6)               
   X1 = (X1 *AC5)/32768             
    X2 = (MC * 2048)
    X3 = X2/(X1 + MD)
    TOPLA = X1 + X3
    T = (TOPLA + 8)/160 
Return
;=====BASINC HESAPLAMA=============================
BHESAP:
B6 =(XX1+XX2)-4000                                     
    XX1 = (B6*B6)/4096
    XX1 = (B2 * XX1)/2048

    XX2 = (AC2 * B6)/2048
    XX3 = XX1 + XX2
   
    B3 = (AC1 * 4)+ XX3)<<OSS
    B3 = (B3+2)/4

    XX1 = (AC3 * B6)/8192

    XX2 = (B6 * B6)/4096
    XX2 = (B1 * XX2)/65536

    XX3 = XX1 + XX2
    XX3 = (XX3 + 2)/4

    B4 = (XX3 + 32768)
    B4 = (B4/32768)*AC4

    B7 = UP - B3
    B7 = B7*50000>>OSS
   
                      If B7<800000000 Then
                      P=B7*2/4
                      Else
                      P=(B7/B4)*2
                      EndIf

XX1=(P/256)
XX1=XX1*(P/256)
   XX1=(XX1*3038)/65536
   
   XX2=(-7357*P)/65536
   PR=XX1+XX2+3791
   P=P+PR/16
Return

ete

#14
Programı koyarken mutlaka kod pencersi kullanın. Aksi halde bir çok anlamsız şekil ekrana geliyor. Kod penceresi gerçek yazılanları gösteriyor bu olmadankarekterlerin diğer anlamları devreye girmiş oluyor.
Cod penceresi mesaj ekranında üzerinde # işareti bulunan butondur. iki Code ibaresinin arasına yazılacak kod örneği.

Ete

Powered by EzPortal