SIM800L Kullanarak SMS’le kontrol

SIM800L Kullanarak SMS’le kontrol

Arduino ile GSM Modülü Kullanarak Uzaktan LED Kontrolü ve Durum Sorgulama

Arduino ve GSM modülü kullanarak basit bir SMS tabanlı uzaktan kontrol sistemi oluşturabilirsiniz. Bu sistem, özellikle uzaktan cihaz kontrolü veya izleme gerektiren projeler için idealdir. Bu makalede, Arduino ve GSM modülü ile bir LED’in uzaktan kontrolünü ve durum sorgulamasını gerçekleştiren bir proje inceleyeceğiz.

Giriş

Günümüzde, uzaktan kontrol ve izleme sistemleri giderek daha popüler hale geliyor. Arduino gibi mikrodenetleyiciler ve GSM modülleri gibi iletişim araçları, bu tür uygulamalar için güçlü ve erişilebilir bir platform sunuyor. Bu proje, basit bir LED’in SMS yoluyla kontrolünü ve durumunun sorgulanmasını sağlayarak bu konsepti temsil etmektedir.

Projenin İşlevselliği

Bu proje, bir Arduino ve bir GSM modülü kullanılarak gerçekleştirilmiştir. Kullanıcı, belirlenen bir telefon numarasından belirli komutlarla (örneğin, “ledi ac” veya “led durumu”) Arduino üzerindeki LED’in durumunu kontrol edebilir ve sorgulayabilir. Arduino, gelen SMS’leri okur, içeriğine göre LED’i kontrol eder ve ardından bir yanıt SMS’i gönderir.

Kod Açıklaması

Projenin kodu Arduino IDE’de yazılmıştır. Kod, başlangıçta gerekli kütüphanelerin (örneğin, SoftwareSerial) dahil edilmesiyle başlar. Ardından, LED’in kontrol edileceği ve SMS’lerin okunacağı pimlerin tanımlanması gelir. setup() fonksiyonu, seri bağlantıların başlatılması ve GSM modülüne AT komutlarının gönderilmesi ile ilgili işlemleri gerçekleştirir. loop() fonksiyonu, sürekli olarak gelen SMS’leri okur ve içeriklerine göre LED’i kontrol eder veya durumunu sorgular.

Kodun Detayları:

  • LED’in yerine röleler, sensörler veya motor sürücüleri gibi farklı ekipmanlarla projeyi çeşitlendirmek mümkündür. Bu sayede, farklı cihazları uzaktan kontrol etmek veya çeşitli çevresel koşulları izlemek için projeyi özelleştirmek mümkün olacaktır.

Bu şekilde, Arduino ve GSM modülü kullanarak basit bir uzaktan kontrol sistemi oluşturur. Kullanıcı, belirli komutları içeren SMS’ler göndererek LED’in durumunu değiştirebilir veya sorgulayabilir. Bu, ev otomasyonu, güvenlik sistemleri veya uzaktan izleme gibi çeşitli projelerde kullanılabilir.

Toprakları Ortak Bağlayın (GND)
#include <SoftwareSerial.h>
String gelenSms, leddurumu;
String telNo = "+9XXXXXXXXXXX";
SoftwareSerial baglanti(2, 3);
#define led 9
void setup() {
  Serial.begin(9600);
  baglanti.begin(9600);
  pinMode(led, OUTPUT);
  baglanti.println("AT+CNMI=2,2,0,0,0");  // Gelen Sms i Doğrudan OKUR ardından siler AT+CNMI=2,1,0,0,0 ise Gelen Sms i bildir
  delay(2000);
  Serial.println("SERVIS AKTIF EDILDI");
   baglanti.println("AT+CMGF=1");
}
void loop() {
  if (baglanti.available()) {
    delay(2000);
    gelenSms = baglanti.readString();
    delay(2000);
    Serial.println(gelenSms);
    if (gelenSms.indexOf("ledi ac") != -1) {
      baglanti.println("AT+CMGF=1");
      delay(200);
      baglanti.println("AT+CMGS=\"" + telNo + "\"");
      baglanti.println("Tamam, LED ACILDI...");
      delay(100);
      baglanti.write(0x1a);
      digitalWrite(led, HIGH);
    }
    if (gelenSms.indexOf("ledi kapat") != -1) {
      baglanti.println("AT+CMGF=1");
      delay(200);
      baglanti.println("AT+CMGS=\"" + telNo + "\"");
      baglanti.println("Tamam, LED KAPATILDI...");
      delay(100);
      baglanti.write(0x1a);
      digitalWrite(led, LOW);
    }
    if (gelenSms.indexOf("led durumu") != -1) {
      baglanti.println("AT+CMGF=1");
      delay(200);
      baglanti.println("AT+CMGS=\"" + telNo + "\"");
      if (digitalRead(led) == HIGH)
        leddurumu = "LED ACIK";
      if (digitalRead(led) == LOW)
        leddurumu = "LED KAPALI";
      baglanti.println("LED DURUMU : " + leddurumu);
      delay(100);
      baglanti.write(0x1a);
    }
  }
}
Yorumlar kapalı.

nurullahozkan@outlook.com.tr