arduino gsm control
  • merhaba ben dün elektrik elektronik mühendisliğinden mezun oldum. bitirme projesi olarak arduino ile sms atarak tarla sulama projesi yapmıştık. şimdi bir müşteri buldum bunu tarlasına yaptırmak istiyor. fakat ben yaptığımda ledleri yakıp söndürdüm ve yağmur sensörü kullanmıştım. fakat müşteri mesaj atıldığında motorun çalısmasını ve 2 saat sonra kendilğinden kapanmasını istiyor. motoru çalıştırma ve geri bildirimleri ben hallederim. fakat 2 saatlik süreyi nasıl ayarlayacağımı bilmiyorum. aslında yaparım ama 2 saat içerisinde müşteri kapatmak isterse bu nasıl olacak. delay 2 saat deyip bunu yapamayız zannediyorum bu konuda yardımcı olursanız sevinirim. birde dalgıç pompa kntrol edilecek bunu da arduino çıkışından röle ile 220v süreceğim onunlada kontaktör tetiklemeyi planlıyorum sizce bu mantık uygunmudur yoksa daha kullanışlı bir yöntem mevcutmudur. teşekkürler
  • 1 sn lik delay koy bunu 2 saat olana kadar say her saniye veya gerektiği zamanda sms gelmişmi kontrol edersin
  • diplomayı okula geri bırak yada otur biraz daha düşün :)
  • :) zor aldık zaten bitirdin bizi sende hemen. biraz yazayım programı buraya atarım
  • okoman tam anlamadım demek istediğini ama deniycem
  • timer interruptı kullanarak yapabilirsin. Aşağıdaki kodda her bir saniyede timer interrupt çalışır. her defasında i'yi bir artırıp 7200 (2 saatin saniye cinsinden değeri) olunca istediğin işlemi yaptırırsın. Böyle yaparak arduino nu istediğin diğer işlemler için kullanırken arkada tarafta sistem kontrol eder yoksa delay kullanarak yapmak çok da verimli olmaz.

    /////////////////
    int i=0;

    void setup()
    {

    Serial.begin(9600);

    cli(); //interreptlar durduruluyor
    //--------------------------
    //Timer1 1Hz' e ayarlanıyor
    //registerler sıfırlanır
    TCCR1A = 0;// TCCR1A register 0'lanıyor
    TCCR1B = 0;// TCCR1B register 0'lanıyor
    TCNT1 = 0;//sayac değeri 0'la
    // OCRxA karşılaştırma registeri 1Hz değer için ayarlanıyor
    //16 MHz osilatör,1Hz timer1 ın çalışma frekansı,1024 prescalar
    OCR1A = 15624; // = (16*10^6) / (1*1024) - 1 (değer 65536 dan küçük)

    TCCR1A |= (1 << WGM12); // CTC mod açılıyor.<br />
    TCCR1B |= (1 << CS12) | (1 << CS10); // CS10 ve CS12 bitleri 1024 prescaler için ayarlanıyor<br />
    TIMSK1 |= (1 << OCIE1A); // timer karşılaştırma interruptı aktifleştiriliyor<br />
    //interreuptlar aktif
    sei();
    }

    ISR(TIMER1_COMPA_vect)
    { //Timer1 interrupt ı 1Hz de tetikleniyor.
    if (i==7200)
    {
    //BURAYA YAPTIRMAK İSTEDEĞİN İŞLEMİN KODLARINI YAZ
    i=0;
    }
    else
    i++;
    }

    void loop()
    {

    }

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Login with Facebook

Tagged

Açık kaynak kültürü gereği, çözdüğünüz problemlerin çözümlerini paylaşmayı lütfen unutmayın.