LECTIA-44-Arduino - GSM GPRS Shield.pdf

download LECTIA-44-Arduino - GSM GPRS Shield.pdf

of 11

Transcript of LECTIA-44-Arduino - GSM GPRS Shield.pdf

  • 8/10/2019 LECTIA-44-Arduino - GSM GPRS Shield.pdf

    1/11

    Textul si imaginile din acest document sunt licentiate

    Attribution-NonCommercial-NoDerivsCC BY-NC-ND

    Codul sursa din acest document este licentiat

    Public-Domain

    Esti liber sa distribui acest document prin orice mijloace consideri (email publicare pe !ebsite "blog printare sau orice alt mijloc# atat timp cat nu aduci nici un $el de modi$icari acestuia% Codulsursa din acest document poate $i utili&at in orice $el de scop de natura comerciala sau nu $ara

    nici un $el de limitari%

  • 8/10/2019 LECTIA-44-Arduino - GSM GPRS Shield.pdf

    2/11

    Arduino GSM Shield

    'ield-ul Arduino )'* permite unei placi Arduino sa se conecte&e lareteaua de +nternet sa trimita sau sa primeasca mesaje '*' si sa reali&e&eapeluri de voce% 'ield-ul este compatibil cu placa Arduino ,N insa pentruplacile Arduino *ega *ega AD. si /eonardo sunt necesare cateva modi$icariminore% *omentan placa Due nu este compatibila cu sield-ul%

    +n acest tutorial vei descoperi cum se reali&ea&a un apel de voce si cum

    se transmite un '*' utili&and sield-ul Arduino )'*%

    Pentru acest tutorial vei avea nevoie de urmatoarele componente0

    placa Arduino *ega - ttp0""!!!%robo$un%ro"arduino1mega2345%

    ,n sield Arduino )'* - ttp0""!!!%robo$un%ro"arduino1gsm1gprs1sield %

    Cablu ,'B%

    6ire de conexiune tata-tata

    ttp0""!!!%robo$un%ro"$ire1conexiune1tata1tata-785mm %

    ,n alimentator extern pentru Arduino (9: ; 7A#

    ttp0""!!!%robo$un%ro"alimentator-extern-arduino%

    http://www.robofun.ro/forum

    http://www.robofun.ro/arduino_mega2560http://www.robofun.ro/arduino_gsm_gprs_shieldhttp://www.robofun.ro/fire_conexiune_tata_tata-140mmhttp://www.robofun.ro/alimentator-extern-arduinohttp://www.robofun.ro/forumhttp://www.robofun.ro/arduino_gsm_gprs_shieldhttp://www.robofun.ro/arduino_mega2560http://www.robofun.ro/fire_conexiune_tata_tata-140mmhttp://www.robofun.ro/alimentator-extern-arduinohttp://www.robofun.ro/forum
  • 8/10/2019 LECTIA-44-Arduino - GSM GPRS Shield.pdf

    3/11

    perece de casti cu micro$on%

    Modificarea necesara pentru placa Arduino Mega.

    Pentru ca placa Arduino *ega sa comunice corect cu sield-ul )'* suntnecesare 2 modi$icari si anume0

    pinul 2 al sield-ului se indoaie deoarece nu trebuie sa $ie conectat cuplaca Arduino%

    pinul 2 al sield-ului se conectea&a printr-un $ir cu capete tata-tata lapinul 75%

    Pentru celelalte placi respectiv pentru placa Arduino ,N nu estenecesara nici o modi$icare% Nu trebuie decat sa conecte&i sield-ul si atat%Pentru placa /eonardo urmea&a aceeasi pasi ca mai sus cu di$erenta ca pinul 2se conectea&a la pinul

  • 8/10/2019 LECTIA-44-Arduino - GSM GPRS Shield.pdf

    4/11

    +ntre casti"micro$on si pad-urile sield-ului este necesar un circuitintermediar dat de diagrama de mai jos%

    +n $inal conectea&a alimentatorul de 9: in mu$a placii Arduino% Atentie >Nu se recomanda alimentarea sield-ului direct din ,'B $ara alimentator%*odemul de pe placa sield-ului consuma mult mai mult decat poate sagenere&e portul ,'B% Acest lucru poate duce la o $unctionare incorecta sau incel mai rau ca& la o de$ectiune%

    Dupa reali&area tuturor conexiunilor tot ce iti ramane este sa in$igisield-ul in placa Arduino si sa $ixe&i cartela '+* in slot% ,rmea&a imaginile demai jos%

    http://www.robofun.ro/forum

    http://www.robofun.ro/forumhttp://www.robofun.ro/forum
  • 8/10/2019 LECTIA-44-Arduino - GSM GPRS Shield.pdf

    5/11

    http://www.robofun.ro/forum

    http://www.robofun.ro/forumhttp://www.robofun.ro/forum
  • 8/10/2019 LECTIA-44-Arduino - GSM GPRS Shield.pdf

    6/11

    +n imaginea de mai sus se observa si modi$icarea de care am vorbit maidevreme%

    Sketch-ul pentru apelul de voce

    +ncarca s=etc-ul de mai jos in placa Arduino% Descide 'erial *onitor siasteapta pana cand ti se va cere numarul de tele$on% Tastea&a numarul siasteapta pana cand se reali&ea&a apelul% Pentru a inceia apelul nu trebuiedecat sa taste&i un caracter de la tastatura si sa il trimiti prin 'erial *onitor%

    http://www.robofun.ro/forum

    http://www.robofun.ro/forumhttp://www.robofun.ro/forum
  • 8/10/2019 LECTIA-44-Arduino - GSM GPRS Shield.pdf

    7/11

    #include

    // PIN Number

    #define PINNUMBER ""

    // initialie the librar! intance

    GSM m$cce% // include a &true& 'arameter f(r debu enabled

    GSM)(ice*all +c%

    Strin rem(teNumber , ""% // the number !(u -ill call

    char charbuffer01%

    +(id etu'23

    4

    // initialie erial c(mmunicati(n

    Serial.bein256003%

    Serial.'rintln2"Realieaa a'el de +(ce"3%

    // c(nnecti(n tate

    b((lean n(t*(nnected , true%

    // Start GSM hield

    // If !(ur SIM ha PIN7 'a it a a 'arameter (f bein23 in8u(te

    -hile2n(t*(nnected3

    4

    if2m$cce.bein2PINNUMBER3,,GSM9RE$:;3

    n(t*(nnected , fale%

    ele

    4

    Serial.'rintln2"i'a c(ne=iune"3%

    dela!20003%

    ?

    ?

    Serial.'rintln2"M(dul GSM initialiat"3%

    Serial.'rintln2"@ateaa nr. de telef(nA "3%

    ?

    +(id l(('23

    4

    http://www.robofun.ro/forum

    http://www.robofun.ro/forumhttp://www.robofun.ro/forum
  • 8/10/2019 LECTIA-44-Arduino - GSM GPRS Shield.pdf

    8/11

    // add an! inc(min character t( the StrinA

    -hile 2Serial.a+ailable23 > 03

    4

    char in*har , Serial.read23%

    // if it& a ne-line7 that mean !(u h(uld mae the callA if 2in*har ,, &Cn&3

    4

    // mae ure the 'h(ne number i n(t t(( l(nA

    if 2rem(teNumber.lenth23 < 03

    4

    // h(- the number !(u&re callinA

    Serial.'rint2"$'ele A "3%

    Serial.'rintln2rem(teNumber3%

    Serial.'rintln23%

    // *all the rem(te number

    rem(teNumber.t(*har$rra!2charbuffer7 03%

    // *hec if the recei+in end ha 'iced u' the call

    if2+c.+(ice*all2charbuffer33

    4

    Serial.'rintln2"$'el realiat. @ateaa ( n(ua linie'entru a inchide."3%

    // Dait f(r (me in'ut fr(m the line

    -hile2Serial.read23,&Cn& FF2+c.et+(ice*allStatu23,,@$ING33%

    // $nd han u'

    +c.han*all23%

    ?

    Serial.'rintln2"$'el incheiat."3%

    rem(teNumber,""%

    Serial.'rintln2"@ateaa nr. de telef(nA "3%

    ?

    ele

    4

    Serial.'rintln2"Reintr(du nr. de telef(n."3%rem(teNumber , ""%

    ?

    ?

    ele

    4

    // add the latet character t( the meae t( endA

    if2in*har,&Cr&3

    rem(teNumber H, in*har%

    ?

    ?

    ?

    http://www.robofun.ro/forum

    http://www.robofun.ro/forumhttp://www.robofun.ro/forum
  • 8/10/2019 LECTIA-44-Arduino - GSM GPRS Shield.pdf

    9/11

    Cum transmit un SMS ?

    'ield-ul )'* este capabil de a trimite si '*'uri% '=etc-ul de mai josreali&ea&a o conexiune cu reteaua )'* si transmite un mesaj catre un numarpe care il speci$ici in program%

    http://www.robofun.ro/forum

    http://www.robofun.ro/forumhttp://www.robofun.ro/forum
  • 8/10/2019 LECTIA-44-Arduino - GSM GPRS Shield.pdf

    10/11

    #include

    #define PINNUMBER ""

    // initialie the librar! intanceGSM m$cce% // include a &true& 'arameter f(r debu enabled

    GSM9SMS m%

    // char arra! (f the tele'h(ne number t( end SMS

    // chane the number JJJ t( a number

    // !(u ha+e acce t(

    char rem(teNumber01, "5555555555"%

    // char arra! (f the meae

    char t=tM001,"Salut $ceta ete un tet."%

    +(id etu'23

    4

    // initialie erial c(mmunicati(n

    Serial.bein256003%

    http://www.robofun.ro/forum

    http://www.robofun.ro/forumhttp://www.robofun.ro/forum
  • 8/10/2019 LECTIA-44-Arduino - GSM GPRS Shield.pdf

    11/11

    Serial.'rintln2"@ranmitere SMS"3%

    // c(nnecti(n tate

    b((lean n(t*(nnected , true%

    // Start GSM hield

    // If !(ur SIM ha PIN7 'a it a a 'arameter (f bein23 in8u(te

    -hile2n(t*(nnected3

    4

    if2m$cce.bein2PINNUMBER3,,GSM9RE$:;3

    n(t*(nnected , fale%

    ele

    4

    Serial.'rintln2"i'a c(ne=iune"3%

    dela!20003% ?

    ?

    Serial.'rintln2"M(dul GSM initialiat"3%

    endSMS23%

    ?

    +(id l(('23

    4

    // n(thin t( ee here

    ?

    +(id endSMS234

    Serial.'rint2"Nr. de telef(n la care tranmit meaKulA "3%

    Serial.'rintln2rem(teNumber3%

    // m te=t

    Serial.'rintln2"@RIMI@ERE"3%

    Serial.'rintln23%

    Serial.'rintln2"MeaKA"3%

    Serial.'rintln2t=tM3%

    // end the meae

    m.beinSMS2rem(teNumber3%

    m.'rint2t=tM3%

    m.endSMS23%

    Serial.'rintln2"CnIncheiatCn"3%

    ?

    http://www.robofun.ro/forum

    http://www.robofun.ro/forumhttp://www.robofun.ro/forum