Σελίδα 3 από 9 ΠρώτηΠρώτη 1 2 3 4 5 ... ΤελευταίαΤελευταία
Εμφάνιση αποτελεσμάτων : 21 έως 30 από 83

Θέμα: Έλεγχος Ρελέ με Arduino και Gsm A6 Βοήθεια με τον κώδικα

  1. #21
    Μέλος
    Όνομα
    Κωνσταντίνος
    Εγγραφή
    Jan 2015
    Περιοχή
    Πέραμα
    Μηνύματα
    83

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από manolena Εμφάνιση μηνυμάτων
    https://forum.arduino.cc/index.php?topic=329604.0

    Διάβασε αυτό το νήμα.

    Δεύτερον, δοκίμασε αυτό εδώ, είναι πολύ γρήγορο χωρίς πολλή σκέψη, τουλάχιστον να δεις αν κάνει κάτι:

    Κώδικας:
    #include <Wire.h> 
    #include "SIM900.h"
    #include <SoftwareSerial.h>
    #include "sms.h"
    //===========================================
    #define relay_1      5//DIGITAL PIN D5
    #define relay_2      6//DIGITAL PIN D6
    #define relay_3      7//DIGITAL PIN D7
    #define relay_4      8//DIGITAL PIN D8
    #define A6_POWER_PIN 9//DIGITAL PIN D9 for power up modem
    //===========================================
    SMSGSM sms;              //instance for the modem
    //===========================================
    boolean started = false;
    char telnumber_1[] = "+306999999999"; //ΕΔΩ ΤΟΝ ΑΡΙΘΜΟ ΤΗΛΕΦΩΝΟΥ ΣΟΥ
    
    
    char pos;
    char *p;
    char phone_number[20]; // array for the phone number string
    char message[250];
    int i = 0;
    //===========================================
    void setup()
    { 
       Wire.begin();
       Serial.begin(9600);
       pinMode(relay_1, OUTPUT);
       pinMode(relay_2, OUTPUT);
       pinMode(relay_3, OUTPUT);
       pinMode(relay_4, OUTPUT);
       pinMode(A6_POWER_PIN, OUTPUT);
       digitalWrite(relay_1, LOW);
       digitalWrite(relay_2, LOW);
       digitalWrite(relay_3, LOW);
       digitalWrite(relay_4, LOW);
       digitalWrite(A6_POWER_PIN, LOW);
       
       A6Power();
       if (gsm.begin(9600)) 
       {
         started=true;
       }  
    }  
    //===========================================
    void loop()
    { 
      if(started) 
      {
        pos = sms.IsSMSPresent(SMS_UNREAD);
        if((int)pos > 0 && (int)pos <= 20) 
        {
          sms.GetSMS(pos, phone_number, message, 100);
          if(strcmp(phone_number,telnumber_1) == 0)// ΔΕΧΕΤΑΙ ΜΟΝΟ ΑΠΟ ΤΟ ΔΙΚΟ ΣΟΥ ΝΟΥΜΕΡΟ ΤΗΛΕΦΩΝΟΥ 
          {
            chooseRelayOutput();
          }
          pos = sms.IsSMSPresent(SMS_READ);  
        }   
        delay(1000);
      }
    }
    //===========================================
    void A6Power()
    {
      digitalWrite(A6_POWER_PIN, LOW);
      delay(1000);
      digitalWrite(A6_POWER_PIN, HIGH);
      delay(2000);
      digitalWrite(A6_POWER_PIN, LOW); 
    }
    //===========================================
    void chooseRelayOutput()
    {
      if(p == strstr(message,"RE1 ON"))//Πρέπει να στείλεις μήνυμα με το περιεχόμενο "RE1 ON"
      {
        digitalWrite(relay_1, HIGH);
      }
      else if(p == strstr(message,"RE1 OFF"))
      {
        digitalWrite(relay_1, LOW);
      }
      else if(p == strstr(message,"RE2 ON"))
      {
        digitalWrite(relay_2, HIGH);
      }
      else if(p == strstr(message,"RE2 OFF"))
      {
        digitalWrite(relay_2, LOW);
      }
      else if(p == strstr(message,"RE3 ON"))
      {
        digitalWrite(relay_3, HIGH);
      }
      else if(p == strstr(message,"RE3 OFF"))
      {
        digitalWrite(relay_3, LOW);
      }
      else if(p == strstr(message,"RE4 ON"))
      {
        digitalWrite(relay_4, HIGH);
      }
      else if(p == strstr(message,"RE4 OFF"))
      {
        digitalWrite(relay_4, LOW);
      }  
      
      sms.DeleteSMS((int)pos);  
    }  
    //===========================================
    //===========================================
    //===========================================
    //===========================================
    Οι βιβλιοθήκες συνημμένες.
    Κάνω έλεγχο στον κώδικα αφού εγκατέστησα τις βιβλιοθήκες
    και εκεί που γράφεις την εντολή :

    A6Power(); --> αυτήν την γραμμή την κάνει ροζ και μου γράφει κάτω στο σφάλμα...'A6Power' was not declared in this scope
    if(gsm,begin(9600))
    {
    started =true;
    }

    0 Not allowed! Not allowed!

  2. #22
    Μέλος
    Όνομα
    Κωνσταντίνος
    Εγγραφή
    Jan 2015
    Περιοχή
    Πέραμα
    Μηνύματα
    83

    Προεπιλογή

    Και κάτι ακόμα που παρατήρησα Μάνο,διορθωσέμε εάν κάνω λάθος,
    δίνεις εντολή για το pin powerkey άνοιγμα 2 δευτερόλεπτα και μετά πάλι κλείσημο,
    σωστά?Όταν εγώ δοκίμασα την μονάδα και έκανε κλήση είχα μόνιμα συνδεδεμένα 5v στο powerkey χωρίς διακοπή.

    0 Not allowed! Not allowed!

  3. #23
    Μέλος Το avatar του χρήστη manolena
    Όνομα
    Μάνος
    Εγγραφή
    Dec 2006
    Περιοχή
    Ελευσίνα
    Μηνύματα
    2.709

    Προεπιλογή

    Κώδικας:
    #include <Wire.h> 
    #include "SIM900.h"
    #include <SoftwareSerial.h>
    #include "sms.h"
    //===========================================
    #define relay_1      5//DIGITAL PIN D5
    #define relay_2      6//DIGITAL PIN D6
    #define relay_3      7//DIGITAL PIN D7
    #define relay_4      8//DIGITAL PIN D8
    #define A6_POWER_PIN 9//DIGITAL PIN D9 for power up modem
    //===========================================
    SMSGSM sms;              //instance for the modem
    //===========================================
    boolean started = false;
    char telnumber_1[] = "+306999999999"; //ΕΔΩ ΤΟΝ ΑΡΙΘΜΟ ΤΗΛΕΦΩΝΟΥ ΣΟΥ
    
    
    char pos;
    char *p;
    char phone_number[20]; // array for the phone number string
    char message[250];
    int i = 0;
    //===========================================
    void setup()
    { 
       Wire.begin();
       Serial.begin(9600);
       pinMode(relay_1, OUTPUT);
       pinMode(relay_2, OUTPUT);
       pinMode(relay_3, OUTPUT);
       pinMode(relay_4, OUTPUT);
       pinMode(A6_POWER_PIN, OUTPUT);
       digitalWrite(relay_1, LOW);
       digitalWrite(relay_2, LOW);
       digitalWrite(relay_3, LOW);
       digitalWrite(relay_4, LOW);
       digitalWrite(A6_POWER_PIN, LOW);
       
       A6Power();
       if (gsm.begin(9600)) 
       {
         started=true;
       }  
    }  
    //===========================================
    void loop()
    { 
      if(started) 
      {
        pos = sms.IsSMSPresent(SMS_UNREAD);
        if((int)pos > 0 && (int)pos <= 20) 
        {
          sms.GetSMS(pos, phone_number, message, 100);
          if(strcmp(phone_number,telnumber_1) == 0)// ΔΕΧΕΤΑΙ ΜΟΝΟ ΑΠΟ ΤΟ ΔΙΚΟ ΣΟΥ ΝΟΥΜΕΡΟ ΤΗΛΕΦΩΝΟΥ 
          {
            chooseRelayOutput();
          }
          pos = sms.IsSMSPresent(SMS_READ);  
        }   
        delay(1000);
      }
    }
    //===========================================
    void A6Power()
    {
      digitalWrite(A6_POWER_PIN, LOW);
      delay(1000);
      digitalWrite(A6_POWER_PIN, HIGH);
      delay(2000);
      digitalWrite(A6_POWER_PIN, LOW); 
    }
    //===========================================
    void chooseRelayOutput()
    {
      if(p == strstr(message,"RE1 ON"))//Πρέπει να στείλεις μήνυμα με το περιεχόμενο "RE1 ON"
      {
        digitalWrite(relay_1, HIGH);
      }
      else if(p == strstr(message,"RE1 OFF"))
      {
        digitalWrite(relay_1, LOW);
      }
      else if(p == strstr(message,"RE2 ON"))
      {
        digitalWrite(relay_2, HIGH);
      }
      else if(p == strstr(message,"RE2 OFF"))
      {
        digitalWrite(relay_2, LOW);
      }
      else if(p == strstr(message,"RE3 ON"))
      {
        digitalWrite(relay_3, HIGH);
      }
      else if(p == strstr(message,"RE3 OFF"))
      {
        digitalWrite(relay_3, LOW);
      }
      else if(p == strstr(message,"RE4 ON"))
      {
        digitalWrite(relay_4, HIGH);
      }
      else if(p == strstr(message,"RE4 OFF"))
      {
        digitalWrite(relay_4, LOW);
      }  
      
      sms.DeleteSMS((int)pos);  
    }  
    //===========================================
    //===========================================
    //===========================================
    //===========================================
    Και βέβαια είναι δηλωμένη, δεν καταλαβαίνω γιατί στο λέει αυτό.

    Παράθεση Αρχικό μήνυμα από keap Εμφάνιση μηνυμάτων
    Και κάτι ακόμα που παρατήρησα Μάνο,διορθωσέμε εάν κάνω λάθος,
    δίνεις εντολή για το pin powerkey άνοιγμα 2 δευτερόλεπτα και μετά πάλι κλείσημο,
    σωστά?Όταν εγώ δοκίμασα την μονάδα και έκανε κλήση είχα μόνιμα συνδεδεμένα 5v στο powerkey χωρίς διακοπή.
    Αφού σου δούλεψε έτσι, άστο έτσι. Με αυτά τα κινέζικα modules φροντίζεις να πας με τα νερά τους, ό,τι πούνε κάνεις, δεν βγαίνει άκρη αλλιώς.

    0 Not allowed! Not allowed!

  4. #24
    Μέλος
    Όνομα
    Κωνσταντίνος
    Εγγραφή
    Jan 2015
    Περιοχή
    Πέραμα
    Μηνύματα
    83

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από manolena Εμφάνιση μηνυμάτων
    Κώδικας:
    #include <Wire.h> 
    #include "SIM900.h"
    #include <SoftwareSerial.h>
    #include "sms.h"
    //===========================================
    #define relay_1      5//DIGITAL PIN D5
    #define relay_2      6//DIGITAL PIN D6
    #define relay_3      7//DIGITAL PIN D7
    #define relay_4      8//DIGITAL PIN D8
    #define A6_POWER_PIN 9//DIGITAL PIN D9 for power up modem
    //===========================================
    SMSGSM sms;              //instance for the modem
    //===========================================
    boolean started = false;
    char telnumber_1[] = "+306999999999"; //ΕΔΩ ΤΟΝ ΑΡΙΘΜΟ ΤΗΛΕΦΩΝΟΥ ΣΟΥ
    
    
    char pos;
    char *p;
    char phone_number[20]; // array for the phone number string
    char message[250];
    int i = 0;
    //===========================================
    void setup()
    { 
       Wire.begin();
       Serial.begin(9600);
       pinMode(relay_1, OUTPUT);
       pinMode(relay_2, OUTPUT);
       pinMode(relay_3, OUTPUT);
       pinMode(relay_4, OUTPUT);
       pinMode(A6_POWER_PIN, OUTPUT);
       digitalWrite(relay_1, LOW);
       digitalWrite(relay_2, LOW);
       digitalWrite(relay_3, LOW);
       digitalWrite(relay_4, LOW);
       digitalWrite(A6_POWER_PIN, LOW);
       
       A6Power();
       if (gsm.begin(9600)) 
       {
         started=true;
       }  
    }  
    //===========================================
    void loop()
    { 
      if(started) 
      {
        pos = sms.IsSMSPresent(SMS_UNREAD);
        if((int)pos > 0 && (int)pos <= 20) 
        {
          sms.GetSMS(pos, phone_number, message, 100);
          if(strcmp(phone_number,telnumber_1) == 0)// ΔΕΧΕΤΑΙ ΜΟΝΟ ΑΠΟ ΤΟ ΔΙΚΟ ΣΟΥ ΝΟΥΜΕΡΟ ΤΗΛΕΦΩΝΟΥ 
          {
            chooseRelayOutput();
          }
          pos = sms.IsSMSPresent(SMS_READ);  
        }   
        delay(1000);
      }
    }
    //===========================================
    void A6Power()
    {
      digitalWrite(A6_POWER_PIN, LOW);
      delay(1000);
      digitalWrite(A6_POWER_PIN, HIGH);
      delay(2000);
      digitalWrite(A6_POWER_PIN, LOW); 
    }
    //===========================================
    void chooseRelayOutput()
    {
      if(p == strstr(message,"RE1 ON"))//Πρέπει να στείλεις μήνυμα με το περιεχόμενο "RE1 ON"
      {
        digitalWrite(relay_1, HIGH);
      }
      else if(p == strstr(message,"RE1 OFF"))
      {
        digitalWrite(relay_1, LOW);
      }
      else if(p == strstr(message,"RE2 ON"))
      {
        digitalWrite(relay_2, HIGH);
      }
      else if(p == strstr(message,"RE2 OFF"))
      {
        digitalWrite(relay_2, LOW);
      }
      else if(p == strstr(message,"RE3 ON"))
      {
        digitalWrite(relay_3, HIGH);
      }
      else if(p == strstr(message,"RE3 OFF"))
      {
        digitalWrite(relay_3, LOW);
      }
      else if(p == strstr(message,"RE4 ON"))
      {
        digitalWrite(relay_4, HIGH);
      }
      else if(p == strstr(message,"RE4 OFF"))
      {
        digitalWrite(relay_4, LOW);
      }  
      
      sms.DeleteSMS((int)pos);  
    }  
    //===========================================
    //===========================================
    //===========================================
    //===========================================
    Και βέβαια είναι δηλωμένη, δεν καταλαβαίνω γιατί στο λέει αυτό.



    Αφού σου δούλεψε έτσι, άστο έτσι. Με αυτά τα κινέζικα modules φροντίζεις να πας με τα νερά τους, ό,τι πούνε κάνεις, δεν βγαίνει άκρη αλλιώς.
    Εάν διαγράψω τελείως τις εντολές που έχεις με κόκκινο και συνδέσω εγώ με ένα καλώδιο το powerkey στα 5v το ίδιο δεν είναι?Ή πρέπει να διαγράψω και κάτι άλλο από τον κώδικα?

    0 Not allowed! Not allowed!

  5. #25
    Μέλος Το avatar του χρήστη manolena
    Όνομα
    Μάνος
    Εγγραφή
    Dec 2006
    Περιοχή
    Ελευσίνα
    Μηνύματα
    2.709

    Προεπιλογή

    Κάνε αυτό. Είναι το HW αντίστοιχο.

    0 Not allowed! Not allowed!

  6. #26
    Μέλος
    Όνομα
    Κωνσταντίνος
    Εγγραφή
    Jan 2015
    Περιοχή
    Πέραμα
    Μηνύματα
    83

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από manolena Εμφάνιση μηνυμάτων
    Κάνε αυτό. Είναι το HW αντίστοιχο.
    #include <Wire.h> #include "SIM900.h"
    #include <SoftwareSerial.h>
    #include "sms.h"
    //===========================================
    #define relay_1 5//DIGITAL PIN D5
    #define relay_2 6//DIGITAL PIN D6
    #define relay_3 7//DIGITAL PIN D7
    #define relay_4 8//DIGITAL PIN D8
    #define A6_POWER_PIN 9//DIGITAL PIN D9 for power up modem
    //===========================================
    SMSGSM sms; //instance for the modem
    //===========================================
    boolean started = false;
    String textForSMS = String("");
    char telnumber_1[] = "+306955108660"; //ΕΔΩ ΤΟΝ ΑΡΙΘΜΟ ΤΗΛΕΦΩΝΟΥ ΣΟΥ




    char pos;
    char *p;
    char phone_number[20]; // array for the phone number string
    char message[250];
    int i = 0;
    //===========================================
    void setup()
    {
    Wire.begin();
    Serial.begin(9600);
    pinMode(relay_1, OUTPUT);
    pinMode(relay_2, OUTPUT);
    pinMode(relay_3, OUTPUT);
    pinMode(relay_4, OUTPUT);
    pinMode(A6_POWER_PIN, OUTPUT);
    digitalWrite(relay_1, LOW);
    digitalWrite(relay_2, LOW);
    digitalWrite(relay_3, LOW);
    digitalWrite(relay_4, LOW);
    digitalWrite(A6_POWER_PIN, LOW);


    }
    //===========================================
    void loop()
    {
    if(started)
    {
    pos = sms.IsSMSPresent(SMS_UNREAD);
    if((int)pos > 0 && (int)pos <= 20)
    {
    sms.GetSMS(pos, phone_number, message, 100);
    if(strcmp(phone_number,telnumber_1) == 0)// ΔΕΧΕΤΑΙ ΜΟΝΟ ΑΠΟ ΤΟ ΔΙΚΟ ΣΟΥ ΝΟΥΜΕΡΟ ΤΗΛΕΦΩΝΟΥ
    {
    chooseRelayOutput();
    }
    pos = sms.IsSMSPresent(SMS_READ);
    }
    delay(1000);
    }
    }
    //===========================================


    //===========================================
    void chooseRelayOutput()
    {
    if(p == strstr(message,"RE1 ON"))
    {
    digitalWrite(relay_1, HIGH);
    }
    else if(p == strstr(message,"RE1 OFF"))
    {
    digitalWrite(relay_1, LOW);
    }
    else if(p == strstr(message,"RE2 ON"))
    {
    digitalWrite(relay_2, HIGH);
    }
    else if(p == strstr(message,"RE2 OFF"))
    {
    digitalWrite(relay_2, LOW);
    }
    else if(p == strstr(message,"RE3 ON"))
    {
    digitalWrite(relay_3, HIGH);
    }
    else if(p == strstr(message,"RE3 OFF"))
    {
    digitalWrite(relay_3, LOW);
    }
    else if(p == strstr(message,"RE4 ON"))
    {
    digitalWrite(relay_4, HIGH);
    }
    else if(p == strstr(message,"RE4 OFF"))
    {
    digitalWrite(relay_4, LOW);
    }

    sms.DeleteSMS((int)pos);
    }
    //===========================================
    //===========================================
    //===========================================
    //===========================================
    Το έκανα και τώρα που ξαναέκανα έλεγχο μου έβγαλε σφάλμα αυτο που σου έχω με κόκκινο.

    0 Not allowed! Not allowed!

  7. #27
    Μέλος Το avatar του χρήστη manolena
    Όνομα
    Μάνος
    Εγγραφή
    Dec 2006
    Περιοχή
    Ελευσίνα
    Μηνύματα
    2.709

    Προεπιλογή

    Καλά, πλάκα μας κάνει; Αφού η συνάρτηση αυτή υπάρχει απο κάτω, δεν τη βλέπεις κι εσύ;

    0 Not allowed! Not allowed!

  8. #28
    Μέλος
    Όνομα
    Κωνσταντίνος
    Εγγραφή
    Jan 2015
    Περιοχή
    Πέραμα
    Μηνύματα
    83

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από manolena Εμφάνιση μηνυμάτων
    Καλά, πλάκα μας κάνει; Αφού η συνάρτηση αυτή υπάρχει απο κάτω, δεν τη βλέπεις κι εσύ;
    Κι εγώ το βλέπω απλά στο έβαλα για να το δεις μην έχω κάνει εγώ καμιά πατάτα

    0 Not allowed! Not allowed!

  9. #29
    Μέλος Το avatar του χρήστη manolena
    Όνομα
    Μάνος
    Εγγραφή
    Dec 2006
    Περιοχή
    Ελευσίνα
    Μηνύματα
    2.709

    Προεπιλογή

    Κωνσταντίνε,

    Πάνω σε έναν MEGA1280 που έχω, έχω καρφώσει ένα τέτοιο

    SIM900_GPRS_shield_v1.1.jpghttp://wiki.epalsite.com/index.php?title=SIM900_Quad-Band_GPRS_shield_with_Micro_SD_card_slot

    ...και μια σειριακή LCD για να βλέπω και τι μου γίνεται. Του έχω πεί να περιμένει μόνο απο το νούμερο του τηλεφώνου μου μήνυμα της μορφής
    "RE1 ON" ή "RE1 OFF" και μόλις το δεχθεί να το γράψει στην οθόνη και να ενεργοποιήσει μια έξοδο αντίστοιχα. Δουλεύει μια χαρά με τον κώδικα
    που σου παραθέτω αλλά και τις βιβλιοθήκες τις προηγούμενες. Δεν μπορώ να κάνω κάτι άλλο. Με τα μέσα που έχω και αφού δουλεύει, δεν μπορώ να κάνω κάτι άλλο, ειλικρινά.








    0 Not allowed! Not allowed!

  10. #30
    Μέλος Το avatar του χρήστη manolena
    Όνομα
    Μάνος
    Εγγραφή
    Dec 2006
    Περιοχή
    Ελευσίνα
    Μηνύματα
    2.709

    Προεπιλογή









    Κώδικας:
    #include <Wire.h>
    #include "SIM900.h"
    #include <SoftwareSerial.h>
    #include "sms.h"
    #include <LiquidCrystal_I2C.h>
    //===========================================
    #define relay_1      5//DIGITAL PIN D5
    #define relay_2      6//DIGITAL PIN D6
    #define relay_3      9//DIGITAL PIN D9
    #define relay_4      8//DIGITAL PIN D8
    #define A6_POWER_PIN 7//DIGITAL PIN D7 for power up modem
    #define LCD_I2C_ADDRESS     0x27
    #define cols     20
    #define lines    4
    //===========================================
    LiquidCrystal_I2C lcd(LCD_I2C_ADDRESS, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  // Set the LCD I2C address
    SMSGSM sms;              //instance for the modem
    //===========================================
    boolean started = false;
    String textForSMS = String(""); 
    char telnumber_1[] = "+30694348...."; //ΕΔΩ ΤΟΝ ΑΡΙΘΜΟ ΤΗΛΕΦΩΝΟΥ ΣΟΥ
    
    
    char pos;
    char *p;
    char phone_number[20]; // array for the phone number string
    char message[250];
    int i = 0;
    //===========================================
    void(* resetFunc) (void) = 0x00;
    //===========================================
    void setup()
    { 
       Wire.begin();
       lcd.begin(cols, lines);
       Serial.begin(9600);
       pinMode(relay_1, OUTPUT);
       pinMode(relay_2, OUTPUT);
       pinMode(relay_3, OUTPUT);
       pinMode(relay_4, OUTPUT);
       pinMode(A6_POWER_PIN, OUTPUT);
       digitalWrite(relay_1, LOW);
       digitalWrite(relay_2, LOW);
       digitalWrite(relay_3, LOW);
       digitalWrite(relay_4, LOW);
       digitalWrite(A6_POWER_PIN, LOW);
       lcd.setCursor(0,0);
       lcd.print("Modem power up...   ");
       
       A6Power();
       if (gsm.begin(9600)) 
       {
         started=true;
         lcd.setCursor(0,0);
         lcd.print("Modem is Ready.     ");
         lcd.setCursor(0,1);
         lcd.print("Waiting for SMS...  ");
         delay(2000);
       }
       else
       {
         lcd.setCursor(0,0);
         lcd.print("Modem fault.        ");
         lcd.setCursor(0,1);
         lcd.print("Restarting...       ");
         delay(2000);
         resetFunc(); 
       }  
       
    }  
    //===========================================
    void loop()
    { 
      if(started) 
      {
        pos = sms.IsSMSPresent(SMS_UNREAD);
        if((int)pos > 0 && (int)pos <= 20) 
        {
          sms.GetSMS(pos, phone_number, message, 100);
          lcd.setCursor(0,0);
          lcd.print("Received SMS from:  ");
          lcd.setCursor(0,1);
          lcd.print(phone_number);
          lcd.print("      ");
          delay(3000);
          if(strcmp(phone_number,telnumber_1) == 0)// ΔΕΧΕΤΑΙ ΜΟΝΟ ΑΠΟ ΤΟ ΔΙΚΟ ΣΟΥ ΝΟΥΜΕΡΟ ΤΗΛΕΦΩΝΟΥ 
          {
            chooseRelayOutput();
          }
          pos = sms.IsSMSPresent(SMS_READ);  
        }   
        delay(1000);
      }
    }
    //===========================================
    void A6Power()
    {
      digitalWrite(A6_POWER_PIN, LOW);
      delay(1000);
      digitalWrite(A6_POWER_PIN, HIGH);
      delay(2000);
      digitalWrite(A6_POWER_PIN, LOW); 
    }
    //===========================================
    void chooseRelayOutput()
    {
      if(p == strstr(message,"RE1 ON"))
      {
        digitalWrite(relay_1, HIGH);
        lcd.setCursor(0,0);
        lcd.print("RE1 ON              ");
        lcd.setCursor(0,1);
        lcd.print("                    ");
        sms.DeleteSMS((int)pos); 
      }
      else if(p == strstr(message,"RE1 OFF"))
      {
        digitalWrite(relay_1, LOW);
        lcd.setCursor(0,0);
        lcd.print("RE1 OFF             ");
        lcd.setCursor(0,1);
        lcd.print("                    ");
        sms.DeleteSMS((int)pos); 
      }
      else if(p == strstr(message,"RE2 ON"))
      {
        digitalWrite(relay_2, HIGH);
        lcd.setCursor(0,0);
        lcd.print("RE2 ON              ");
        lcd.setCursor(0,1);
        lcd.print("                    ");
        sms.DeleteSMS((int)pos); 
      }
      else if(p == strstr(message,"RE2 OFF"))
      {
        digitalWrite(relay_2, LOW);
        lcd.setCursor(0,0);
        lcd.print("RE2 OFF             ");
        lcd.setCursor(0,1);
        lcd.print("                    ");
        sms.DeleteSMS((int)pos); 
      }
      else if(p == strstr(message,"RE3 ON"))
      {
        digitalWrite(relay_3, HIGH);
        lcd.setCursor(0,0);
        lcd.print("RE3 ON              ");
        lcd.setCursor(0,1);
        lcd.print("                    ");
        sms.DeleteSMS((int)pos); 
      }
      else if(p == strstr(message,"RE3 OFF"))
      {
        digitalWrite(relay_3, LOW);
        lcd.setCursor(0,0);
        lcd.print("RE3 OFF             ");
        lcd.setCursor(0,1);
        lcd.print("                    ");
        sms.DeleteSMS((int)pos); 
      }
      else if(p == strstr(message,"RE4 ON"))
      {
        digitalWrite(relay_4, HIGH);
        lcd.setCursor(0,0);
        lcd.print("RE4 ON              ");
        lcd.setCursor(0,1);
        lcd.print("                    ");
        sms.DeleteSMS((int)pos); 
      }
      else if(p == strstr(message,"RE4 OFF"))
      {
        digitalWrite(relay_4, LOW);
        lcd.setCursor(0,0);
        lcd.print("RE4 OFF             ");
        lcd.setCursor(0,1);
        lcd.print("                    ");
        sms.DeleteSMS((int)pos); 
      }  
       
      delay(5000);
      lcd.setCursor(0,0);
      lcd.print("Modem is Ready.     ");
      lcd.setCursor(0,1);
      lcd.print("Waiting for SMS...  "); 
    }  
    //===========================================
    //===========================================
    //===========================================
    //===========================================
    Ξαναλέω, δουλεύει κανονικά με αυτά που έχω εγώ και με τις δικές σου απαιτήσεις. Δεν ξέρω τι άλλο μπορεί να γίνεται και δεν μπορώ να κάνω κάτι παραπάνω για αυτό.
    Λυπάμαι που δεν βρήκα ΜΩΒ μαρκαδόρο με glitter για να γράψω το ταμπελάκι.

    1 Not allowed! Not allowed!

Σελίδα 3 από 9 ΠρώτηΠρώτη 1 2 3 4 5 ... ΤελευταίαΤελευταία

Παρόμοια Θέματα

  1. SIM900 και πρόβλημα με κώδικα ARDUINO
    By andrew321 in forum Μικροελεγκτές
    Απαντήσεις: 21
    Τελευταίο Μήνυμα: 15-02-18, 15:08
  2. Βοήθεια σε κώδικα Arduino
    By ΚΩΣΤΑΣ2 in forum Μικροελεγκτές
    Απαντήσεις: 12
    Τελευταίο Μήνυμα: 27-02-16, 22:03
  3. Arduino και Internet μεσω GSM
    By pt3 in forum Μικροελεγκτές
    Απαντήσεις: 4
    Τελευταίο Μήνυμα: 22-06-14, 12:22
  4. Απαντήσεις: 14
    Τελευταίο Μήνυμα: 09-01-13, 17:54
  5. Έλεγχος ρελέ με PHP και AVR...
    By leone in forum Κυκλώματα για Η/Υ
    Απαντήσεις: 10
    Τελευταίο Μήνυμα: 17-01-11, 14:09

Δικαιώματα - Επιλογές

  • Δημιουργία θεμάτων: Όχι
  • Υποβολή μηνυμάτων: Όχι
  • Σύναψη αρχείων: Όχι
  • Επεξεργασία μηνυμάτων: Όχι
  •  
  • BB code: σε λειτουργία
  • Smilies: σε λειτουργία
  • [IMG]: σε λειτουργία
  • [VIDEO] code is σε λειτουργία
  • HTML: εκτός λειτουργίας