Upload
oneblanche6175
View
266
Download
1
Embed Size (px)
Citation preview
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/forum8/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/forum8/10/2019 LECTIA-44-Arduino - GSM GPRS Shield.pdf
5/11
http://www.robofun.ro/forum
http://www.robofun.ro/forumhttp://www.robofun.ro/forum8/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/forum8/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/forum8/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/forum8/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/forum8/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/forum8/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