SlideShare a Scribd company logo
1 of 11
Download to read offline
Textul si imaginile din acest document sunt licentiate
Attribution-NonCommercial-NoDerivs
CC 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 website /
blog, printare, sau orice alt mijloc), atat timp cat nu aduci nici un fel de modificari acestuia. Codul
sursa din acest document poate fi utilizat in orice fel de scop, de natura comerciala sau nu, fara
nici un fel de limitari.
Arduino GSM Shield
Shield-ul Arduino GSM permite unei placi Arduino sa se conecteze la
reteaua de Internet, sa trimita sau sa primeasca mesaje SMS si sa realizeze
apeluri de voce. Shield-ul este compatibil cu placa Arduino UNO insa pentru
placile Arduino Mega, Mega ADK si Leonardo sunt necesare cateva modificari
minore. Momentan, placa Due nu este compatibila cu shield-ul.
In acest tutorial vei descoperi cum se realizeaza un apel de voce si cum
se transmite un SMS, utilizand shield-ul Arduino GSM.
Pentru acest tutorial, vei avea nevoie de urmatoarele componente:
• O placa Arduino Mega - http://www.robofun.ro/arduino_mega2560.
• Un shield Arduino GSM - http://www.robofun.ro/arduino_gsm_gprs_shield.
• Cablu USB.
• Fire de conexiune tata-tata
http://www.robofun.ro/fire_conexiune_tata_tata-140mm.
• Un alimentator extern pentru Arduino (9V @ 1A)
http://www.robofun.ro/alimentator-extern-arduino.
http://www.robofun.ro/forum
• O pereche de casti cu microfon.
Modificarea necesara pentru placa Arduino Mega.
Pentru ca placa Arduino Mega sa comunice corect cu shield-ul GSM, sunt
necesare 2 modificari si anume:
• pinul 2 al shield-ului se indoaie deoarece nu trebuie sa fie conectat cu
placa Arduino.
• pinul 2 al shield-ului se conecteaza printr-un fir cu capete tata-tata la
pinul 10.
Pentru celelalte placi, respectiv pentru placa Arduino UNO, nu este
necesara nici o modificare. Nu trebuie decat sa conectezi shield-ul si atat.
Pentru placa Leonardo, urmeaza aceeasi pasi ca mai sus cu diferenta ca pinul 2
se conecteaza la pinul 8.
Apel de voce.
Pentru a realiza apelul de voce, iti vor fi necesare castile si microfonul.
Pentru conectarea celor doua, se vor urmari diagramele de mai jos:
Imaginea de mai sus reprezinta partea interioara a shield-ului. Pe aceasta
parte vei gasi pad-urile M1P / M1N fiind intrarea pozitiva si negativa pentru
microfon si pad-urile S1P / S1N fiind iesirea pozitiva si negativa pentru speaker
(difuzor).
http://www.robofun.ro/forum
Intre casti/microfon si pad-urile shield-ului este necesar un circuit
intermediar, dat de diagrama de mai jos.
In final, conecteaza alimentatorul de 9V in mufa placii Arduino. Atentie !
Nu se recomanda alimentarea shield-ului direct din USB, fara alimentator.
Modemul de pe placa shield-ului consuma mult mai mult decat poate sa
genereze portul USB. Acest lucru poate duce la o functionare incorecta sau , in
cel mai rau caz, la o defectiune.
Dupa realizarea tuturor conexiunilor, tot ce iti ramane este sa infigi
shield-ul in placa Arduino si sa fixezi cartela SIM in slot. Urmeaza imaginile de
mai jos.
http://www.robofun.ro/forum
http://www.robofun.ro/forum
In imaginea de mai sus se observa si modificarea de care am vorbit mai
devreme.
Sketch-ul pentru apelul de voce
Incarca sketch-ul de mai jos in placa Arduino. Deschide Serial Monitor si
asteapta pana cand ti se va cere numarul de telefon. Tasteaza numarul si
asteapta pana cand se realizeaza apelul. Pentru a incheia apelul, nu trebuie
decat sa tastezi un caracter de la tastatura si sa il trimiti prin Serial Monitor.
http://www.robofun.ro/forum
#include <GSM.h>
// PIN Number
#define PINNUMBER ""
// initialize the library instance
GSM gsmAccess; // include a 'true' parameter for debug enabled
GSMVoiceCall vcs;
String remoteNumber = ""; // the number you will call
char charbuffer[20];
void setup()
{
// initialize serial communications
Serial.begin(9600);
Serial.println("Realizeaza apel de voce");
// connection state
boolean notConnected = true;
// Start GSM shield
// If your SIM has PIN, pass it as a parameter of begin() in
quotes
while(notConnected)
{
if(gsmAccess.begin(PINNUMBER)==GSM_READY)
notConnected = false;
else
{
Serial.println("Lipsa conexiune");
delay(1000);
}
}
Serial.println("Modul GSM initializat");
Serial.println("Tasteaza nr. de telefon: ");
}
void loop()
{
http://www.robofun.ro/forum
// add any incoming characters to the String:
while (Serial.available() > 0)
{
char inChar = Serial.read();
// if it's a newline, that means you should make the call:
if (inChar == 'n')
{
// make sure the phone number is not too long:
if (remoteNumber.length() < 20)
{
// show the number you're calling:
Serial.print("Apelez : ");
Serial.println(remoteNumber);
Serial.println();
// Call the remote number
remoteNumber.toCharArray(charbuffer, 20);
// Check if the receiving end has picked up the call
if(vcs.voiceCall(charbuffer))
{
Serial.println("Apel realizat. Tasteaza o noua linie
pentru a inchide.");
// Wait for some input from the line
while(Serial.read()!='n' &&
(vcs.getvoiceCallStatus()==TALKING));
// And hang up
vcs.hangCall();
}
Serial.println("Apel incheiat.");
remoteNumber="";
Serial.println("Tasteaza nr. de telefon: ");
}
else
{
Serial.println("Reintrodu nr. de telefon.");
remoteNumber = "";
}
}
else
{
// add the latest character to the message to send:
if(inChar!='r')
remoteNumber += inChar;
}
}
}
http://www.robofun.ro/forum
Cum transmit un SMS ?
Shield-ul GSM este capabil de a trimite si SMSuri. Sketch-ul de mai jos
realizeaza o conexiune cu reteaua GSM si transmite un mesaj catre un numar
pe care il specifici in program.
http://www.robofun.ro/forum
#include <GSM.h>
#define PINNUMBER ""
// initialize the library instance
GSM gsmAccess; // include a 'true' parameter for debug enabled
GSM_SMS sms;
// char array of the telephone number to send SMS
// change the number 1-212-555-1212 to a number
// you have access to
char remoteNumber[20]= "9999999999";
// char array of the message
char txtMsg[200]="Salut ! Acesta este un test.";
void setup()
{
// initialize serial communications
Serial.begin(9600);
http://www.robofun.ro/forum
Serial.println("Transmitere SMS");
// connection state
boolean notConnected = true;
// Start GSM shield
// If your SIM has PIN, pass it as a parameter of begin() in
quotes
while(notConnected)
{
if(gsmAccess.begin(PINNUMBER)==GSM_READY)
notConnected = false;
else
{
Serial.println("Lipsa conexiune");
delay(1000);
}
}
Serial.println("Modul GSM initializat");
sendSMS();
}
void loop()
{
// nothing to see here
}
void sendSMS(){
Serial.print("Nr. de telefon la care transmit mesajul: ");
Serial.println(remoteNumber);
// sms text
Serial.println("TRIMITERE");
Serial.println();
Serial.println("Mesaj:");
Serial.println(txtMsg);
// send the message
sms.beginSMS(remoteNumber);
sms.print(txtMsg);
sms.endSMS();
Serial.println("nIncheiat!n");
}
http://www.robofun.ro/forum

More Related Content

Similar to Arduino gsm gprs shield

Arduino uno rfidid-12
Arduino uno rfidid-12Arduino uno rfidid-12
Arduino uno rfidid-12Iulius Bors
 
Curs gratuitarduino lectia9-senzoriatmosferici
Curs gratuitarduino lectia9-senzoriatmosfericiCurs gratuitarduino lectia9-senzoriatmosferici
Curs gratuitarduino lectia9-senzoriatmosfericiIulius Bors
 
Arduino releemodio2
Arduino releemodio2Arduino releemodio2
Arduino releemodio2Iulius Bors
 
Arduino comunicatie i2c
Arduino comunicatie i2cArduino comunicatie i2c
Arduino comunicatie i2cIulius Bors
 
Curs gratuitarduino lectia3-proiectesimple-1
Curs gratuitarduino lectia3-proiectesimple-1Curs gratuitarduino lectia3-proiectesimple-1
Curs gratuitarduino lectia3-proiectesimple-1Iulius Bors
 
Arduino toraspberrypi firmata
Arduino toraspberrypi firmataArduino toraspberrypi firmata
Arduino toraspberrypi firmataIulius Bors
 
Raspberry pi firmata - arduino
Raspberry pi   firmata - arduinoRaspberry pi   firmata - arduino
Raspberry pi firmata - arduinoIulius Bors
 
Arduino yala electronicabazatapecodsecret
Arduino yala electronicabazatapecodsecretArduino yala electronicabazatapecodsecret
Arduino yala electronicabazatapecodsecretIulius Bors
 
Arduino alcoolmetru
Arduino alcoolmetruArduino alcoolmetru
Arduino alcoolmetruIulius Bors
 
Curs gratuitarduino lectia4-modalitati decomunicare
Curs gratuitarduino lectia4-modalitati decomunicareCurs gratuitarduino lectia4-modalitati decomunicare
Curs gratuitarduino lectia4-modalitati decomunicareIulius Bors
 
Raspberry pi bmp085blueedition
Raspberry pi bmp085blueeditionRaspberry pi bmp085blueedition
Raspberry pi bmp085blueeditionIulius Bors
 
Curs gratuitarduino lectia6-senzoriforta
Curs gratuitarduino lectia6-senzorifortaCurs gratuitarduino lectia6-senzoriforta
Curs gratuitarduino lectia6-senzorifortaIulius Bors
 
Curs gratuitarduino lectia10-lcd-uri
Curs gratuitarduino lectia10-lcd-uriCurs gratuitarduino lectia10-lcd-uri
Curs gratuitarduino lectia10-lcd-uriIulius Bors
 
Curs gratuitarduino lectia2-senzorianalogici
Curs gratuitarduino lectia2-senzorianalogiciCurs gratuitarduino lectia2-senzorianalogici
Curs gratuitarduino lectia2-senzorianalogiciIulius Bors
 
Arduino multiplexarea le-durilor
Arduino multiplexarea le-durilorArduino multiplexarea le-durilor
Arduino multiplexarea le-durilorIulius Bors
 
Arduino matriceled8x8
Arduino matriceled8x8Arduino matriceled8x8
Arduino matriceled8x8Iulius Bors
 
Adxl345 raspberry pi
Adxl345 raspberry piAdxl345 raspberry pi
Adxl345 raspberry piIulius Bors
 

Similar to Arduino gsm gprs shield (20)

Arduino uno rfidid-12
Arduino uno rfidid-12Arduino uno rfidid-12
Arduino uno rfidid-12
 
Curs gratuitarduino lectia9-senzoriatmosferici
Curs gratuitarduino lectia9-senzoriatmosfericiCurs gratuitarduino lectia9-senzoriatmosferici
Curs gratuitarduino lectia9-senzoriatmosferici
 
Arduino releemodio2
Arduino releemodio2Arduino releemodio2
Arduino releemodio2
 
Arduino comunicatie i2c
Arduino comunicatie i2cArduino comunicatie i2c
Arduino comunicatie i2c
 
Curs gratuitarduino lectia3-proiectesimple-1
Curs gratuitarduino lectia3-proiectesimple-1Curs gratuitarduino lectia3-proiectesimple-1
Curs gratuitarduino lectia3-proiectesimple-1
 
Arduino toraspberrypi firmata
Arduino toraspberrypi firmataArduino toraspberrypi firmata
Arduino toraspberrypi firmata
 
Raspberry pi firmata - arduino
Raspberry pi   firmata - arduinoRaspberry pi   firmata - arduino
Raspberry pi firmata - arduino
 
Arduino yala electronicabazatapecodsecret
Arduino yala electronicabazatapecodsecretArduino yala electronicabazatapecodsecret
Arduino yala electronicabazatapecodsecret
 
Arduino rtc
Arduino rtcArduino rtc
Arduino rtc
 
Arduino alcoolmetru
Arduino alcoolmetruArduino alcoolmetru
Arduino alcoolmetru
 
Curs gratuitarduino lectia4-modalitati decomunicare
Curs gratuitarduino lectia4-modalitati decomunicareCurs gratuitarduino lectia4-modalitati decomunicare
Curs gratuitarduino lectia4-modalitati decomunicare
 
Raspberry pi bmp085blueedition
Raspberry pi bmp085blueeditionRaspberry pi bmp085blueedition
Raspberry pi bmp085blueedition
 
Curs gratuitarduino lectia6-senzoriforta
Curs gratuitarduino lectia6-senzorifortaCurs gratuitarduino lectia6-senzoriforta
Curs gratuitarduino lectia6-senzoriforta
 
Curs gratuitarduino lectia10-lcd-uri
Curs gratuitarduino lectia10-lcd-uriCurs gratuitarduino lectia10-lcd-uri
Curs gratuitarduino lectia10-lcd-uri
 
Curs gratuitarduino lectia2-senzorianalogici
Curs gratuitarduino lectia2-senzorianalogiciCurs gratuitarduino lectia2-senzorianalogici
Curs gratuitarduino lectia2-senzorianalogici
 
Arduino multiplexarea le-durilor
Arduino multiplexarea le-durilorArduino multiplexarea le-durilor
Arduino multiplexarea le-durilor
 
236700985 ret521
236700985 ret521236700985 ret521
236700985 ret521
 
Arduino matriceled8x8
Arduino matriceled8x8Arduino matriceled8x8
Arduino matriceled8x8
 
Adxl345 raspberry pi
Adxl345 raspberry piAdxl345 raspberry pi
Adxl345 raspberry pi
 
Arduino tv out
Arduino tv outArduino tv out
Arduino tv out
 

More from Iulius Bors

Raspberry pi wirelesshotspot
Raspberry pi wirelesshotspotRaspberry pi wirelesshotspot
Raspberry pi wirelesshotspotIulius Bors
 
Raspberry piuln2803
Raspberry piuln2803Raspberry piuln2803
Raspberry piuln2803Iulius Bors
 
Raspberry pi timelapse
Raspberry pi timelapseRaspberry pi timelapse
Raspberry pi timelapseIulius Bors
 
Raspberry pi lcd-shield20x4
Raspberry pi lcd-shield20x4Raspberry pi lcd-shield20x4
Raspberry pi lcd-shield20x4Iulius Bors
 
Programare in prolog_pentru_inteligenta_artificiala
Programare in prolog_pentru_inteligenta_artificialaProgramare in prolog_pentru_inteligenta_artificiala
Programare in prolog_pentru_inteligenta_artificialaIulius Bors
 
Motoare pascupasarduinoeasydriver
Motoare pascupasarduinoeasydriverMotoare pascupasarduinoeasydriver
Motoare pascupasarduinoeasydriverIulius Bors
 
Curs gratuitarduino lectia15-seismografcuexcel
Curs gratuitarduino lectia15-seismografcuexcelCurs gratuitarduino lectia15-seismografcuexcel
Curs gratuitarduino lectia15-seismografcuexcelIulius Bors
 
Curs gratuitarduino lectia14-analogieelectricitatecurgereafluidelor-proiect-f...
Curs gratuitarduino lectia14-analogieelectricitatecurgereafluidelor-proiect-f...Curs gratuitarduino lectia14-analogieelectricitatecurgereafluidelor-proiect-f...
Curs gratuitarduino lectia14-analogieelectricitatecurgereafluidelor-proiect-f...Iulius Bors
 
Curs gratuitarduino lectia13-mousesitastatura
Curs gratuitarduino lectia13-mousesitastaturaCurs gratuitarduino lectia13-mousesitastatura
Curs gratuitarduino lectia13-mousesitastaturaIulius Bors
 
Curs gratuitarduino lectia12-conexiunewifi-googledocs
Curs gratuitarduino lectia12-conexiunewifi-googledocsCurs gratuitarduino lectia12-conexiunewifi-googledocs
Curs gratuitarduino lectia12-conexiunewifi-googledocsIulius Bors
 
Curs gratuitarduino lectia8-comunicareethernet
Curs gratuitarduino lectia8-comunicareethernetCurs gratuitarduino lectia8-comunicareethernet
Curs gratuitarduino lectia8-comunicareethernetIulius Bors
 
Curs gratuitarduino lectia7-senzoridistanta
Curs gratuitarduino lectia7-senzoridistantaCurs gratuitarduino lectia7-senzoridistanta
Curs gratuitarduino lectia7-senzoridistantaIulius Bors
 
Curs gratuitarduino lectia5-accelerometre
Curs gratuitarduino lectia5-accelerometreCurs gratuitarduino lectia5-accelerometre
Curs gratuitarduino lectia5-accelerometreIulius Bors
 
Curs gratuitarduino lectia1-arduinoblink
Curs gratuitarduino lectia1-arduinoblinkCurs gratuitarduino lectia1-arduinoblink
Curs gratuitarduino lectia1-arduinoblinkIulius Bors
 
Cum instaleziapachesimysql peraspberrypi
Cum instaleziapachesimysql peraspberrypiCum instaleziapachesimysql peraspberrypi
Cum instaleziapachesimysql peraspberrypiIulius Bors
 
Asamblare statie meteo
Asamblare statie meteoAsamblare statie meteo
Asamblare statie meteoIulius Bors
 
Arduino yun arduino-wifi-ethernet-linux
Arduino yun arduino-wifi-ethernet-linuxArduino yun arduino-wifi-ethernet-linux
Arduino yun arduino-wifi-ethernet-linuxIulius Bors
 

More from Iulius Bors (17)

Raspberry pi wirelesshotspot
Raspberry pi wirelesshotspotRaspberry pi wirelesshotspot
Raspberry pi wirelesshotspot
 
Raspberry piuln2803
Raspberry piuln2803Raspberry piuln2803
Raspberry piuln2803
 
Raspberry pi timelapse
Raspberry pi timelapseRaspberry pi timelapse
Raspberry pi timelapse
 
Raspberry pi lcd-shield20x4
Raspberry pi lcd-shield20x4Raspberry pi lcd-shield20x4
Raspberry pi lcd-shield20x4
 
Programare in prolog_pentru_inteligenta_artificiala
Programare in prolog_pentru_inteligenta_artificialaProgramare in prolog_pentru_inteligenta_artificiala
Programare in prolog_pentru_inteligenta_artificiala
 
Motoare pascupasarduinoeasydriver
Motoare pascupasarduinoeasydriverMotoare pascupasarduinoeasydriver
Motoare pascupasarduinoeasydriver
 
Curs gratuitarduino lectia15-seismografcuexcel
Curs gratuitarduino lectia15-seismografcuexcelCurs gratuitarduino lectia15-seismografcuexcel
Curs gratuitarduino lectia15-seismografcuexcel
 
Curs gratuitarduino lectia14-analogieelectricitatecurgereafluidelor-proiect-f...
Curs gratuitarduino lectia14-analogieelectricitatecurgereafluidelor-proiect-f...Curs gratuitarduino lectia14-analogieelectricitatecurgereafluidelor-proiect-f...
Curs gratuitarduino lectia14-analogieelectricitatecurgereafluidelor-proiect-f...
 
Curs gratuitarduino lectia13-mousesitastatura
Curs gratuitarduino lectia13-mousesitastaturaCurs gratuitarduino lectia13-mousesitastatura
Curs gratuitarduino lectia13-mousesitastatura
 
Curs gratuitarduino lectia12-conexiunewifi-googledocs
Curs gratuitarduino lectia12-conexiunewifi-googledocsCurs gratuitarduino lectia12-conexiunewifi-googledocs
Curs gratuitarduino lectia12-conexiunewifi-googledocs
 
Curs gratuitarduino lectia8-comunicareethernet
Curs gratuitarduino lectia8-comunicareethernetCurs gratuitarduino lectia8-comunicareethernet
Curs gratuitarduino lectia8-comunicareethernet
 
Curs gratuitarduino lectia7-senzoridistanta
Curs gratuitarduino lectia7-senzoridistantaCurs gratuitarduino lectia7-senzoridistanta
Curs gratuitarduino lectia7-senzoridistanta
 
Curs gratuitarduino lectia5-accelerometre
Curs gratuitarduino lectia5-accelerometreCurs gratuitarduino lectia5-accelerometre
Curs gratuitarduino lectia5-accelerometre
 
Curs gratuitarduino lectia1-arduinoblink
Curs gratuitarduino lectia1-arduinoblinkCurs gratuitarduino lectia1-arduinoblink
Curs gratuitarduino lectia1-arduinoblink
 
Cum instaleziapachesimysql peraspberrypi
Cum instaleziapachesimysql peraspberrypiCum instaleziapachesimysql peraspberrypi
Cum instaleziapachesimysql peraspberrypi
 
Asamblare statie meteo
Asamblare statie meteoAsamblare statie meteo
Asamblare statie meteo
 
Arduino yun arduino-wifi-ethernet-linux
Arduino yun arduino-wifi-ethernet-linuxArduino yun arduino-wifi-ethernet-linux
Arduino yun arduino-wifi-ethernet-linux
 

Arduino gsm gprs shield

  • 1. Textul si imaginile din acest document sunt licentiate Attribution-NonCommercial-NoDerivs CC 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 website / blog, printare, sau orice alt mijloc), atat timp cat nu aduci nici un fel de modificari acestuia. Codul sursa din acest document poate fi utilizat in orice fel de scop, de natura comerciala sau nu, fara nici un fel de limitari.
  • 2. Arduino GSM Shield Shield-ul Arduino GSM permite unei placi Arduino sa se conecteze la reteaua de Internet, sa trimita sau sa primeasca mesaje SMS si sa realizeze apeluri de voce. Shield-ul este compatibil cu placa Arduino UNO insa pentru placile Arduino Mega, Mega ADK si Leonardo sunt necesare cateva modificari minore. Momentan, placa Due nu este compatibila cu shield-ul. In acest tutorial vei descoperi cum se realizeaza un apel de voce si cum se transmite un SMS, utilizand shield-ul Arduino GSM. Pentru acest tutorial, vei avea nevoie de urmatoarele componente: • O placa Arduino Mega - http://www.robofun.ro/arduino_mega2560. • Un shield Arduino GSM - http://www.robofun.ro/arduino_gsm_gprs_shield. • Cablu USB. • Fire de conexiune tata-tata http://www.robofun.ro/fire_conexiune_tata_tata-140mm. • Un alimentator extern pentru Arduino (9V @ 1A) http://www.robofun.ro/alimentator-extern-arduino. http://www.robofun.ro/forum
  • 3. • O pereche de casti cu microfon. Modificarea necesara pentru placa Arduino Mega. Pentru ca placa Arduino Mega sa comunice corect cu shield-ul GSM, sunt necesare 2 modificari si anume: • pinul 2 al shield-ului se indoaie deoarece nu trebuie sa fie conectat cu placa Arduino. • pinul 2 al shield-ului se conecteaza printr-un fir cu capete tata-tata la pinul 10. Pentru celelalte placi, respectiv pentru placa Arduino UNO, nu este necesara nici o modificare. Nu trebuie decat sa conectezi shield-ul si atat. Pentru placa Leonardo, urmeaza aceeasi pasi ca mai sus cu diferenta ca pinul 2 se conecteaza la pinul 8. Apel de voce. Pentru a realiza apelul de voce, iti vor fi necesare castile si microfonul. Pentru conectarea celor doua, se vor urmari diagramele de mai jos: Imaginea de mai sus reprezinta partea interioara a shield-ului. Pe aceasta parte vei gasi pad-urile M1P / M1N fiind intrarea pozitiva si negativa pentru microfon si pad-urile S1P / S1N fiind iesirea pozitiva si negativa pentru speaker (difuzor). http://www.robofun.ro/forum
  • 4. Intre casti/microfon si pad-urile shield-ului este necesar un circuit intermediar, dat de diagrama de mai jos. In final, conecteaza alimentatorul de 9V in mufa placii Arduino. Atentie ! Nu se recomanda alimentarea shield-ului direct din USB, fara alimentator. Modemul de pe placa shield-ului consuma mult mai mult decat poate sa genereze portul USB. Acest lucru poate duce la o functionare incorecta sau , in cel mai rau caz, la o defectiune. Dupa realizarea tuturor conexiunilor, tot ce iti ramane este sa infigi shield-ul in placa Arduino si sa fixezi cartela SIM in slot. Urmeaza imaginile de mai jos. http://www.robofun.ro/forum
  • 6. In imaginea de mai sus se observa si modificarea de care am vorbit mai devreme. Sketch-ul pentru apelul de voce Incarca sketch-ul de mai jos in placa Arduino. Deschide Serial Monitor si asteapta pana cand ti se va cere numarul de telefon. Tasteaza numarul si asteapta pana cand se realizeaza apelul. Pentru a incheia apelul, nu trebuie decat sa tastezi un caracter de la tastatura si sa il trimiti prin Serial Monitor. http://www.robofun.ro/forum
  • 7. #include <GSM.h> // PIN Number #define PINNUMBER "" // initialize the library instance GSM gsmAccess; // include a 'true' parameter for debug enabled GSMVoiceCall vcs; String remoteNumber = ""; // the number you will call char charbuffer[20]; void setup() { // initialize serial communications Serial.begin(9600); Serial.println("Realizeaza apel de voce"); // connection state boolean notConnected = true; // Start GSM shield // If your SIM has PIN, pass it as a parameter of begin() in quotes while(notConnected) { if(gsmAccess.begin(PINNUMBER)==GSM_READY) notConnected = false; else { Serial.println("Lipsa conexiune"); delay(1000); } } Serial.println("Modul GSM initializat"); Serial.println("Tasteaza nr. de telefon: "); } void loop() { http://www.robofun.ro/forum
  • 8. // add any incoming characters to the String: while (Serial.available() > 0) { char inChar = Serial.read(); // if it's a newline, that means you should make the call: if (inChar == 'n') { // make sure the phone number is not too long: if (remoteNumber.length() < 20) { // show the number you're calling: Serial.print("Apelez : "); Serial.println(remoteNumber); Serial.println(); // Call the remote number remoteNumber.toCharArray(charbuffer, 20); // Check if the receiving end has picked up the call if(vcs.voiceCall(charbuffer)) { Serial.println("Apel realizat. Tasteaza o noua linie pentru a inchide."); // Wait for some input from the line while(Serial.read()!='n' && (vcs.getvoiceCallStatus()==TALKING)); // And hang up vcs.hangCall(); } Serial.println("Apel incheiat."); remoteNumber=""; Serial.println("Tasteaza nr. de telefon: "); } else { Serial.println("Reintrodu nr. de telefon."); remoteNumber = ""; } } else { // add the latest character to the message to send: if(inChar!='r') remoteNumber += inChar; } } } http://www.robofun.ro/forum
  • 9. Cum transmit un SMS ? Shield-ul GSM este capabil de a trimite si SMSuri. Sketch-ul de mai jos realizeaza o conexiune cu reteaua GSM si transmite un mesaj catre un numar pe care il specifici in program. http://www.robofun.ro/forum
  • 10. #include <GSM.h> #define PINNUMBER "" // initialize the library instance GSM gsmAccess; // include a 'true' parameter for debug enabled GSM_SMS sms; // char array of the telephone number to send SMS // change the number 1-212-555-1212 to a number // you have access to char remoteNumber[20]= "9999999999"; // char array of the message char txtMsg[200]="Salut ! Acesta este un test."; void setup() { // initialize serial communications Serial.begin(9600); http://www.robofun.ro/forum
  • 11. Serial.println("Transmitere SMS"); // connection state boolean notConnected = true; // Start GSM shield // If your SIM has PIN, pass it as a parameter of begin() in quotes while(notConnected) { if(gsmAccess.begin(PINNUMBER)==GSM_READY) notConnected = false; else { Serial.println("Lipsa conexiune"); delay(1000); } } Serial.println("Modul GSM initializat"); sendSMS(); } void loop() { // nothing to see here } void sendSMS(){ Serial.print("Nr. de telefon la care transmit mesajul: "); Serial.println(remoteNumber); // sms text Serial.println("TRIMITERE"); Serial.println(); Serial.println("Mesaj:"); Serial.println(txtMsg); // send the message sms.beginSMS(remoteNumber); sms.print(txtMsg); sms.endSMS(); Serial.println("nIncheiat!n"); } http://www.robofun.ro/forum