Hocam şebeke zayıf veya yok hatası alıyorum serial monitörde
hatların işin kodu yok ve telefon çeken bir yerdeyim
donanımsal bir sorun olabilir mi?
edit: şu an şebekede geldi. ama arama yapmıyor
// ALARM PROJESİ HABER VEREN
#include <DFRobot_SIM808.h>
#include <SoftwareSerial.h>
#define PIN_TX 11
#define PIN_RX 10
SoftwareSerial mySerial(PIN_TX,PIN_RX);
DFRobot_SIM808 sim808(&mySerial);
#define PHONE_NUMBER "+aranacak numara"
#define pirpin 8
int engel;
void setup() {
mySerial.begin(9600);
Serial.begin(9600);
pinMode(pirpin, INPUT);
while(!sim808.init()){
delay(1000);
Serial.print("Sim808 init error rn");
}
Serial.println("Sim808 init success");
}
void loop() {
int haraket = digitalRead(pirpin);
if(haraket == HIGH){ // PIR PININDEN GELEN VERİ YÜKSEKSE
if(engel == 0){ // EĞER PIR SENSÖRÜ DEVREDE DEĞİLSE
sim808.callUp(PHONE_NUMBER);
Serial.println("Aranıyor...");
engel = 1; // PIR ÇALIŞTIĞINI BİLDİRELİMKİ DURMADAN ARAMA KOMUTU YOLLMASIN
}
}else{
engel = 0; // PIR ÇALIŞMIYOR HARAKET YOK
}
}
Hocam geç dönüş için kusura bakmayın şimdi görebildim.
sim modulünün anteni tam yerine oturuyor mu anteni kontrol edin. Güç kaynağı olarak ne kullanıyorsunuz modül çalışırken yüksek akım çeker. Sim kartta sim kilidi var mı kontrol edin varsa çalışmaz.
Aşağıya bıraktığım kodu kullanarak sim kart bağlantısını test edebilirsiniz. Signal quality 10 un altındaysa zayıf sinyal alıyorsunuzdur.
void setup() {
mySerial.begin(9600);
Serial.begin(9600);
pinMode(pirpin, INPUT);
while (!sim808.init()) {
delay(1000);
Serial.println("Sim808 init error");
}
Serial.println("Sim808 init success");
// Şebeke sinyal seviyesini kontrol et
int signalStrength = sim808.checkSignalQuality();
Serial.print("Signal Quality: ");
Serial.println(signalStrength);
// SIM kartın ağa bağlı olup olmadığını kontrol et
if (sim808.checkNetworkRegistered()) {
Serial.println("SIM kart ağa bağlı.");
} else {
Serial.println("SIM kart ağa bağlı değil, lütfen kontrol edin.");
}
}
arama testi için kod:
mySerial.println("ATD+905xxxxxxxxx;"); // Buraya test için kendi numaranızı yazın
delay(1000);