Y

gsm modül ve pic16f877 ile mesaj atma

Başlatan YasarGunaydin, 27 Ağustos 2013, 15:49:54

YasarGunaydin

Arkadaşlar merhaba,
telit gsm modül ve  pic16f877 ile AT komutlarını kullanarak arama yaptırmaya çalışyorum.Visual basic kullanarak arama yaptırdım,mesajda attım fakat pic16f877 ye komutları bi türlü yazamadım.Hatta daha henüz gsm modülden "ok" mesajını alamadım bile.Yardımınıza ihtiyacım var.

visual basic6 da aşağıdakileri sıra ile gönderince arama yapıyor
If say = 1 Then MSComm1.Output = "AT" & Chr$(13) & Chr$(10)
If say = 2 Then MSComm1.Output = "ATD0242xxxxxxx;" & Chr$(13) & Chr$(10)

pic komutlarımda aşağıda denemediğimde kalmadı.

DEFINE OSC 4
TRISA=%00000000
TRISB=%00000000
TRISC=%10000001
TRISD=%00000000
TRISE=%00000000


@ DEVICE pic16F877
@ DEVICE pic16F877, WDT_on
@ DEVICE pic16F877, PWRT_ON
@ DEVICE pic16F877, PROTECT_OFF
@ DEVICE pic16F877, XT_OSC

DEFINE LCD_DREG     PORTB
DEFINE LCD_DBIT     0
DEFINE LCD_EREG     PORTB
DEFINE LCD_EBIT     5
DEFINE LCD_RSREG    PORTB
DEFINE LCD_RSBIT    4
DEFINE LCD_BITS     4
DEFINE LCD_LINES    2


DEFINE HSER_TXSTA 20h   'I wonder shall I define as DEFINE HSER_TXSTA 24h???
DEFINE HSER_RCSTA 90h   'same for all

DEFINE HSER_BAUD 2400   'for 2400 Baud rate
'DEFINE HSER_BAUD 4800   'for 4800 Baud rate
'DEFINE HSER_BAUD 9600   'for 9600 Baud rate

DEFINE HSER_SPBRG 25      'for 4Mhz/2400 & 8Mhz/4800 with an error %0.16
'DEFINE HSER_SPBRG 12   'for 4Mhz/4800 & 8Mhz/9600 with an error %0.16

DEFINE HSER_CLROERR 1   'same for all

' Initialization & Declaration

ALICI VAR BYTE   


ADCON1=7

PORTB=%00000000
PORTC=%10000011
PORTD=%00000000
PORTE=%00000000

SO VAR PORTC.6
SI VAR PORTC.7


FIRSTCHECK:
PORTC=%10000011
PAUSE 500
PORTC=%10010011
PAUSE 500
PORTC=%10100011
PAUSE 500
PORTC=%10000011
PAUSE 500
GOTO AT

AT:
SEROUT2 PORTC.6,2400,["A","T"]
'hSEROUT ["AT",13,10] 
LCDOUT $fe,$C0,"AT"
GOTO BEKLE1

BEKLE1:
HSerIn 5000,BEKLE1,[Wait ("OK")]
'SERIN2 PORTC.7,2400,[WAIT("OK")]
LCDOUT $fe,$C0,DEC ALICI
PAUSE 1000
goto HEY

HEY:

SEROUT2 PORTC.6,2400,["A","T","D"]
'hSEROUT ["ATD0242xxxxxxx;",13,10]
LCDOUT $fe,$C0,"ATD0242xxxxxxx;"
GOTO BEKLE2

BEKLE2:
'SERIN2 PORTC.7,2400,[WAIT("OK")]
HSerIn 5000,BEKLE2,[Wait ("OK")] 
LCDOUT $fe,$C0,DEC ALICI
PORTC=%10110011
GOTO BEKLE2


Yardımlarınız için şimdiden teşekkürler

YasarGunaydin

Sorun kabloda imiş halettim.teşekkürler

pwm3434

yasar sevindim  sorunu  çözdüğüne  darısı  başımıza.

eem7490

Merhabalar.
Yaşar bey gsm modul olarak ne kullanıyorsunuz,neden onu kullanıyorsunuz, nasıl temin ettiniz, nasıl programlanır, devresi nasıldır? bu ve buna benzer bilgilere ulaşabileceğimiz kaynaklar verebilir misiniz? benim de şuan bu konuyla alakalı kendim için bir projem var, ama nasıl başlarım hiç bir fikrim yok.

