adiga
Üye
- Katılım
- 23 Ocak 2009
- Mesajlar
- 154
- Puanları
- 1
- Yaş
- 35
merhabalar,
daha önce bir forumda paylaşılan bir kodu olduğu gibi kopyaladım ve kendi arduinoma yüklemek istediğimde aşağıdaki gibi bir hata ile karşılaştım. kodun çalıştığına eminim fakat neden böyle bir hata verdi anlamadım.
daha önce bir forumda paylaşılan bir kodu olduğu gibi kopyaladım ve kendi arduinoma yüklemek istediğimde aşağıdaki gibi bir hata ile karşılaştım. kodun çalıştığına eminim fakat neden böyle bir hata verdi anlamadım.
Kod:
#include <SoftwareSerial.h>
// Yazılım seri bağlantı noktasını yapılandırma
SoftwareSerial SIM900(7, 8);
// Gelen SMS karakterlerini kaydetmek için değişken
char incoming_char=0;
//Allarm status
byte allarmSent = LOW;
void setup() {
// Vin algılama için pin 2'yi giriş olarak ayarlayın
pinMode(2,INPUT);
// Arduino, SIM900 GSM shield ile 19200 baud hızında iletişim kurar
SIM900.begin(19200);
// GSM shield ağda oturum açması için zaman verin
delay(30000);
// SIM900'ü SMS moduna ayarlamak için AT komutu
SIM900.print("AT+CMGF=1\
");
delay(100);
sendSMSready();
// Modülü, SMS verilerini alındıktan sonra seri çıkışa gönderecek şekilde ayarlayın
// SIM900.print("AT+CNMI=2,2,0,0,0\
");
// delay(100);
}
void loop()
{
// GSM kalkanının gönderdiği herhangi bir metni seri monitörde görüntüleme
if(SIM900.available() >0) {
// Hücresel seri bağlantı noktasından karakteri al
incoming_char=SIM900.read();
// Gelen karakteri terminale yazdırır
Serial.print(incoming_char);
}
while (digitalRead(2) == HIGH) {}
if(digitalRead(2) == LOW && allarmSent == LOW) {
// 1" daha bekleyin ve pin 2 zaten DÜŞÜK ise mesaj gönderin
delay(1000);
if(digitalRead(2) == LOW) sendSMSallarm();
}
while (digitalRead(2) == LOW) {}
if(digitalRead(2) == HIGH && allarmSent == HIGH) sendSMSallarmOFF();
}
void sendSMSallarm()
{
// Alıcının cep telefonu numarasını uluslararası formatta ayarlayın
SIM900.println("AT + CMGS = \\"+905458587878\\"");
delay(100);
// SMS mesajını ayarla
SIM900.println("*** test3 ***");
delay(100);
// AT komutunu ^Z ile sonlandırın, ASCII kodu 26
SIM900.println((char)26);
delay(100);
SIM900.println();
// Modüle SMS göndermesi için zaman verin
delay(5000);
allarmSent = HIGH;
}
void sendSMSallarmOFF()
{
// Alıcının cep telefonu numarasını uluslararası formatta ayarlayın
SIM900.println("AT + CMGS = \\"+905458587878\\"");
delay(100);
// SMS mesajını ayarla
SIM900.println("*** test 2 ***");
delay(100);
// AT komutunu ^Z ile sonlandırın, ASCII kodu 26
SIM900.println((char)26);
delay(100);
SIM900.println();
// Modüle SMS göndermesi için zaman verin
delay(5000);
allarmSent = LOW;
}
void sendSMSready()
{
// Alıcının cep telefonu numarasını uluslararası formatta ayarlayın
SIM900.println("AT + CMGS = \\"+905458587878\\"");
delay(100);
// SMS mesajını ayarla
SIM900.println("*** test 1 ***");
delay(100);
// AT komutunu ^Z ile sonlandırın, ASCII kodu 26
SIM900.println((char)26);
delay(100);
SIM900.println();
// Modüle SMS göndermesi için zaman verin
delay(5000);
}
Son düzenleme: