Pic 12f638 i dgsm modul SIM 800L

Rasprava o PIC mikrokontrolerima, PIC projekti i drugo vezano za PIC-eve...

Moderators: pedja089, stojke369, [eDo], trax

alarmi ns
Penjem se :)
Penjem se :)
Posts: 54
Joined: 29-06-2013, 20:13

Pic 12f638 i dgsm modul SIM 800L

Post by alarmi ns »

Pozdrav svima, uspeo sam da se sa (usb to ttl) okacim na modem i da pozovem sa njega i da probam da zovem, to radi kad zovem broj koji je u modulu na ekranu mi ispisuje ring, a kad upisem komandu:
ATD0628225135; modul poziva taj broj.
Kako da to ubacim u pic12f683?
znaci treba mi:
-Kad pozovem taj broj da se promeni stanje na nekom pinu (sve je na protubordu tako da sve jedno koji pin
-i kad okinem neku nogicu(taster) da pozove zadati proj.
Dali mi molimte mozes pomoci oko koda.Unapred hvala
alarmi ns
Penjem se :)
Penjem se :)
Posts: 54
Joined: 29-06-2013, 20:13

Re: Pic 12f638 i dgsm modul SIM 800L

Post by alarmi ns »

Zaboravi navisati komunikacija radi na:baudrate=115200
User avatar
WhiteHead
Pravi forumaš
Pravi forumaš
Posts: 1625
Joined: 28-06-2007, 18:36
Location: 75,35k; B&H

Re: Pic 12f638 i dgsm modul SIM 800L

Post by WhiteHead »

Prije par godina sam petljao s nekim modemom.
Pogledaj ovo:
viewtopic.php?f=3&t=17369&hilit=gsm
Što se tiče kod-a u PBP procitaj objasnjenje komandi HSERIN i HSEROUT
Ako kaniš pobijediti, ne smiješ izgubiti
alarmi ns
Penjem se :)
Penjem se :)
Posts: 54
Joined: 29-06-2013, 20:13

Re: Pic 12f638 i dgsm modul SIM 800L

Post by alarmi ns »

Uspeo sam da pozovem broj, a nemogu nikako da konstujem kad neko zove dojavu ja sam to ovako zamislio
prijem poziva:

rcx var GPIO.4 'input pin
stat VAR word

serin rcx,N9600,STAT
SEROUT2 displej,84,["zvoni ", dec stat,13,10] ' 9600 SALIE STA JE ISCITAO NA PICKIT
naravno rcx sam definisao kao ulazni, ali kada zovem pickit mi samo ispisuje zvoni 0
moolim vas pomozite mi kako da vidim broj koji zove, ili bar neku informaciju.I dali na rx pin ide neki otpornik?
Unapred hvala
alarmi ns
Penjem se :)
Penjem se :)
Posts: 54
Joined: 29-06-2013, 20:13

Re: Pic 12f638 i dgsm modul SIM 800L

Post by alarmi ns »

Ovde sam video da se to radi sa komandom serin i serout,
viewtopic.php?f=3&t=14738&p=139819
medjutim nemogu nista da ocitam kad pozovem taj brojh, sta da radim?
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7871
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: Pic 12f638 i dgsm modul SIM 800L

Post by pedja089 »

Moras detektovati kada na port stigne RING.
Brinu komunikacije sa modemom spusti na 2400. Ono je malo prebrzo za pic.
alarmi ns
Penjem se :)
Penjem se :)
Posts: 54
Joined: 29-06-2013, 20:13

Re: Pic 12f638 i dgsm modul SIM 800L

Post by alarmi ns »

A kako to da uradim grrrr, kad je ovo stari modem nema pin ring.i Kako da dobijem odgovor da je poziv odbijen, ako telefon koji modul zove neodbije poziv, dojava treba opet da pozove taj broj sve dok telefon koji poziva neodbije poziv.Nemam nikakvu povratnu informaciju od modema.
alarmi ns
Penjem se :)
Penjem se :)
Posts: 54
Joined: 29-06-2013, 20:13

Re: Pic 12f638 i dgsm modul SIM 800L

Post by alarmi ns »

Opet nece, a od svega mi radi poziva kada okinem taster, a treba da :
-poziva broj sve dok ga taj broj neodbije dok nedobije bysy
-i da nekako detektuje poziv(da vidi odredjen broj) jel taj broj ce paliti i gasiti uredjaj
evo koda:

Code: Select all

 #CONFIG 
     __CONFIG  _INTRC_OSC_NOCLKOUT & _WDT_OFF & _MCLRE_OFF  & _BOD_OFF & _CP_OFF & _PWRTE_ON
   #ENDCONFIG

   DEFINE OSC 4


'-------------------------- PDESAVANJA -------------------------------
    
    
ANSEL = $30
   
    WPU = $37
    
    CMCON0 = 7                ' Analog comparators off
 
    TRISIO = %111000          '5-ULAZ
 '------------------------PROOGRAM------------------------------------        
 



Include "modedefs.bas"
 
i var byte
rcx var GPIO.4 'input pin
tcx var GPIO.2 'output pin
taster var GPIO.3
INPUT TASTER
stat VAR byte
stat = " "

displej var GPIO.0
       INPUT displej

'***********************
pocetak:
'*******detektovanje poziva**********************
do
if taster = 0 then goto zvanje
serin rcx,N2400,STAT
 
SEROUT2 displej,84,["zvoni   ", dec stat,13,10]   ' 9600  slanje podataka na pickit
  
loop
'******************************************************



zvanje:
serout tcx,0,["ATD+381612012121;",13] 'pozvanje 
     


'*********PAUZA 2 MINUTA**************************
FOR I = 1 TO 120
 pause 1000'pauza
 
NEXT I
'***************************

 
GOTO pocetak


END
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7871
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: Pic 12f638 i dgsm modul SIM 800L

Post by pedja089 »

Modem salje i na seriski ring kad ga neko poziva. I menja stanje pina. Pogledaj malo at kimande.
I pogledaj serin2 komandu. Ima opciju da ceka odredjen string
alarmi ns
Penjem se :)
Penjem se :)
Posts: 54
Joined: 29-06-2013, 20:13

Re: Pic 12f638 i dgsm modul SIM 800L

Post by alarmi ns »

Dali mi mozes molim te prepraviti kod ceo dan blejim u ekran i nista
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7871
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: Pic 12f638 i dgsm modul SIM 800L

Post by pedja089 »

Ne mogu... Komplikovano mi.
Rekao sam ti da pogledas komandu, i da pogledas sta modem salje.
Verovatno ni jedno nisi uradio.
Iz helpa za pbp
' on Pin1 and put next character into B0
SERIN2 1,16780,[WAIT("A"),B0]
Ti upisi RING umsto A.
Isto tako sad vidim da si napisao da tvoj modem je star i da nema
https://img.filipeflop.com/files/downlo ... IM800L.pdf
Strana 15, pin 68-Ring indicator.
A modem je cak i relativno nov.
A pre svega spoj modem na PC, i vidi sta ti pise kad pozivas modem.
alarmi ns
Penjem se :)
Penjem se :)
Posts: 54
Joined: 29-06-2013, 20:13

Re: Pic 12f638 i dgsm modul SIM 800L

Post by alarmi ns »

Uradio sam i jedno i drugo!
al opet nece ovakav je kod:

Code: Select all

do
'if taster = 0 then goto zvanje
 serin rcX, n2400, ["RING"], b0 
SEROUT2 displej,84,["zvoni   ", dec B0,13,10]   ' 9600  slanje podataka na pickit
  
loop
a kad ga povezem preko ttl-a sa kompom dobijam ovo:
http://dodaj.rs/image/dojava.LGAza3
bas neznam gde gresim ali sad nemice od naredbe serin, a namerno nisam stavio timeout vreme da bi sacekao RING, iako zovem broj i morao bi dobiti naredbu ring.
jel ide neki otpornik na rx pin?ja sam rx na picu direkt vezao sa tx na dojavi.
User avatar
trax
Administrator sajta
Administrator sajta
Posts: 3508
Joined: 08-01-2005, 18:04
Location: 75k, BA
Contact:

Re: Pic 12f638 i dgsm modul SIM 800L

Post by trax »

U PIC-u si sad stavio baud rate 2400, medjutim, da li ti modem podrzava taj baud rade to je pitanje. I ako podrzava, da li automatski detektuje da sa njim sad komuniciras na 2400bps. U terminalu i dalje ti pise 115200. Kada u terminalu natjeras modem da radi na 2400bps, onda predji na PIC i brzinu 2400.

Pogledao sam na internetu i ovo pise:
SIM800 series is designed in autobauding mode by default. Autobauding allows SIM800 series to automatically detect the baud rate of the host device. In application, host device must to synchronize the baud rate with SIM800 series. Host device must firstly send characters "AT" or "at" to synchronize the baud rate. It is recommended to send "AT" until host device receives the "OK" response, which means host device and SIM800 series are correctly synchronized. Once the baud rate is synchronized, it is suggested to use AT command "AT+IPR" to set SIM800 series baud rate according the host baud rate. ...
Dakle, kada PIC dobije napajanje, moras prvo "prozvati" modem sa "AT" komantom sve dok ti ne pocne odgovarati sa "OK". Nakon toga je inicijalizovan na 2400bps (pod pretpostavkom da si mu poslao komandu AT sa tom brzinom).

Nakon toga trebalo bi da ti komunikacija nastavi na 2400bps i mozes nastaviti sa svojom logikom u programu.

Dakle, prvo natjeraj u terminalu da ti modem proradi na 2400bps, pa onda ides na PIC programiranje.
alarmi ns
Penjem se :)
Penjem se :)
Posts: 54
Joined: 29-06-2013, 20:13

Re: Pic 12f638 i dgsm modul SIM 800L

Post by alarmi ns »

