- 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: