Yardım Sim800l çağrı ayarı

neronkadir
Katılım
21 Nis 2022
Mesajlar
3
Tepkime puanı
0
Şehir
Ankara
Merhaba, yaptığınız çalışma ve yapmış olduğunuz yardımlardan dolayı sizlere teşekkür ederim. Üzerinde uğraştığım bir çalışmada sizin yardımınıza ihtiyacım var. Hareket sen sörünün hareketi algılaması üzerine sim800l modülü üzerinden belirlediğim iki veya daha fazla numarayı araması gerekiyor ve ben bunu yaptım buraya kadar sıkıntı yok, yani ister iki telefon ister beş telefon numarası olsun belirtin numaraların hepsinide sırayla arıyor. Benim sorunum, bu telofonlara çağrı bırakırken belirlemiş olduğum zaman aralığı kadar bekliyor, örneğin benim çalışmamda 20 saniyeye ayarlı, 20 saniye boyunca numarayı arıyor ondan sonra çağrıyı sonlandırıp diğer numarayı arıyor. Benim sizden isteğim, aşadada verececeğim projeme ait kodun öyle bir yerine kod yazmam gerekirki, sim800l modülü karşıdaki numarayı aradığında, o kişi çağrıyı reddedince veya meşgule alınca 20 saniye beklemeden hemen o çağrıyı sonlandırıp diğer numarayı araması gerekiyor. Ama çağrı reddedilmezse veya meşgule alınmazsa normal olarak 20 saniye araması gerekiyor. Bu konuda yardımcı olursanız sevinirim.

```
Kod:
#include <SoftwareSerial.h>

 SoftwareSerial mySerial(3, 2);

 int pirsensor = 11;

 void setup() {

 randomSeed(analogRead(0));

 Serial.begin(9600);

 mySerial.begin(9600); // original 19200. while enter 9600 for sim900A

 Serial.println(" logging time completed!");

 pinMode(pirsensor, INPUT);

 delay(100);

 }

 void loop() {

 if ( digitalRead(pirsensor) == HIGH)

 {

 Serial.println("making call");

 mySerial.println("AT"); //Once the handshake test is successful, i t will back to OK

 updateSerial();

 mySerial.println("ATD+ +90zzzzzxxxxxxxx;"); //  change ZZ with country code and xxxxxxxxxxx with phone number to dial

 updateSerial();

 delay(20000); // wait for 20 seconds...

 mySerial.println("ATH"); //hang up

 updateSerial();

 delay(2000);

 mySerial.println("AT"); // 2.TEL ARANIYOR

 updateSerial();

 mySerial.println("ATD+ +90zzzzzzzxxxxxxx;"); //  change ZZ with country code and xxxxxxxxxxx with phone number to dial

 updateSerial();

 delay(20000); // wait for 20 seconds...

 mySerial.println("ATH"); //hang up

 updateSerial();

 delay(2000);

 }

 if ( digitalRead(pirsensor) == LOW)

 {

 ;

 delay(1000);

 }

 }

 void updateSerial()

 {

 delay(500);

 while (Serial.available())

 {

 mySerial.write(Serial.read());//Forward what Serial received to Software Serial Port

 }

 while(mySerial.available())

 {

 Serial.write(mySerial.read());//Forward what Software Serial received to Serial Port

 }


 }
```
 
Son düzenleme:

Konuyu 1 kişi okuyor. (0 kayıtlı üye ve 1 ziyaretçi)

  • Bilgi