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

Θέμα: βοηθεια σε κωδικα

  1. #31
    Μέλος Το avatar του χρήστη stinger
    Όνομα
    Σπυρος
    Εγγραφή
    Dec 2010
    Περιοχή
    ανδραβιδα
    Μηνύματα
    1.372

    Προεπιλογή

    '#include "DHT.h"
    #include "HX711.h"
    #include <OneWire.h>
    #include <LowPower.h>
    #include <SoftwareSerial.h>
    #define SigQ_Len 30
    SoftwareSerial mySerial(7, ; // RX, TX


    int incoming_byte_counter = 0;
    int i = 0;
    char temp;
    char SigQ[SigQ_Len

    [I]= {0};
    float therm;
    float maza;
    float humid;
    int send_times =1;




    // ************** hx711
    // HX711.DOUT - pin #A4
    // HX711.PD_SCK - pin #A3


    HX711 scale(A2, A3); // parameter "gain" is ommited; the default value 128 is used by the library
    void setuphx711() {
    // Start up the library
    // zero factor from SparkFun_HX711_Calibration by sarahalmutlaq
    //long zero_factor = scale.read_average(); //Get a baseline reading
    long zero_factor = 150000;
    scale.set_scale(19.44); // this value is obtained by calibrating the scale with known weights; see the README for details
    //scale.tare(); // reset the scale to 0
    scale.set_offset(zero_factor); //Zero out the scale using a previously known zero_factor for a permanent weight on the scale
    }


    void readhx711(){
    Serial.println("*********** HX711 *********");
    //Serial.print("one reading:\t");
    //Serial.print(scale.get_units(), 1); //not needed anymore


    maza= scale.get_units(10), 1;
    Serial.print(" maza in void :\t");
    Serial.println(maza);




    Serial.print("\t| average in void readhx711:\t");
    Serial.println(scale.get_units(10), 1);
    // print the average of 10 readings from the ADC minus tare weight divided by the SCALE parameter




    scale.power_down(); // put the ADC in sleep mode
    delay(1000);

    }


    // ************** DHT11


    #define DHTPIN 6 // what pin we're connected to


    // Uncomment whatever type you're using!
    #define DHTTYPE DHT11 // DHT 11


    // Initialize DHT sensor for normal 16mhz Arduino
    DHT dht(DHTPIN, DHTTYPE);


    void setupdht11() {
    dht.begin();
    }


    void readdht11() {
    Serial.println("*********** DHT11 *********");
    // Reading temperature or humidity takes about 250 milliseconds!
    // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
    float h = dht.readHumidity();
    float t = dht.readTemperature();

    // Check if any reads failed and exit early (to try again).
    if (isnan(h) || isnan(t)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
    }


    humid=h;
    therm=t;


    Serial.print("Humin void is ");
    Serial.print(humid);
    Serial.print(" %\t");


    Serial.print("Humidity: ");
    Serial.print(h);
    Serial.print(" %\t");

    }


    void readSignal(){

    mySerial.println("AT+CSQ");
    delay(500);
    while(mySerial.available()!=0 && incoming_byte_counter < (SigQ_Len-2))
    {
    temp=mySerial.read();
    Serial.write(temp);
    if((temp >= '0' && temp <= '9') || (temp == '.') || (temp == ',')) {
    SigQ[i++] = temp;
    SigQ= 0x00;
    }
    incoming_byte_counter++;
    }
    SigQ[SigQ_Len-1]= 0x00; /* Secure is NULL terminated */
    }




    //Main Code


    int wait=1;
    void setup(void)
    mySerial.begin(115200); // Setting the baud rate of GSM Module
    Serial.begin(115200); // Setting the baud rate of Serial Monitor (Arduino)
    delay(500);

    setuphx711();
    delay(500);
    setupdht11();
    delay(500);

    }

    void loop(void) {

    while(send_times==1){
    // do the while only 1 time when send_times=1

    Serial.print(" wait = ");
    Serial.println(wait);
    if(wait>=3){

    scale.power_up();
    delay(500);
    readhx711();

    Serial.print("maza in main is ");
    Serial.println(maza);

    delay(500);
    readdht11();

    Serial.print("humid in main is ");
    Serial.println(humid);

    Serial.print("temp is ");
    Serial.println(therm);


    readSignal();
    delay(500);
    Serial.print("signal = ");
    Serial.print(SigQ);

    sendMessage();

    //-----------------------------

    wait=1;
    send_times++;
    }

    delay(1000);//delay
    LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF);
    wait++;
    delay(500);


    }
    delay(10000);
    }




    void sendMessage(){
    Serial.println("AT+CMGF=1"); //Sets the GSM Module in Text Mode
    delay(1000); // Delay of 1000 milli seconds or 1 second
    Serial.println("AT+CMGS="+306983xxxx"\r"); // Replace x with mobile number
    delay(1000);
    mySerial.println("AT+CMGF=1");
    delay(1000);
    mySerial.println("AT+CMGS="+306983xxxx"\r"); // Replace x with mobile number
    delay(1000);
    mySerial.print("zigizei ");// The SMS text you want to send
    mySerial.print(maza);
    mySerial.print(" grammaria ");
    mySerial.print(", hum=");
    mySerial.print(humid );
    mySerial.print(" % ");
    mySerial.print(" ,temp=");
    mySerial.print(therm);
    mySerial.print(" Signal=");
    mySerial.print(SigQ);
    mySerial.println((char)26);// ASCII code of CTRL+Z
    delay(1000);
    mySerial.println();// Give module time to send SMS
    delay(5000);
    Serial.println("\nto minima stalthike!\n");
    delay(2000);
    mySerial.println("AT+CMGD=4");//Delete all messages including unread messages
    delay(1000);
    Serial.println("AT+CMGD=4");//Delete all messages including unread messages
    Serial.println("ALL MESSAGE DELETED");
    }.
    παιδια λιγο την βοηθεια σας διοτι εχω απογοητευτει...οταν τρεχω αυτον τον κωδικα απο τον υπολογιστη μου συνδεδεμενο με καλωδιο με το arduino ολες οι τιμες τυπωνονται κανονικα στο μυνημα που μου ερχεται...
    οταν ομως δινω ρευμα στο συστημα μεσω χρονοδιακοπτη απο μπαταρια τοτε τυπωνονται ολες οι τιμες στο μυνημα εκτος απο το σημα του gsm....δηλαδη στην τιμη signal = (εδω δεν παιρνει τιμη ειναι κενο)....τι μπορει να φταιει???οποιος μπορει ας βοηθησει..ευχαριστω

    0 Not allowed! Not allowed!

  2. #32
    Μέλος Το avatar του χρήστη Prithan
    Όνομα
    Θάνος
    Εγγραφή
    Mar 2012
    Περιοχή
    Θεσσαλονίκη
    Μηνύματα
    273

    Προεπιλογή

    Σπύρο, τα responses του μόντεμ μετά τις εντολές που δίνεις, δεν τα λαμβάνεις υπόψιν?

    Γιατί βλέπω ένα delay μετά από κάθε AT cmd που δίνεις.

    Θα δυσκολευτείς να φτιάξεις κάτι αξιόπιστο με αυτόν τον τρόπο.

    1 Not allowed! Not allowed!

  3. #33
    Μέλος Το avatar του χρήστη stinger
    Όνομα
    Σπυρος
    Εγγραφή
    Dec 2010
    Περιοχή
    ανδραβιδα
    Μηνύματα
    1.372

    Προεπιλογή

    το κυριο προβλημα μου ειναι οτι οταν εκτελειται ο κωδικας εχοντας βαλει καλωδιο και serial monitor ολες οι μετρησεις ερχονται κανονικα στο μυνημα....
    οταν ομως δινω τροφοδοσια στο συστημα μεσω εξωτερικης πηγης και χωρις να ειναι συνδεδεμενος υπολογιστης τοτε τυπωνονται ολες οι μετρησεις εκτος του gsm σηματος που παιρνω κενο...αυτο δεν μπορω να το λυσω οτι αλλαγη κι αν εχω κανει...θα δοκιμασω και τα delay στο μοντεμ

    0 Not allowed! Not allowed!

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

    Προεπιλογή

    Καθε φορά που ανοιγεις το Serial Monitor, o Arduino κανει Reset (χωρίς να κάνει και το module).


    1. εχεις θέμα τροφοδοσίας
    2. όταν τροφοδοτείς μεσω εξωτερικής πηγής τοτε για κάποιο λογο η σειριακή διαβάζει 'σκουπίδια' ή διαβαζει καποιο default μήνυμα που στέλνει το module σου κατά το start-up


    Οπότε πες μας πως τροφοδοτείς και δοκίμασε να κανεις και κάπως clear την σειριακή πριν στειλεις το ΑΤ+CSQ, για παράδειγμα:

    Κώδικας:
    void readSignal(){
    while(mySerial.available() != 0) { Serial.read(); }
    mySerial.println("AT+CSQ");

    0 Not allowed! Not allowed!
    Τελευταία επεξεργασία από το χρήστη SProg : 05-09-21 στις 19:22

  5. #35
    Μέλος Το avatar του χρήστη stinger
    Όνομα
    Σπυρος
    Εγγραφή
    Dec 2010
    Περιοχή
    ανδραβιδα
    Μηνύματα
    1.372

    Προεπιλογή

    καλησπερα σε ολους...απο μπαταρια 12v μεσω χρονοδιακοπτη στελνω το ρευμα σε ενα 7805 και απο εκει τροφοδοτουνται παραλληλα ολα τα συστηματα ... arduino - dht11- hx711-modem ...το προγραμμα στην αρχη κανει ενα delay για να δωθει χρονος στο modem να συντονιστει..
    θα δοκιμασω τις λυσεις που προτεινατε και επανερχομαι

    0 Not allowed! Not allowed!

  6. #36
    Μέλος Το avatar του χρήστη Prithan
    Όνομα
    Θάνος
    Εγγραφή
    Mar 2012
    Περιοχή
    Θεσσαλονίκη
    Μηνύματα
    273

    Προεπιλογή

    Σπύρο, ποιο μοντεμ χρησιμοποιείς και από που το τροφοδοτείς?

    0 Not allowed! Not allowed!

  7. #37
    Μέλος Το avatar του χρήστη stinger
    Όνομα
    Σπυρος
    Εγγραφή
    Dec 2010
    Περιοχή
    ανδραβιδα
    Μηνύματα
    1.372

    Προεπιλογή

    https://www.hellasdigital.gr/electro...-with-antenna/

    χρησιμοποιω το Α6 gsm με πολυ καλα αποτελεσματα μεχρι τωρα....του εχω συνδεσει εξωτερικη κεραια για καλυτερη ληψη σηματος ...εχει μικρη καταναλωση και δουλευει ακομα και οταν τροφοδοτειται και απο το arduino...

    εγω το μοντεμ το τροφοδοτω μεσω ενος 7805 regulator οπως επισης και ολα τα αλλα περιφερειακα....ενας χρονοδιακοπτης τροφοδοτει για 2 λεπτα το συστημα ωστε να παρει μετρησεις και να τις στειλει το gsm

    0 Not allowed! Not allowed!

  8. #38
    Μέλος Το avatar του χρήστη Prithan
    Όνομα
    Θάνος
    Εγγραφή
    Mar 2012
    Περιοχή
    Θεσσαλονίκη
    Μηνύματα
    273

    Προεπιλογή

    Δεν μπόρεσα να βρω πληροφορίες για το μοντεμ που δουλεύεις. Από εκείνα που έχω χρησιμοποιήσει θέλουν στιγμιαία 2Α. Το 7805 που δουλεύεις δεν μπορεί να τα δώσει. Όταν βάζεις το καλώδιο για το serial monitor χρησιμοποιείς και την τροφοδοσία από το USB?

    0 Not allowed! Not allowed!

  9. #39
    Μέλος Το avatar του χρήστη stinger
    Όνομα
    Σπυρος
    Εγγραφή
    Dec 2010
    Περιοχή
    ανδραβιδα
    Μηνύματα
    1.372

    Προεπιλογή

    το μοντεμ λειτουργει ακομα και με το καλωδιο συνδεδεμενο στον υπολογιστη χωρις εξωτερικη πηγη τροφοδοσιας-εχω κανει πολλες δοκιμες..
    το 7805 μπορει να δωσει μεχρι 1.5Α ...
    οταν δουλευω την serial monitor χρησιμοποιω μονο το usb και τροφοδοτω το gsm απο το arduino σε δοκιμες που κανω και εδω παρατηρω οτι ολες οι τιμες τυπονωνται κανονικα ...
    οταν ομως δωσω ρευμα απο εξωτερικη πηγη χωρις υπαρξη υπολογιστη τοτε δεν εχω μονο το σημα..
    εχω δοκιμασει να τροφοδοτησω και ξεχωριστα το gsm μεσω ενος LM2596 αλλα ειχα τα ιδια αποτελεσματα.
    η μπαταρια που χρησιμοποιω ειναι 12v 7A οποτε δεν τιθεται θεμα εντασης..


    εχω πειραματιστει και με το sim900 και με το sim800L τα οποια οντως ηθελαν 2Α ρευμα ...

    αυτο που θελω να προσθεσω στον κωδικα μελλοντικα ειναι μια λειτουργια στην setup ωστε να ελεγχει αν λειτουργει το μοντεμ σωστα κι αν οχι μεσω μιας εξοδου του arduino να κανω reset το μοντεμ ..

    0 Not allowed! Not allowed!

  10. #40
    Μέλος
    Όνομα
    Νίκος
    Εγγραφή
    Feb 2014
    Περιοχή
    Μοσχάτο
    Μηνύματα
    612

    Προεπιλογή

    Δεν ξέρω ακριβώς την υλοποίηση της Software serial αλλά θα δοκίαμζα τα εξής:

    Α) για να επιβεβαιώσεις ότι δεν είναι θέμα επικοινωνίας του arduino με την GSM module δοκίμασε να αλλάξεις την σειρά εκτύπωσης. Δηλαδη βάλε το SigQ πριν πχ την θερμοκρασία.
    Β) μιας και η μοναδική διαφορά όλων των μεταβλητών που τυπώνεις, είναι ότι τ SigQ είναι char array θα δοκίμαζα να το μετατρέψω σε έναν ακέραιο και να στείλω αυτόν. Μπορεί να είναι θέμα υλοποίησης της SoftwareSerial Print και κάτι να μην δουλεύει καλά με char arrays...

    Edit: Μάλλον δεν κατάλαβα σωστά το πρόβλημα. Αν το USB είναι συνδεδεμένο, παίρνεις την ένδιεξη του SigQ ΚΑΙ στο SMS και στην σειριακή? Και όταν το καλώδιο ΔΕΝ είναι συνδεμένο τότε στο SMS δεν έχει το SigQ?

    0 Not allowed! Not allowed!
    Mastroxalastis / Μαστροχαλαστής
    https://www.youtube.com/channel/UCOWjSR-OOc-ZBCT61EX_lJg

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

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

  1. βοηθεια με κωδικα
    By stinger in forum Μικροελεγκτές
    Απαντήσεις: 22
    Τελευταίο Μήνυμα: 01-03-21, 20:49
  2. ΜΙΑ ΒΟΗΘΕΙΑ ΜΕ ΚΩΔΙΚΑ
    By staurosv in forum Μικροελεγκτές
    Απαντήσεις: 2
    Τελευταίο Μήνυμα: 30-10-17, 09:08
  3. Βοηθεια με κωδικα στο MPLAB
    By gns13 in forum Μικροελεγκτές
    Απαντήσεις: 7
    Τελευταίο Μήνυμα: 14-05-17, 21:35
  4. arduino bug σε κωδικα...βοηθεια
    By gourtz in forum Μικροελεγκτές
    Απαντήσεις: 2
    Τελευταίο Μήνυμα: 09-02-17, 15:11
  5. βοηθεια με κωδικα arduino
    By krithisg in forum Μικροελεγκτές
    Απαντήσεις: 4
    Τελευταίο Μήνυμα: 10-03-15, 13:20

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

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