Araştırma yaptım biraz gsm modulleri hem biz programlayabiliyoruz hem de harici işlemciyle uart üzerinden haberleştirebiliyoruz. bildiğim sadece bu kadar.
Bu işlere daha yeni başladığım için ne neden seçilir ve nasıl kullanılır o konularda eksiklerim var. Yardımcı olabilirseniz çok memnun olurum.

Yapmak istediğim proje aslında mantık olarak çok basit, su deposunun dolduğunu mesajla haber veren bir sistem yapmak istiyorum.İlk etapta sadece negatif ya da pozitif tetikle bilgi gelecek ve ilgili kişiye mesaj yoluyla haber verecek bir sistem yapmak istiyorum. bunu daha sonra daha da geliştirerek seviye bilgisini göndermesini istiyorum. Günlük olarak ya da istendiğinde seviye bilgisinin gönderebileceği bir sistem yapmak istiyorum.

Yardımcı olabilirseniz bu işi yapmaya çalışacağım.

YasarGunaydin

       Aslında bende yeni çalışmaya başladım,ve 1 haftadır çok üzerine düşemesemde güzel şeyler yapmaya ,hatta benim işimi görecek şeyi yapacak seviyeye geldi.İşin mantığını çözdüm diyebilirim.Senin istediğine benzer bir iş yapacam bende.Çalıştığım yerde labaratuarın rutubeti yüzde 50 altına düşünce mesaj atsın veya arama yapsın ,sende depo dolunca yapacaksın.

      Telit gsm modül arkadaşım Murat beyden ödünç aldım ama internette arayınca var.
http://www.delab.net/Telit-GL865-GSMGPRS-Breakout-Board,PR-64.html

http://www.elektrovadi.com/TELIT-KS863-PY-YENI-TERMINAL,PR-740.html

daha birçok yerde bulunabilir sanırım,daha ben henüz satın almadım

Pic kartı yapmadan önce hyper terminal ile olayı bir çözmek gerekiyor.hyper terminalden mesaj atıp arama yaptınmı ekte gönderdiğim pdf dosyasındaki gibi bir pic kart yapıp hyper terminalde gönderdiğin komutları picten hserout komutları ise gönder.



Kolay gelsin

pwm3434

elindeki  cihaza  vermemek için dikkatli  ol.elinde kod,   dsn   yokmu  yasar   daha erken  yardım  olunursun

atasev

#6
 
    sizlere ufak bir örnek
     
     
     If PORTC.2=0 Then                            ; butonuna basarsanız mesaj gönderir.
     HSerOut["AT+CMGF=1",13]
    DelayMS 200
     HSerOut["AT+CMGS=",34,"0505XXXXXXX",34,13]   ;XX yazan yere aramak istediğiniz numarayı yazın
     DelayMS 300
     HSerOut["Test Mesajı",26]                    ;Mesaj içeriği, 26 ctrl+z 'ye karşılık gönderiliyor
     EndIf

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
SEND_SMS: sms atma
High PORTB.6
HSerOut ["at+cmgs=",34,"505xxxx",34,13]
DelayMS 1000
HSerOut ["DENEME TEST MESAJI",26,13]
HSerIn 5000, BEGIN, [Wait("OK")]'Check OK reply, wait 5sec max.
Low PORTB.6
GoTo BEGIN
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
CALL_PHONE:
High PORTB.5
HSerOut ["atd[xxxx];",13]
HSerIn 5000, BEGIN, [Wait("OK")]'Check OK reply, wait 5sec max.
DelayMS 2000
Low PORTB.5
GoTo BEGIN

KULLANDIĞIM MODÜL SIM900

YasarGunaydin

HSerIn 5000, BEGIN, [Wait("OK")]'Check OK reply

henüz fırsatım olmadı ama yukardaki yazdığını mutlaka bir denemem lazım.
Teşekkürler cevaplar  için

pwm3434

#8
döküman  eklemiştim  ama  yasarın  eki  aynıymış.

husnukaya

Herkese kolay gelsin ben de ugrasıyorum bitirme projesi olarak fakat herhangi bir yol alamadım
Bilgisayar ile rs232 olarak haberleşme deniyorum ama anlamlı bir dönüş alamadım
okuduğum kadarıyla rx tx uygunluk sorunum var fakat onu da cözemedim çalışan bir uygun devre varsa yardımcı olabilir misiniz
tesekkür ederim

elektro77

hepside çok harika bilgiler. Teşekkürler.
"Eğer bir konuyu öğrenmek istiyorsan o konunun öğretmeni ol; daha iyi öğrenmek istiyorsan o konuda bir kitap yaz; daha da iyi öğrenmek istiyorsan yazdığın kitabi oku"

Powered by EzPortal