Σελίδα 1 από 5 1 2 3 ... ΤελευταίαΤελευταία
Εμφάνιση αποτελεσμάτων : 1 έως 10 από 47

Θέμα: ARDUINO GSM ΒΟΗΘΕΙΑ ΜΕ ΚΩΔΙΚΑ

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

    Προεπιλογή ARDUINO GSM ΒΟΗΘΕΙΑ ΜΕ ΚΩΔΙΚΑ

    Καλησπέρα σε όλη την παρέα.
    Για ακόμα μια φορά θέλω την βοήθεια σας σε πρόβλημα που συνάντησα με το arduino uno,arduino nano
    και το gsm module ROHS.Θέλω να ανοίγω και να κλείνω 2 ρελέ απο απόσταση,δοκίμασα παρα πολλούς
    κώδικες αλλά τίποτα δεν δούλεψε κανένας,δοκίμασα και με βιβλιοθήκες πάλι τίποτα και αποφάσισα
    μετά απο 2 μήνες να ζητήσω την βοήθεια σας.Αν σασ είναι εύκολο ένα παράδειγμα για το προβλημά
    μου,με τις δοκιμές που έκανα άλλαζα μονο τον αριθμό του κινητού στην βιβλιοθήκη για να μου στείλει
    το μήνυμα ενώ στο serial monitor έλεγε οτι το έστειλε στοκινητό δεν ερχότανε ποτέ.


    Gsm Module TX --> Arduino αναλόγως βιβλιοθήκης ή κάποιο άλλο παράδειγμα που έβρισκα.
    Gsm Module RX --> Arduino αναλόγως βιβλιοθήκης ή κάποιο άλλο παράδειγμα που έβρισκα.
    Gsm Module GND --> Arduino GND
    Gsm Module +5V --> Arduino +5V
    Gsm Module GND --> Arduino GND
    Gsm Module VDD --> Δεν έλεγε ότι έπρεπε να συνδεθεί κάπου.
    Gsm Module RST --> Δεν έλεγε ότι έπρεπε να συνδεθεί κάπου.


    Ευχαριστώ πολύ για τον χρόνο σας.


    Φωτογραφία με του gsm.
    Συνημένες Εικόνες Συνημένες Εικόνες
    • Τύπος Αρχείου: jpg 57.jpg (136,6 KB, 92 εμφανίσεις)

    0 Not allowed! Not allowed!

  2. #2
    Μέλος
    Όνομα
    Θωμάς
    Εγγραφή
    Dec 2012
    Περιοχή
    Αθήνα
    Μηνύματα
    511

    Προεπιλογή

    Να προσθέσω και εγω οτι δεν κατάφερα να το κάνω να δουλεύει. Έχω το SIM 900A 1800/1900 MHZ αν γνωρίζει κάποιος ας δώσει τα φώτα του...


    Sent from my iPhone using Tapatalk

    0 Not allowed! Not allowed!

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

    Προεπιλογή

    Για να γίνει διερεύνηση, χρειάζεται σχηματικό και κώδικας.

    1 Not allowed! Not allowed!

  4. #4
    Μέλος
    Όνομα
    Aνδρέας
    Εγγραφή
    Jan 2010
    Περιοχή
    Πάτρα
    Μηνύματα
    833

    Προεπιλογή

    Έχω και εγώ module gsm/gprs με το SIM 900A 1800/1900 MHZ και δουλεύει μια χαρά. Το΄χω να στέλνει μηνύματα σε περίπτωση συναγερμού σε 2 αριθμούς κινητών.Αλλά το έχω δοκιμάσει κιόλας , αν μπορεί να κάνει κλήσεις σε αριθμούς μόλις του δώσω εντολή και λειτούργησε μια χαρά.Ολα αυτά μέσω arduino.

    Αλλά για να δουλέψει το κάθε module πρέπει να σου δώσει ο πωλητής ή να ψάξεις εσύ στο σά-ιτ του κατασκευαστή να βρεις τις κατάλληλες βιβλιοθήκες.Μ
    odule gsm/gprs υπάρχουν πάρα πολλά,αλλά δεν είναι συμβατά,το καθένα θέλει την δική του βιβλιοθήκη και μπορεί να έχει και ξεχωριστό πιν αουτ!!!Χωρίς αυτά δεν πρόκειται ποτέ να δουλέψει....Και εγώ στην αρχή αυτό έπαθα,μέχρι να μου δώσει ο πωλητής την κατάλληλη βιβλιοθήκη.

    Οπότε όταν δεν σας δουλεύουν ξεκινήστε πρώτα από το σχηματικό για να δείτε το πιν-άουτ και βρείτε την δική του βιβλιοθήκη,όπως είπε πολύ σωστά και παραπάνω ο Μάνος.

    0 Not allowed! Not allowed!

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

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από manolena Εμφάνιση μηνυμάτων
    Για να γίνει διερεύνηση, χρειάζεται σχηματικό και κώδικας.
    Ένας κώδικας που δεν μου δούλεψε είναι αυτός...Σ'ευχαριστώ πολύ για το χρόνο σου Μάνο,με έχεις βοηθήσει και στο παρελθόν πολύ.

    #include <SoftwareSerial.h>


    // EN: String buffer for the GPRS shield message
    String msg = String("");
    // EN: Set to 1 when the next GPRS shield message will contains the SMS message
    int SmsContentFlag = 0;
    //control pins of relay.
    int relay_a=4;
    int relay_b=5;
    int relay_c=6;
    int relay_d=7;

    // EN: Code PIN of the SIM card (if applied)
    //String SIM_PIN_CODE = String( "XXXX" );

    void setup()
    {
    Serial.begin(19200); // the GPRS baud rate
    // Initialize PINs
    pinMode( 4, OUTPUT );
    pinMode( 5, OUTPUT );
    pinMode( 6, OUTPUT );
    pinMode( 7, OUTPUT );
    digitalWrite( 4, LOW );
    digitalWrite( 5, LOW );
    digitalWrite( 6, LOW );
    digitalWrite( 7, LOW );
    Serial.println( "AT+CMGF=1" );
    delay(200);
    }

    void loop()
    {
    char SerialInByte;
    if(Serial.available())
    {
    SerialInByte = (unsigned char)Serial.read();
    delay(5);

    // -------------------------------------------------------------------
    // EN: Program also listen to the GPRS shield message.
    // -------------------------------------------------------------------
    // EN: If the message ends with <CR> then process the message
    if( SerialInByte == 13 ){
    // EN: Store the char into the message buffer
    ProcessGprsMsg();
    }
    if( SerialInByte == 10 ){
    // EN: Skip Line feed
    }
    else {
    // EN: store the current character in the message string buffer
    msg += String(SerialInByte);
    }
    }
    }
    // EN: Make action based on the content of the SMS.
    // Notice than SMS content is the result of the processing of several GPRS shield messages.
    void ProcessSms( String sms ){

    if( sms.indexOf("ona") >= 0 ){
    digitalWrite( relay_a, HIGH );
    }
    if( sms.indexOf("onb") >= 0 ){
    digitalWrite( relay_b, HIGH );
    }
    if( sms.indexOf("onc") >= 0 ){
    digitalWrite( relay_c, HIGH );
    }
    if( sms.indexOf("ond") >= 0 ){
    digitalWrite( relay_d, HIGH );
    }
    if( sms.indexOf("offa") >= 0 ){
    digitalWrite( relay_a, LOW );
    }
    if( sms.indexOf("offb") >= 0 ){
    digitalWrite( relay_b, LOW );
    }
    if( sms.indexOf("offc") >= 0 ){
    digitalWrite( relay_c, LOW );
    }
    if( sms.indexOf("offd") >= 0 ){
    digitalWrite( relay_d, LOW );
    }
    }
    // EN: Request Text Mode for SMS messaging
    void GprsTextModeSMS(){
    Serial.println( "AT+CMGF=1" );
    }

    void GprsReadSmsStore( String SmsStorePos ){
    Serial.print( "AT+CMGR=" );
    Serial.println( SmsStorePos );
    }

    // EN: Clear the GPRS shield message buffer
    void ClearGprsMsg(){
    msg = "";
    }

    // EN: interpret the GPRS shield message and act appropiately
    void ProcessGprsMsg() {
    if( msg.indexOf( "Call Ready" ) >= 0 ){
    // Serial.println( "*** GPRS Shield registered on Mobile Network ***" );
    GprsTextModeSMS();
    }

    // EN: unsolicited message received when getting a SMS message
    if( msg.indexOf( "+CMTI" ) >= 0 ){
    // Serial.println( "*** SMS Received ***" );
    // EN: Look for the coma in the full message (+CMTI: "SM",6)
    // In the sample, the SMS is stored at position 6
    int iPos = msg.indexOf( "," );
    String SmsStorePos = msg.substring( iPos+1 );
    // Serial.print( "SMS stored at " );
    // Serial.println( SmsStorePos );
    // EN: Ask to read the SMS store
    GprsReadSmsStore( SmsStorePos );
    }

    // EN: SMS store readed through UART (result of GprsReadSmsStore request)
    if( msg.indexOf( "+CMGR:" ) >= 0 ){
    // EN: Next message will contains the BODY of SMS
    SmsContentFlag = 1;
    // EN: Following lines are essentiel to not clear the flag!
    ClearGprsMsg();
    return;
    }

    // EN: +CMGR message just before indicate that the following GRPS Shield message
    // (this message) will contains the SMS body
    if( SmsContentFlag == 1 ){
    // Serial.println( "*** SMS MESSAGE CONTENT ***" );
    // Serial.println( msg );
    // Serial.println( "*** END OF SMS MESSAGE ***" );
    ProcessSms( msg );
    }

    ClearGprsMsg();
    // EN: Always clear the flag
    SmsContentFlag = 0;
    }

    0 Not allowed! Not allowed!

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

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από andreasmon Εμφάνιση μηνυμάτων
    Έχω και εγώ module gsm/gprs με το SIM 900A 1800/1900 MHZ και δουλεύει μια χαρά. Το΄χω να στέλνει μηνύματα σε περίπτωση συναγερμού σε 2 αριθμούς κινητών.Αλλά το έχω δοκιμάσει κιόλας , αν μπορεί να κάνει κλήσεις σε αριθμούς μόλις του δώσω εντολή και λειτούργησε μια χαρά.Ολα αυτά μέσω arduino.

    Αλλά για να δουλέψει το κάθε module πρέπει να σου δώσει ο πωλητής ή να ψάξεις εσύ στο σά-ιτ του κατασκευαστή να βρεις τις κατάλληλες βιβλιοθήκες.Μ
    odule gsm/gprs υπάρχουν πάρα πολλά,αλλά δεν είναι συμβατά,το καθένα θέλει την δική του βιβλιοθήκη και μπορεί να έχει και ξεχωριστό πιν αουτ!!!Χωρίς αυτά δεν πρόκειται ποτέ να δουλέψει....Και εγώ στην αρχή αυτό έπαθα,μέχρι να μου δώσει ο πωλητής την κατάλληλη βιβλιοθήκη.

    Οπότε όταν δεν σας δουλεύουν ξεκινήστε πρώτα από το σχηματικό για να δείτε το πιν-άουτ και βρείτε την δική του βιβλιοθήκη,όπως είπε πολύ σωστά και παραπάνω ο Μάνος.
    Ευχαριστώ πολύ για την απάντηση και τον χρόνο σου.

    0 Not allowed! Not allowed!

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

    Προεπιλογή

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

    #include<LiquidCrystal.h>
    LiquidCrystal lcd(6,7,8,9,10,11);

    #define Fan 3
    #define Light 4
    #define TV 5

    int temp=0,i=0;
    int led=13;

    char str[15];
    void setup()
    {
    lcd.begin(16,2);
    Serial.begin(9600);
    pinMode(led, OUTPUT);
    pinMode(Fan, OUTPUT);
    pinMode(Light, OUTPUT);
    pinMode(TV, OUTPUT);

    lcd.setCursor(0,0);
    lcd.print("GSM Control Home");
    lcd.setCursor(0,1);
    lcd.print(" Automaton ");
    delay(2000);
    lcd.clear();
    lcd.print("Circuit Digest");
    delay(1000);
    lcd.setCursor(0,1);
    lcd.print("System Ready");
    Serial.println("AT+CNMI=2,2,0,0,0");
    delay(500);
    Serial.println("AT+CMGF=1");
    delay(1000);
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print("Fan Light TV ");
    lcd.setCursor(0,1);
    lcd.print("OFF OFF OFF ");
    }

    void loop()
    {
    lcd.setCursor(0,0);
    lcd.print("Fan Light TV");
    if(temp==1)
    {
    check();
    temp=0;
    i=0;
    delay(1000);
    }
    }

    void serialEvent()
    {
    while(Serial.available())
    {
    if(Serial.find("#A."))
    {
    digitalWrite(led, HIGH);
    delay(1000);
    digitalWrite(led, LOW);
    while (Serial.available())
    {
    char inChar=Serial.read();
    str[i++]=inChar;
    if(inChar=='*')
    {
    temp=1;
    return;
    }
    }
    }
    }
    }

    void check()
    {
    if(!(strncmp(str,"tv on",5)))
    {
    digitalWrite(TV, HIGH);
    lcd.setCursor(13,1);
    lcd.print("ON ");
    delay(200);
    }

    else if(!(strncmp(str,"tv off",6)))
    {
    digitalWrite(TV, LOW);
    lcd.setCursor(13,1);
    lcd.print("OFF ");
    delay(200);
    }

    else if(!(strncmp(str,"fan on",5)))
    {
    digitalWrite(Fan, HIGH);
    lcd.setCursor(0,1);
    lcd.print("ON ");
    delay(200);
    }

    else if(!(strncmp(str,"fan off",7)))
    {
    digitalWrite(Fan, LOW);
    lcd.setCursor(0,1);
    lcd.print("OFF ");
    delay(200);
    }

    else if(!(strncmp(str,"light on",))
    {
    digitalWrite(Light, HIGH);
    lcd.setCursor(7,1);
    lcd.print("ON ");
    delay(200);
    }

    else if(!(strncmp(str,"light off",9)))
    {
    digitalWrite(Light, LOW);
    lcd.setCursor(7,1);
    lcd.print("OFF ");
    delay(200);
    }

    else if(!(strncmp(str,"all on",6)))
    {
    digitalWrite(Light, HIGH);
    digitalWrite(Fan, HIGH);
    digitalWrite(TV, HIGH);
    lcd.setCursor(0,1);
    lcd.print("ON ON ON ");
    delay(200);
    }

    else if(!(strncmp(str,"all off",7)))
    {
    digitalWrite(Light, LOW);
    digitalWrite(Fan, LOW);
    digitalWrite(TV, LOW);
    lcd.setCursor(0,1);
    lcd.print("OFF OFF OFF ");
    delay(200);
    }
    }

    GSM-Based-Home-Automation-System-circuit-diagram.gif

    0 Not allowed! Not allowed!

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

    Προεπιλογή

    Και κάτι ακόμα που θέλω να ρωτήσω,σε κάποιες βιβλιοθήκες αναφέρει να συνδέσω σε δύο pins του arduino το
    power pin key και το power status key,ποια pins είναι αυτά που αντιστοιχούν στο gsm module?

    0 Not allowed! Not allowed!

  9. #9
    Μέλος
    Όνομα
    Aνδρέας
    Εγγραφή
    Jan 2010
    Περιοχή
    Πάτρα
    Μηνύματα
    833

    Προεπιλογή

    ρίξε μια ματιά εδώ http://www.ayomaonline.com/programmi...-with-arduino/ λέει ότι θέλει μέγιστη τάση 4,4 βολτ!

    και εδώ το ίδιο αναφέρει https://github.com/stephaneAG/SIM800L

    δοκίμασε ένα παράδειγμα από αυτά που αναφέρει στο πρώτο λινκ ,για να δεις καταρχήν ότι δουλεύει..

    0 Not allowed! Not allowed!

  10. #10
    Μέλος Το avatar του χρήστη SProg
    Όνομα
    Σάββας
    Εγγραφή
    Mar 2014
    Περιοχή
    Θεσσαλονίκη
    Μηνύματα
    2.612

    Προεπιλογή

    Πως εχετε συνδεσει τα Rx/Tx λαθος;

    Παράθεση Αρχικό μήνυμα από SavKok Εμφάνιση μηνυμάτων
    Προσφατα σε ενα project με μΕ,μου εκανε εντυπωση που επρεπε να συνδεσω καπως 'παραξενα' τον μΕ μου με το GSM Shield.Τι εννοω παραξενα:

    Tx-Tx
    Rx-Rx



    Υπεθεσα οτι δεν ειναι καποιο τυπογραφικο λαθος πανω στο GSM αλλα κατι αλλο.Εψαξα/ρωτησα και ειδα οτι το GSM Shield οπως και τα Modem,ειναι συσκευες DCE.

    0 Not allowed! Not allowed!

Σελίδα 1 από 5 1 2 3 ... ΤελευταίαΤελευταία

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

  1. arduino bug σε κωδικα...βοηθεια
    By gourtz in forum Μικροελεγκτές
    Απαντήσεις: 2
    Τελευταίο Μήνυμα: 09-02-17, 15:11
  2. ΒΟΗΘΕΙΑ ΜΕ ΤΟΝ ΚΩΔΙΚΑ ΧΡΟΝΟΥ ARDUINO
    By keap in forum Μικροελεγκτές
    Απαντήσεις: 32
    Τελευταίο Μήνυμα: 13-11-15, 17:46
  3. βοηθεια με κωδικα arduino
    By krithisg in forum Μικροελεγκτές
    Απαντήσεις: 4
    Τελευταίο Μήνυμα: 10-03-15, 13:20

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

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