I opet nece da da odgovor OK
jesi li ovako mislio?
radi na terminalu i na 9600

Code: Select all

 serout tcx,0,["AT",13] 'SLANJE AT
 serin rcX, n9600, ["OK"], b0   


pocetak:
'*******detektovanje poziva**********************
do
'if taster = 0 then goto zvanje
'serin rcx,N2400,STAT
 'serin rcX, n2400, ["RING"], b0 
SEROUT2 displej,84,["zvoni   ", dec B0,13,10]   ' 9600  slanje podataka na pickit
  
loop
'******************************************************
User avatar
trax
Administrator sajta
Administrator sajta
Posts: 3508
Joined: 08-01-2005, 18:04
Location: 75k, BA
Contact:

Re: Pic 12f638 i dgsm modul SIM 800L

Post by trax »

U tom slucaju u PIC-u podesi na 9600. 9600 je super brzina za PIC.
User avatar
trax
Administrator sajta
Administrator sajta
Posts: 3508
Joined: 08-01-2005, 18:04
Location: 75k, BA
Contact:

Re: Pic 12f638 i dgsm modul SIM 800L

Post by trax »

Sad kad pogledam, u tvom PicBasic programu mijesas dvije brzine, imas prvo 2400 pa onda 9600.

Podesi sve na 9600, ako kazes da u Terminalu fino radi na 9600.
alarmi ns
Penjem se :)
Penjem se :)
Posts: 54
Joined: 29-06-2013, 20:13

Re: Pic 12f638 i dgsm modul SIM 800L

Post by alarmi ns »

2400 imaju kvacicu na pocetkuy reeda, znaci neulaze u programski kod.
Sada sam opet vezao za komp i otkucao at i dobijam odgovor OK na 9600
http://dodaj.rs/image/LGAKgJ
jel ide neki otpornik izmedju tx modema i rx pica?
sta da radim grrrr
User avatar
trax
Administrator sajta
Administrator sajta
Posts: 3508
Joined: 08-01-2005, 18:04
Location: 75k, BA
Contact:

Re: Pic 12f638 i dgsm modul SIM 800L

Post by trax »

Otpornik ne treba, ali je uobicajeno staviti otpornik od nekih 47ohm (10-100 ohm) cisto u slucaju nekog kurslusa. Ne zaboravi spojiti i TX, RX i GND pinove izmedju PIC-a i tog GSM modema. Vjerovatno si to vec i uradio...

Vidi, ja ne radim u PicBasicu, to mi je bio prvi kompajler za PIC kojeg sam probao i odma sam presao na C. Ne mogu ti puno pomoci.

Nego, kao sto je pedja rekao, smanji brzinu (eto 9600bps radi bez problema), i onda se fokusiraj na program koji zelis da napises. Moras se igrati, nema drugog instantnog rjesenja. Gledaj i primjere na internetu, evo ja nadjoh zacas ovo, pa ne znam moze li ti pomoci: http://www.picbasic.co.uk/forum/showthread.php?t=16172
alarmi ns
Penjem se :)
Penjem se :)
Posts: 54
Joined: 29-06-2013, 20:13

Re: Pic 12f638 i dgsm modul SIM 800L

Post by alarmi ns »

moka moja igram se nedelju dana vec, nista drug u svakom slucaju puno hvala
alarmi ns
Penjem se :)
Penjem se :)
Posts: 54
Joined: 29-06-2013, 20:13

Re: Pic 12f638 i dgsm modul SIM 800L

Post by alarmi ns »

ma neradi ovo uopste, sada sam raskopcao pickit i dodao ledicu izblinka, to sam stavio da saceka malo da se nakaci na mrezu al nece da prodje serin komandu da dobije OK i da upali led
Dali mi molim vas neko moze pomoci?

Code: Select all

 #CONFIG 
     __CONFIG  _INTRC_OSC_NOCLKOUT & _WDT_OFF & _MCLRE_OFF  & _BOD_OFF & _CP_OFF & _PWRTE_ON
   #ENDCONFIG

   DEFINE OSC 4


'-------------------------- PDESAVANJA -------------------------------
    
    
ANSEL = $30
   
    WPU = $37
    
    CMCON0 = 7                ' Analog comparators off
 
    TRISIO = %111000          '5-ULAZ
 '------------------------PROOGRAM------------------------------------        
 



Include "modedefs.bas"
 
i var byte
rcx var GPIO.4 'input pin
tcx var GPIO.2 'output pin
taster var GPIO.3
INPUT TASTER
led var GPIO.5
LOW LED
stat VAR byte

 B0 VAR WORD
displej var GPIO.0
       INPUT displej

'**********************
for i =1 to 10
LED=1
PAUSE 1000
LED=0
PAUSE 1000
next i
'********************* 
 

 serout tcx,0,["AT",13,10] 'pozvanje 

 serin rcX, n2400, ["OK"], b0   
    led=1
jesam li mozda negde u podesavanju zeznuo?
Post Reply