#include #include #include #define GPS Serial static const uint32_t GPSBaud = 9600; TinyGPSPlus gps; SoftwareSerial kapadokya(10,11); char mesaj[] = " "; #define buzzer 11 void setup() { Serial.begin(9600); kapadokya.begin(9600); vw_set_ptt_inverted(true); vw_set_rx_pin(2); vw_setup(1000); vw_rx_start(); pinMode(buzzer,OUTPUT); attachInterrupt(0,kontrol,CHANGE); } void loop() { static const double ev_enlem = 37.088882, ev_boylam = 37.422256; smartDelay(1000); uint8_t uydu=gps.satellites.value(); Serial.println(); Serial.print("Uydu: ");Serial.println(uydu); float enlem,boylam; unsigned long enboyHesap; enlem=gps.location.lat(); boylam=gps.location.lng(); enboyHesap=gps.location.age(); Serial.print("Enlem: ");Serial.println(enlem,6); Serial.print("Boylam: ");Serial.println(boylam,6); Serial.print("EnboyHesap: ");Serial.println(enboyHesap); float denizSeviyesi=gps.altitude.meters(); Serial.print("Deniz Seviyesi: ");Serial.println(denizSeviyesi); float hiz=gps.speed.kmph(); Serial.print("Hız: ");Serial.println(hiz); int yon=gps.course.deg(); Serial.print("Yön: ");Serial.println(yon); int yil=gps.date.year(); Serial.print("Yıl: ");Serial.println(yil); int ay=gps.date.month(); Serial.print("Ay: ");Serial.println(ay); int gun=gps.date.day(); Serial.print("Gün: ");Serial.println(gun); int saat=gps.time.hour(); Serial.print("Saat: ");Serial.println(saat); int dakika=gps.time.minute(); Serial.print("Dakika: ");Serial.println(dakika); int saniye=gps.time.second(); Serial.print("Saniye: ");Serial.println(saniye); float evUzaklik = (float)TinyGPSPlus::distanceBetween( gps.location.lat(), gps.location.lng(), ev_enlem, ev_boylam)/1000; evUzaklik=evUzaklik*1000; Serial.print("Eve Uzaklik: ");Serial.println(evUzaklik); if (millis() > 5000 && gps.charsProcessed() < 10) Serial.println(F("No GPS data received: check wiring")); if(evUzaklik>20){ kapadokya.listen(); while(kapadokya.available()){ Serial.println("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); kapadokya.println("AT+CMGF=1"); while(!kapadokya.find("OK")){ kapadokya.println("AT+CMGF=1"); } kapadokya.println("AT+CMGS=\"+905528623364\""); delay(200); while(!kapadokya.find(">")){ kapadokya.println("AT+CMGF=1"); } kapadokya.println("Cocuk Evden Ayrildi!!!"); delay(100); kapadokya.write(0x1a); while(!kapadokya.find("OK")); Serial.println("Mesaj Gönderildi."); } } } static void smartDelay(unsigned long ms) { unsigned long start = millis(); do { while (GPS.available()) gps.encode(GPS.read()); } while (millis() - start < ms); } void kontrol(){ uint8_t buf[VW_MAX_MESSAGE_LEN]; uint8_t buflen = VW_MAX_MESSAGE_LEN; if (vw_get_message(buf, &buflen)) { mesaj[0] = (char) buf[0]; Serial.println(mesaj[0]); if (mesaj[0] == '1') { Serial.println("Balkona yakın!!!"); digitalWrite(buzzer,HIGH); delay(50); } else if(mesaj[0]=='0') { Serial.println("Balkona uzak..."); digitalWrite(buzzer,LOW); delay(50); } delay(100); } }